Disclosure of Invention
In view of this, the embodiments of the present disclosure provide a method, a system, and an apparatus for supervising funds in an intermediate account, which are used for monitoring the situation that the inflow funds and the outflow funds do not correspond in the execution process of the funds transfer service in the prior art.
The embodiment of the specification adopts the following technical scheme:
the embodiment of the specification provides a method for supervising funds of an intermediate account, which comprises the following steps:
a balance calculation step, namely obtaining intermediate account information and to-be-checked accounting detail change data corresponding to a funds transfer service, and calculating service balance of the funds transfer service according to the intermediate account information and the to-be-checked accounting detail change data, wherein the service balance is the balance of the funds transfer service under a corresponding intermediate account after the current funds change operation of the funds transfer service is executed;
checking, namely checking the service balance, wherein when the service balance is smaller than 0, the checking fails, and when the service balance is larger than or equal to 0, the checking succeeds.
In an embodiment of the present disclosure, the functional modules for performing the balance calculation step and the verification step are independent of each other.
In an embodiment of the present specification, in the collation step:
When the funds transfer business initiates funds change operation aiming at the intermediate account, confirming the funds transfer business corresponding to the funds change, and checking the business balance of the funds transfer business corresponding to the funds change operation.
In an embodiment of the present disclosure, the method further includes a data output step, wherein:
in the data output step, when a funds transfer service initiates funds change operation for an intermediate account, intermediate account information corresponding to the funds transfer service and accounting detail change data to be checked are actively output;
in the balance calculation step, the intermediate account information and the to-be-checked accounting detail change data are received.
In one embodiment of the present description:
in the data output step, a service identifier corresponding to the funds transfer service is generated, and when the funds transfer service initiates funds change operation for the intermediate account, the intermediate account information, the to-be-checked account detail change data and the corresponding service identifier are actively output.
In an embodiment of the present disclosure, the functional module that performs the data output step is independent of the functional module that performs the balance calculation step and the collation step.
In an embodiment of the present disclosure, the method further includes a service execution step, where the service execution step includes:
when the funds transfer service initiates funds change operation for the intermediate account, submitting the funds transfer service is not carried out when the auditing result of the corresponding checking step is not confirmed;
when the checking step fails to check, not submitting the corresponding funds transfer service, and rolling back the corresponding funds transfer service;
and submitting the corresponding funds transfer service when the checking is successful.
In an embodiment of the present disclosure, the functional module that performs the service execution step is independent of the functional module that performs the balance calculation step and the verification step.
The embodiment of the specification also provides a system for supervising the funds of the intermediate account, which comprises the following steps:
the balance calculation module is used for acquiring intermediate account information and to-be-checked account detail change data corresponding to the funds transfer service, calculating the service balance of the funds transfer service according to the intermediate account information and the to-be-checked account detail change data, wherein the service balance is the balance of the funds transfer service under the corresponding intermediate account after the current funds change operation of the funds transfer service is executed;
And the checking module is used for checking the service balance, if the service balance is smaller than 0, the checking is failed, and if the service balance is larger than or equal to 0, the checking is successful.
In an embodiment of the present disclosure, the system further includes:
and the data output module is used for actively outputting the intermediate account information corresponding to the funds transfer service and the accounting detail change data to be checked to the balance calculation module when the funds transfer service initiates funds change operation for the intermediate account.
In an embodiment of the present disclosure, the data output module includes a service identifier generating unit, where:
the service identifier generating unit is used for generating a service identifier corresponding to the fund transfer service;
and the data output module is used for actively outputting the intermediate account information, the to-be-checked account detail change data and the corresponding service identifier to the balance calculation module when the funds transfer service initiates funds change operation for the intermediate account.
In an embodiment of the present disclosure, the system further includes a service execution module, where the service execution module includes:
a service suspension unit for preventing submission of the funds transfer service when the audit result of the audit module is not confirmed when the funds transfer service initiates funds change operation for the intermediate account;
The business fusing unit is used for not submitting the corresponding funds transfer business and rolling back the corresponding funds transfer business when the checking module fails to check;
and the service submitting unit is used for submitting the corresponding funds transfer service when the checking module checks successfully.
The present description also provides an apparatus for information processing at a user equipment side, the apparatus comprising a memory for storing computer program instructions and a processor for executing the program instructions, wherein the computer program instructions, when executed by the processor, trigger the apparatus to perform the method described by the system according to the embodiments of the present description.
The above-mentioned at least one technical scheme that this description embodiment adopted can reach following beneficial effect: according to the method of the embodiment of the specification, the occurrence of the execution error in the executing process of the fund transfer service can be monitored, so that effective support is provided for correcting the error and/or remedying the error result; compared with the prior art, the method can greatly reduce the cost caused by the execution error in the executing process of the fund transfer business.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the technical solutions of the present application will be clearly and completely described below with reference to specific embodiments of the present application and corresponding drawings. It will be apparent that the described embodiments are only some, but not all, embodiments of the application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
In the existing transaction system, execution errors in the funds transfer process are mainly transfer errors, such as transfer time node errors, transfer number errors, transfer sequencing errors, and the like. For each fund transfer service of the intermediate account, if the accumulated amount flowing out of the intermediate account is larger than the accumulated amount flowing into the intermediate account, a fund loss is generated, and the fund is opened. In the practical application scene, if the loss of the funds cannot be prevented in time, the funds are opened continuously, so that the whole funds transfer service is thoroughly destroyed. In particular, in the prior art, a transfer account typically performs multiple fund transfer services simultaneously. The loss of a single funds transfer service tends to extend to all funds transfer services under the intermediate account, thereby creating a significant funds exposure.
In view of the above problems, embodiments of the present disclosure provide a method for supervising funds in an intermediate account. To address the method of the embodiments of the present specification, the inventors first analyze the application scenario of the prior art.
In the practical application scene, the reasons for the execution errors in the fund transfer process are numerous, if the execution errors are avoided, each error reason needs to be traversed and a targeted solution is made, so that the difficulty for avoiding the execution errors is increased, and the execution difficulty of the solution is improved. However, when an execution error occurs in the process of transferring funds, one of the causes of serious damage is that the execution error cannot be found immediately, which makes it impossible to correct the execution error timely and effectively, and thus the cost is increased or the cost is increased after the cost is generated due to the fact that the cost is not timely remedied. Therefore, in an embodiment of the present disclosure, in order to reduce the cost as much as possible, it is necessary to find the execution error in time when the execution error occurs in the process of transferring funds, so as to make effective correction or remedy in time.
Since the reasons for the execution errors in the fund transfer process are numerous, if the occurrence of all types of execution errors is monitored, each error reason needs to be traversed and a plurality of targeted monitoring schemes are made, which increases the construction difficulty and the execution difficulty of the monitoring schemes. Therefore, in order to facilitate monitoring of the occurrence of execution errors, in one embodiment of the present disclosure, the consequences of execution errors are counted. Since execution errors in the funds transfer process are primarily transfer errors, transfer errors ultimately have consequences for the transfer account as a mismatch of funds inflow and funds outflow. Therefore, only one set of supervision schemes is constructed, the intermediate transfer user is supervised, whether the inflow funds and the outflow funds are matched or not is monitored, and if the inflow funds and the outflow funds are not matched, execution errors are indicated.
Further, in an actual application scenario, a plurality of different funds transfer services are often performed simultaneously by one intermediate account, when transfer errors occur in the plurality of funds transfer services, funds complementation may be formed between the different funds transfer services, and thus, the situation that the inflow funds and the outflow funds are not matched may not be reflected for the whole intermediate account. In this case, in the embodiment of the present disclosure, in the case of monitoring the funds of the intermediate account, not the inflow funds and the outflow funds of the entire intermediate account are monitored, but the funds inflow and the funds outflow of each funds transfer service under the account are monitored separately.
Furthermore, in an actual application scenario, one fund transfer service may include a plurality of fund flows and a fund inflow operation, and in addition, one intermediate account may perform a plurality of different fund transfer services at the same time, which makes the fund inflow/outflow of the intermediate account very frequent, and if each fund inflow/outflow is monitored in a targeted manner, a huge amount of data processing resources are consumed. However, the final purpose of supervision of the funds inflow/outflow is to determine whether the funds inflow and the funds outflow match, in particular, in a practical scenario, it is mainly confirmed whether the funds outflow is larger than the funds inflow, and the situation that the funds inflow is larger than the funds outflow does not cause any loss of funds. Thus, in the present embodiment, the regulatory object of the funds regulation for the intermediate account is the end result of the funds inflow and funds outflow per funds transit service, i.e., the service balance (funds inflow-funds outflow). If the service balance is less than 0, an execution error is indicated.
According to the method of the embodiment of the specification, the occurrence of the execution error in the executing process of the fund transfer service can be monitored, so that effective support is provided for correcting the error and/or remedying the error result; compared with the prior art, the method can greatly reduce the cost caused by the execution error in the executing process of the fund transfer business.
The following describes in detail the technical solutions provided by the embodiments of the present specification with reference to the accompanying drawings.
In one embodiment of the present disclosure, as shown in fig. 1, the method includes:
a balance calculation step (S110) of obtaining intermediate account information and to-be-checked accounting detail change data corresponding to the funds transfer service (S111), and calculating the service balance of the funds transfer service according to the intermediate account information and to-be-checked accounting detail change data (S112), wherein the service balance is the balance of the funds transfer service under the corresponding intermediate account after the current funds change operation of the funds transfer service is executed;
checking (S120), checking the service balance (S121, judging whether the service balance is less than 0), if the service balance is less than 0, checking (S122), and if the service balance is more than or equal to 0, checking (S123) successfully.
Thus, the subsequent operation can be performed according to the auditing result. For example, in an embodiment of the present disclosure, when the audit is successful, it is determined that there is no execution error, and the subsequent operations are continued to be performed; when the audit fails, an execution error is determined to occur, the execution error is searched and corresponding correction and/or remedy is made.
Specifically, in an embodiment of the present disclosure, when the funds transfer service initiates the funds transfer operation for the intermediate account, the balance calculation step is immediately performed, so as to ensure that the final calculation result (service balance) is completely matched with the execution progress of the current funds transfer service.
Further, in an embodiment of the present disclosure, in the balance calculating step, the following formula is used to calculate the service balance.
Y n =Y n-1 +I-O,(1)
Y=Y n-1 +I 1 +I 2 +…+I n -O 1 -O 2 -…-O n 。(2)
In formula 1, Y n And (3) taking the balance baseline of the nth day of the funds transfer service as a balance baseline, wherein I is the total inflow amount of the nth day of the funds transfer service, and O is the total outflow amount of the nth day of the funds transfer service.
In formula 2, Y n-1 For the balance baseline of the n-1 day of the funds transfer service, I a Inflow of funds for nth day, O of funds transfer service b And (3) paying out funds on the nth day of the funds transfer service, wherein Y is the service balance after the nth time of the funds inflow of the a-th or the b-th funds outflow of the funds transfer service.
Further, in an embodiment of the present disclosure, in order to reduce system resource consumption, in the checking step, no uninterrupted audit is performed on the service balance. Specifically, in one embodiment, when the funds transfer service initiates the funds transfer operation for the intermediate account, the funds transfer service corresponding to the funds transfer operation is confirmed, and the service balance of the funds transfer service corresponding to the funds transfer operation is checked.
As shown in fig. 2, in an embodiment of the present specification, in the collation step:
s210, judging whether a funds transfer service initiates funds change operation for the intermediate account;
if not, returning to the step S210, and continuing monitoring;
if so, S220, determining a funds transfer service that initiates a funds change operation for the intermediate account;
s230, checking the service balance of the funds transfer service determined in the step S220, and checking whether the service balance is smaller than 0.
Further, in an embodiment of the present disclosure, in order to improve security, the functional modules that perform the balance calculation step and the verification step are independent of each other. Namely, the functional module executing the balance calculation step is only responsible for calculating the service balance, and does not further judge and check the specific value of the service balance. The functional module executing the checking step is not responsible for balance calculation, but only for obtaining a final balance calculation result and checking the balance calculation result. In this way, the functional module for executing the balance calculation step is kept isolated from the outside, and the functional module for executing the checking step does not involve the acquisition of intermediate account information and accounting detail change data to be checked and balance calculation. Even if an error occurs in the functional module performing the checking step, it is unlikely that the operation of the functional module performing the balance calculating step is disturbed. The third party can only acquire the auditing result or further acquire the service balance through the functional module for executing the checking step, and the calculation result of the service balance is not possibly influenced, and the intermediate account information and the accounting detail change data to be audited are not possibly acquired.
Specifically, in an embodiment of the present disclosure, two hardware systems that can be independently operated are used to respectively construct the functional modules that perform the balance calculation step and the verification step.
In the description of the embodiment of the present specification, the independence of the functional modules that perform the balance calculation step and the verification step means that the running processes of the two modules are independent of each other. Including but not limited to, a solution in which two independently operating hardware systems are used to construct two functional modules, respectively. In the embodiment of the present specification, the balance calculation step and the verification step may be performed by using two independent hardware systems, respectively, according to actual needs, the two hardware systems not performing other operations; or respectively constructing functional modules for executing the balance calculation step and the checking step in two independent hardware systems, wherein the two hardware systems simultaneously execute other operations; alternatively, the balance calculation step or the collation step is performed using a separate hardware system that does not perform other operations, and a functional module that performs the collation step or the balance calculation step is constructed in another separate hardware system that performs other operations at the same time; or two functional modules are constructed in an independent hardware system, the balance calculation step and the check step are respectively executed, the two functional modules are independent, and the operation cannot be interfered with each other.
Further, in an embodiment of the present disclosure, in order to ensure data security and relative independence of the functional modules that perform the balance calculation step, the intermediate account information and the accounting detail change data to be checked are not actively acquired in the balance calculation step. Specifically, in an embodiment of the present disclosure, the method further includes a data output step, where:
in the data output step, when the funds transfer service initiates funds change operation for the intermediate account, the intermediate account information corresponding to the funds transfer service and the accounting detail change data to be checked are actively output;
in the balance calculation step, intermediate account information and accounting detail change data to be checked are received.
Therefore, the functional module for executing the balance calculation step does not need to have an interface for actively accessing the intermediate account information and the accounting detail change data to be checked, and only needs to have a data receiving interface. The method not only can ensure the independence of the function modules for executing the balance calculation step and ensure the data security, but also can ensure that when the funds transfer service initiates the funds change operation aiming at the intermediate account, the corresponding intermediate account information and the accounting detail change data to be checked can enter the balance calculation link at the first time, so that the data omission is avoided.
Further, in the embodiment of the present disclosure, the balance calculation corresponds to a single funds transfer service, which requires confirmation of each funds inflow and funds outflow corresponding to the funds transfer service. However, due to the numerous funds transfer services, the information flow and the funds flow are complicated, and the association relationship of service dimensions is often lost in the upstream and downstream data, that is, the funds transfer service corresponding to the current funds inflow/outflow cannot be confirmed.
In view of the above, in an embodiment of the present disclosure, in the balance calculation step and/or the verification step, the business ID may be obtained by splicing and converting the relevant fields of the intermediate account information and the accounting detail change data, but in many cases, this relationship may be lost. Thus, further, in one embodiment of the present disclosure, a method of service identification of a preemptive funds transfer service is employed.
Specifically, in an embodiment of the present disclosure, in the data output step, a service identifier corresponding to the funds transfer service is generated, and when the funds transfer service initiates a funds change operation for the intermediate account, the intermediate account information, the accounting detail change data to be checked, and the corresponding service identifier are actively output.
Further, in an embodiment of the present disclosure, the function module performing the data output step is independent of the function module performing the balance calculation step and the verification step for improving security. That is, the functional module performing the data output step is not responsible for calculating the service balance, nor making further decision checks on the specific value of the service balance. Thus, the calculation of the service balance and the relative independence of verification can be ensured.
Here, in the description of the embodiment of the present specification, the function module that performs the data output step is independent of the function module that performs the balance calculation step and the collation step. Including, but not limited to, performing the data output step using a separately running hardware system that does not perform the balance calculation step and the verification step. In the embodiment of the present specification, the data output step may be performed by using a hardware system that runs independently according to actual needs, and the hardware system does not perform the balance calculation step and the verification step but may simultaneously implement other functional operations; alternatively, the function module for executing the data output step may be constructed in a hardware system for executing the balance calculation step or the collation step, so long as it is ensured that the function module for executing the data output step is independent of the function module for executing the balance calculation step and the collation step.
Specifically, in an embodiment of the present disclosure, three hardware systems capable of operating independently are used to construct functional modules for performing the data output step, the balance calculation step, and the verification step, respectively.
Specifically, as shown in fig. 3, in an embodiment of the present disclosure, the business system 301, the finance system 302, and the reconciliation system 303 are 3 independent hardware systems, wherein:
when the funds transfer service initiates funds change operation for the intermediate account, the service system 301 executes step S310 to actively output the intermediate account information, the accounting detail change data to be checked and the corresponding service identifier; the accounting system 302 receives the intermediate account information, the accounting detail change data to be checked and the corresponding service identification (S321), and calculates the service balance (S322); the collation system 303 collates whether or not the service balance is less than 0 (S330).
Further, in some practical application scenarios, the execution of the funds transfer service adopts a service submission-funds transfer mode, that is, before funds transfer is performed, the funds transfer execution module is firstly submitted with the corresponding funds transfer service, and then the funds transfer execution module performs the corresponding funds transfer operation. That is, if an execution error occurs during the funds-transfer operation, the result is likely to be a problem with the funds-transfer operation submitted to the funds-transfer execution module. If the problematic funds transfer service is prevented from being submitted to the funds transfer performing module, then the wrong funds transfer operation will not be performed and no loss of funds will occur.
Therefore, in an embodiment of the present disclosure, in order to reduce as much as possible the resource loss caused by the occurrence of the execution error in the process of transferring the funds, the method further includes a service execution step, where the service execution step includes:
when the funds transfer service initiates funds change operation for the intermediate account, submitting the funds transfer service is not carried out when the auditing result of the corresponding checking step is not confirmed;
when the checking step fails, not submitting the corresponding funds transfer service, and rolling back the corresponding funds transfer service;
and submitting the corresponding funds transfer service when the checking in the checking step is successful.
Specifically, in an embodiment of the present disclosure, rolling back the corresponding funds transfer service refers to rolling back the progress status of the funds transfer service to the status before initiating the funds change operation for the intermediate account, redefining the funds change operation to be initiated and redefining the funds change operation for the intermediate account.
Specifically, as shown in fig. 4, in an embodiment of the present specification:
s410, judging whether the funds transfer service initiates funds change operation for the intermediate account;
if not, returning to the step S410 to continue monitoring;
If yes, S420, judging whether an audit result of the checking step is received;
if not, returning to the step S420, and waiting for feedback of the auditing step;
if yes, S430, analyzing the auditing result of the checking step;
if the auditing result is that the auditing is successful, S440, submitting the corresponding funds transfer service;
if the auditing result is that the auditing fails, S450 does not submit the corresponding funds transfer service, and rolls back the corresponding funds transfer service.
Further, in an embodiment of the present disclosure, in order to improve security, the functional module performing the service execution step is independent of the functional module performing the balance calculation step and the verification step. That is, the functional module that performs the service execution step is not responsible for calculating the service balance, nor making further decision checks on the specific value of the service balance. Thus, the calculation of the service balance and the relative independence of verification can be ensured.
Here, in the description of the embodiment of the present specification, the functional module that performs the service execution step is independent of the functional module that performs the balance calculation step and the collation step. Including but not limited to, performing the business execution step using a separately running hardware system that does not perform the balance calculation step and the verification step. In the embodiment of the present specification, the service execution step may be performed by using an independently operating hardware system according to actual needs, where the hardware system does not perform the balance calculation step and the verification step, but may simultaneously implement other functional operations; alternatively, the function module for executing the service execution step may be constructed in a hardware system for executing the balance calculation step or the collation step, so long as it is ensured that the function module for executing the service execution step is independent of the function modules for executing the balance calculation step and the collation step.
Specifically, in an embodiment of the present disclosure, three hardware systems capable of running independently are used to respectively construct a functional module for executing the service execution step, the balance calculation step, and the verification step.
Further, in an embodiment of the present disclosure, the data output step and the service execution step are configured and executed in the same hardware system.
Specifically, as shown in fig. 5, in an embodiment of the present disclosure, the business system 501, the finance system 502 and the verification system 503 are 3 independent hardware systems, wherein:
when the funds transfer service initiates funds change operation for the intermediate account, the service system 501 executes step S510 to actively output the intermediate account information, the accounting detail change data to be checked and the corresponding service identifier; the financial system 502 receives the intermediate account information, the pending accounting detail change data and the corresponding service identification (S521), calculates a service balance (S522); checking system 503 checks whether the service balance is less than 0 and feeds back the checking result to service system 501 (S530); the business system 501 does not submit the funds transfer business until receiving the audit result of the audit system 503; if the auditing result fed back by the auditing system 503 is that the auditing is successful, the business system 500 performs submission of the funds transfer business (S541); if the audit result fed back by the audit system 503 is audit failure, the service system 500 rolls back the funds transfer service (S542).
Further, based on the method of the embodiment of the specification, the embodiment of the specification also provides an intermediate account fund supervision system. Specifically, as shown in fig. 6, in an embodiment of the present disclosure, the system includes:
the balance calculation module 610 is configured to obtain intermediate account information and to-be-checked accounting detail change data corresponding to the funds transfer service, calculate a service balance of the funds transfer service according to the intermediate account information and to-be-checked accounting detail change data, where the service balance is a balance of the funds transfer service under the corresponding intermediate account after the current funds change operation of the funds transfer service is performed;
and a verification module 620, configured to verify the balance of the service, wherein the verification fails when the balance of the service is less than 0, and the verification succeeds when the balance of the service is greater than or equal to 0.
Further, as shown in fig. 7, in an embodiment of the present disclosure, the system further includes:
and a data output module 730, configured to, when the funds transfer service initiates a funds change operation for the intermediate account, actively output the intermediate account information corresponding to the funds transfer service and the pending accounting detail change data to the balance calculation module 710.
Further, as shown in fig. 8, in an embodiment of the present disclosure, the data output module 830 includes a service identifier generating unit 831, where:
The service identifier generating unit 831 is configured to generate a service identifier corresponding to a funds transfer service;
the data output module 830 is configured to actively output, when the funds transfer service initiates a funds change operation for the intermediate account, the intermediate account information, the to-be-checked accounting detail change data and the corresponding service identifier to the balance calculation module 810.
Further, as shown in fig. 9, in an embodiment of the present disclosure, the system further includes a service execution module 940, where the service execution module 940 is configured to:
when the funds transfer service initiates funds change operation for the intermediate account, the funds transfer service is prevented from being submitted when the auditing result of the checking module is not confirmed;
when the checking module fails to check, the corresponding funds transfer service is not submitted, and the corresponding funds transfer service is rolled back;
and submitting the corresponding funds transfer service when the verification module is successful in verification.
Further, in an embodiment of the present disclosure, the business system, the financial system, and the collation system are three independent hardware systems, a data output module and a business execution module are constructed in the business system, a balance calculation module is constructed in the financial system, and a collation module is constructed in the collation system.
Further, based on the method of the present invention, the present invention also proposes an apparatus for information processing at a user equipment side, the apparatus comprising a memory for storing computer program instructions and a processor for executing the program instructions, wherein the computer program instructions, when executed by the processor, trigger the apparatus to perform the method of the present invention.
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 the same piece or pieces of software and/or hardware when implementing 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 invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the 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.
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 variations of the present application will be apparent to those skilled in the art. Any modification, equivalent replacement, improvement, etc. which come within the spirit and principles of the application are to be included in the scope of the claims of the present application.