Disclosure of Invention
In view of the above, embodiments of the present application provide a voting method, apparatus, system, server, and computer-readable storage medium, so as to solve the problem that the existing electronic voting is poor in security, stability, and concurrency.
A first aspect of an embodiment of the present application provides a voting method, including:
acquiring a voting instruction input by a user through a voting user node;
transmitting corresponding votes to voting pool nodes according to the voting instructions by a revocable intelligent contract and a pre-established first voting channel through a pre-generated sequence due, wherein the first voting channel is a channel between at least one voting user node and the voting pool nodes;
transmitting the votes in the voting pool node to corresponding candidate nodes through a pre-generated hash time locking intelligent contract and a pre-established second voting channel, wherein the second voting channel is a channel between the voting pool node and the at least one candidate node;
counting the number of votes of each candidate node to obtain a voting result, and transmitting the voting result to a block link point so as to store and broadcast the voting result;
wherein the voting user nodes, the voting pool nodes and the candidate nodes are all nodes in a lightning network.
With reference to the first aspect, in a possible implementation manner, before acquiring the voting instruction input by the user through the voting user node, the method further includes:
obtaining a voting initiation instruction;
distributing the votes to the users according to a preset voting rule according to the voting initiation instruction;
establishing the candidate node according to a preset voting option;
establishing the voting pool node, and establishing the first voting channel between the voting user node and the voting pool node and the second voting channel between the voting pool node and at least one of the candidate nodes.
With reference to the first aspect, in a possible implementation manner, before the obtaining the voting initiation instruction, the method further includes:
acquiring voting qualification auditing information of the user;
judging whether the user has the voting qualification or not according to the voting qualification auditing information;
and when the user is qualified for voting, allocating voting authority to the user.
With reference to the first aspect, in a possible implementation manner, after the counting the number of votes for each candidate node to obtain a voting result, and transmitting the voting result to a block link point, the method further includes:
obtaining a voting result query instruction;
and searching a corresponding target voting result from the block chain node according to the voting result query instruction, and displaying the target voting result.
With reference to the first aspect, in a possible implementation manner, after the displaying the goal voting result, the method further includes:
obtaining a source tracing request;
generating a tracing key corresponding to the target voting result according to the tracing request;
and presenting the tracing key to a tracing user so that the tracing user obtains the target voting result from the block link node through the tracing key.
A second aspect of an embodiment of the present application provides a voting device, including:
the voting instruction acquisition module is used for acquiring a voting instruction input by a user through a voting user node;
a first transmission module, configured to transmit a corresponding vote to a voting pool node according to the voting instruction by using a pre-generated sequence expiration revocable smart contract and a pre-established first voting channel, where the first voting channel is a channel between at least one voting user node and the voting pool node;
a second transmission module, configured to transmit the votes in the voting pool node to corresponding candidate nodes through a pre-generated hash time locking intelligent contract and a pre-established second voting channel, where the second voting channel is a channel between the voting pool node and the at least one candidate node;
the counting module is used for counting the number of votes of each candidate node to obtain a voting result, and transmitting the voting result to the block link point so as to store and broadcast the voting result;
wherein the voting user nodes, the voting pool nodes and the candidate nodes are all nodes in a lightning network.
With reference to the second aspect, in one possible implementation manner, the method further includes:
a voting initiation instruction acquisition module for acquiring a voting initiation instruction;
a vote distribution module for distributing the votes to the users according to a preset voting rule according to the voting initiation instruction;
the first establishing module is used for establishing the candidate node according to a preset voting option;
a second establishing module, configured to establish the voting pool node, and establish the first voting channel between the voting user node and the voting pool node, and the second voting channel between the voting pool node and at least one candidate node.
With reference to the second aspect, in one possible implementation manner, the method further includes:
the auditing information acquisition module is used for acquiring voting qualification auditing information of the user;
the judging module is used for judging whether the user has the voting qualification or not according to the voting qualification auditing information;
and the permission distribution module is used for distributing the voting permission to the user when the user has the voting qualification.
With reference to the second aspect, in one possible implementation manner, the method further includes:
the query instruction acquisition module is used for acquiring a voting result query instruction;
and the query module is used for searching the corresponding target voting result from the block chain node according to the voting result query instruction and displaying the target voting result.
With reference to the second aspect, in one possible implementation manner, the method further includes:
the request acquisition module is used for acquiring a source tracing request;
the key generation module is used for generating a traceability key corresponding to the target voting result according to the traceability request;
and the source tracing module is used for presenting the source tracing key to a source tracing user so that the source tracing user can acquire the target voting result from the block chain link point through the source tracing key.
A third aspect of an embodiment of the present application provides a voting system, including a lightning network and a blockchain network, where the blockchain network includes at least one blockchain node, and the lightning network includes a server, a voting user node, a voting pool node, and a candidate node; at least one of the voting user nodes is connected with the voting pool node through a first voting channel, and the voting pool node is connected with the at least one candidate node through a second voting channel;
the server is used for acquiring a voting instruction input by a user through the voting user node; transmitting corresponding votes to the voting pool nodes according to the voting instructions through a revocable intelligent contract and the first voting channel when a pre-generated sequence expires; transmitting the votes in the voting pool nodes to the corresponding candidate nodes through a pre-generated hash time locking intelligent contract and the second voting channel; and counting the number of votes of each candidate node to obtain a voting result, and transmitting the voting result to the block chain nodes so as to store and broadcast the voting result by the block chain nodes.
A fourth aspect of embodiments of the present application provides a server comprising a memory, a processor and a computer program stored in the memory and executable on the processor, the processor implementing the steps of the voting method according to any one of the first aspect when executing the computer program.
A fifth aspect of embodiments of the present application provides a computer-readable storage medium, in which a computer program is stored, which, when executed by a processor, implements the steps of the voting method according to any one of the first aspects.
Compared with the prior art, the embodiment of the application has the advantages that:
according to the embodiment of the application, the voting result is uploaded to the distinguishing chain node, and the credibility of the voting result and the safety of electronic voting are improved by utilizing the characteristics of decentralization, difficulty in tampering and the like of the block chain. In addition, the lightning network and the block chain are organically combined, the voting process is realized by using each node of the lightning network and an intelligent contract, the high concurrency of the voting process is ensured, and the stability under the high concurrency is improved.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the present application. It will be apparent, however, to one skilled in the art that the present application may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail.
In order to explain the technical solution described in the present application, the following description will be given by way of specific examples.
Example one
Referring to fig. 1, a schematic block diagram of an architecture of a voting system provided for the embodiment of the present application includes a lightning network 11 and a blockchain network 12, where the blockchain network includes at least one blockchain node 121, and the lightning network includes a server 111, a voting user node 112, a voting pool node 113, and a candidate node 114; the at least one voting user node is connected with the voting pool node through a first voting channel, and the voting pool node is connected with the at least one candidate node through a second voting channel.
The server is used for acquiring a voting instruction input by a user through the voting user node; transmitting the corresponding votes to the voting pool nodes according to the voting instructions through the revocable intelligent contract and the first voting channel when the pre-generated sequence expires; the votes in the voting pool nodes are transmitted to corresponding candidate nodes through a pre-generated Hash time locking intelligent contract and a second voting channel; and counting the number of votes of each candidate node to obtain a voting result, and transmitting the voting result to the block link point so as to store and broadcast the voting result by the block link point.
It should be noted that the above voting user node refers to a terminal of the voting user, where the terminal may be a mobile phone, a tablet, and the like, and a corresponding application program (for example, an applet on the mobile phone) is installed on the terminal to implement a corresponding function of the user voting. Each user corresponds to a voting user node, and the users are connected with the voting system through terminals such as mobile phones.
The candidate node refers to a node corresponding to a candidate or a candidate, and each candidate or candidate corresponds to one candidate node, that is, how many candidate options are, how many candidate nodes are. For example, when there are 4 candidates, there are 4 candidate nodes.
Each voting user node is connected with a voting pool node through a first voting channel, and the relation between the voting user nodes and the voting pool is a many-to-one relation, namely a plurality of voting user nodes correspond to one voting pool node. And the relationship between the voting pool node and the candidate node is a one-to-many relationship, i.e. one voting pool node corresponds to a plurality of candidate nodes. In this way, the first voting channel and the second voting channel are all connected with the voting pool node, the consistency of the voting channels can be kept, and the voting can be cast to a plurality of candidate persons or candidate items through the one-to-many relationship between the voting pool node and the second voting channel.
The server is a management background of the voting system and runs a background service control program to realize the management of the voting system. The server is communicatively connected to the various nodes within the lightning network.
The voting system can be applied to various voting scenes, and is not limited herein. For example, in a cell election scene, if 3 candidates exist, 3 candidate nodes are set, residents in a cell enter a voting system through a small program on a mobile phone to vote, a server casts votes to a voting pool through a first voting channel according to voting instructions of the residents, then casts the votes to corresponding candidate nodes through a second voting channel, and after voting is finished, the number of the votes of each candidate node is counted to obtain a voting result. For another example, in a scenario where a certain fund is determined to be used, if the fund has 3 candidate uses, 3 candidate nodes are established. Relevant personnel enter a voting system for voting through terminals such as a mobile phone, and the server correspondingly casts votes to candidate nodes according to a voting instruction.
The lightning network contains a Sequence expired revocable intelligent Contract (RSMC) and a hash time locked intelligent Contract (HTLC). The high concurrency of the lightning network can meet the requirement of high concurrency of voting in a short time, and the stability of the high concurrency of voting and the reliability of voting results are improved by organically combining the lightning network and the block chain.
After the system architecture provided by the present embodiment and the application scenarios that may be involved are described, the voting business process will be described from the server side.
Example two
Referring to fig. 2, a schematic flow chart of a voting method provided in an embodiment of the present application is shown, where the voting method may include the following steps:
step S201, a voting instruction input by the user through the voting user node is acquired.
Specifically, after the voting user performs voting operation through the voting user node, the voting user node generates a voting instruction containing certain information according to the interaction operation of the user, and the voting user node transmits the voting instruction to the background server.
The voting instruction may include voting object information, vote quantity information, and the like of the user, that is, the background server may know which candidate or candidate the user cast the vote to, and the number of votes according to the voting instruction.
It will be appreciated that each user has a number of votes which the voting system has previously allocated to the user in accordance with the voting rules, and that the number of allocated votes may be one, two or some other number.
Step S202, a revocable intelligent contract and a first voting channel which is established in advance are expired through a sequence which is generated in advance, and corresponding votes are transmitted to voting pool nodes according to voting instructions, wherein the first voting channel is a channel between at least one voting user node and the voting pool nodes.
Step S203, the votes in the voting pool nodes are transmitted to corresponding candidate nodes through a pre-generated Hash time locking intelligent contract and a pre-established second voting channel, and the second voting channel is a channel between the voting pool nodes and at least one candidate node.
It should be noted that the RSMC smart contract and the HTLC smart contract described above are smart contracts included in a lightning network, and the smart contracts are generated in advance. The intelligent contract can allow a voting channel to be established between the voting user node and the voting pool through the RSMC, so that votes in the voting user node can be conveniently transferred to the voting pool. And a voting channel can be established between the voting user node and the candidate node through the HTLC intelligent contract, wherein the voting channel is realized indirectly and is realized through the first voting channel and the second voting channel.
Specifically, when a user initiates a voting selection through a voting user node, the corresponding votes are cast to a voting pool node, and then the voting pool node casts the corresponding votes to the corresponding candidate options, so as to complete a complete voting process.
Through the lightning network, the RSMC intelligent contract and the HTLC intelligent contract, the whole voting process can be carried out in the lightning network without chaining and block chain broadcasting, and high concurrency of the voting process is guaranteed.
It will be appreciated that the number of votes on the voting user node may be considered a token of the electronic money system, and the process of voting votes into the voting pool node, the candidate node, may be considered a transaction process for the token.
Step S204, counting the number of votes of each candidate node to obtain a voting result, and transmitting the voting result to the block chain node point so as to store and broadcast the voting result. The voting user nodes, the voting pool nodes and the candidate nodes are all nodes in the lightning network.
After the voting is finished, the vote data of each candidate node is the number of votes obtained by the corresponding candidate or candidate, so that the voting result of the current voting can be obtained by counting the number of votes on each node. After the voting results are obtained, the voting structure can be synchronized to a network node in the blockchain network, and the blockchain node stores the voting results and broadcasts in the blockchain network.
Therefore, by uploading the voting result to the distinguishing chain node, the reliability of the voting result and the safety of electronic voting are improved by utilizing the characteristics of decentralization, difficult tampering and the like of the block chain. In addition, the lightning network and the block chain are organically combined, the voting process is realized by using each node of the lightning network and an intelligent contract, the high concurrency of the voting process is ensured, and the stability under the high concurrency is improved.
EXAMPLE III
Referring to fig. 3, there is provided another schematic flow chart of a voting method according to an embodiment of the present application, where the voting method includes the following steps:
and step S301, obtaining voting qualification auditing information of the user.
It should be noted that the voting qualification audit information refers to information for auditing whether a user qualifies for a vote. The information may include personal information as well as other necessary information. The voting qualification auditing information contains different specific information under different application scenes. For example, in a cell election scenario, the voting qualification audit information includes address information, personal information, housing real estate information, and the like, and whether the user is in a corresponding cell is determined according to the address information and the housing real estate information, and if the user is a resident in the cell, the user is qualified for voting, otherwise, the user is not qualified for voting.
Step S302, judging whether the user has the voting qualification or not according to the voting qualification auditing information. When the user qualifies for a vote, the process proceeds to step S303. Otherwise, when the user does not have the voting qualification, the user is not allocated with the voting authority.
And step S303, allocating voting authority to the user.
And step S304, acquiring a voting initiation instruction.
Specifically, the administrator of the voting system may initiate voting in the voting system after setting relevant parameters such as corresponding voting time and voting range according to an application scenario and a voting rule.
And step S305, distributing votes to each user according to a preset voting rule according to the voting initiation instruction.
It will be appreciated that after the voting has been initiated, the voting system will allocate a certain number of votes to each user. The number of votes allocated is determined by the predetermined voting rule. For example, when it is preset that each user has only one vote, one vote is assigned to each user, and when it is set that each user has three votes, three votes are assigned to each user.
And step S306, establishing candidate nodes according to the preset voting options.
It is to be understood that the preset voting options refer to candidates or candidate items, and that several voting options establish several candidate nodes, where each voting option corresponds to one candidate node.
Step S307, a voting pool node is established, and a first voting channel between the voting user node and the voting pool node and a second voting channel between the voting pool node and at least one candidate node are established.
And step S308, acquiring a voting instruction input by the user through the voting user node.
And step S309, transmitting the corresponding votes to the voting pool nodes according to the voting instructions through the revocable intelligent contract and the first voting channel when the sequence expires.
And S310, transmitting the votes in the voting pool nodes to corresponding candidate nodes through the Hash time locking intelligent contract and the second voting channel.
Step S311, counting the number of votes of each candidate node to obtain a voting result, and transmitting the voting result to the block link point, so that the block link point stores and broadcasts the voting result.
Steps S308 to S311 are the same as steps S201 to S204 in the above embodiments, and for specific description, reference is made to the above corresponding contents, which are not described herein again.
And step S312, obtaining a voting result query instruction.
And step S313, searching a corresponding target voting result from the block chain node according to the voting result query instruction, and displaying the target voting result.
After the voting result is obtained, the user can check the voting result in a mobile phone applet mode and the like. And after the user inputs corresponding query information, the background server searches a corresponding target voting result from the block chain node according to the query information, and presents the target voting result to the user through a user terminal interface.
Of course, after the voting is finished, the voting result can be actively shown. Specifically, the voting result can be pushed to the mobile phone end of the user, so that each voting user can know the result of the current voting.
After the user knows the voting result, if the voting result is doubtful, the tracing operation can be carried out. In some embodiments, referring to the flowchart of the tracing process shown in fig. 4, after the displaying the target voting result, the method may further include:
and S401, obtaining a source tracing request.
And step S402, generating a tracing key corresponding to the target voting result according to the tracing request.
And step S403, presenting the tracing key to the tracing user so that the tracing user can obtain the target voting result from the block chain link point through the tracing key.
Specifically, the user may input the tracing request through a tracing button on the display interface. After receiving the tracing request, the background server generates a tracing key corresponding to the target voting result, and the user can autonomously find a desired voting result from the block chain through the tracing key to verify the credibility of the voting result.
It can be seen that, in the embodiment, the voting process is realized based on the lightning network and the block chain network, so that the reliability of the voting result is improved, the high concurrency of the voting process is ensured, and the stability under the high concurrency is improved.
It should be understood that, the sequence numbers of the steps in the foregoing embodiments do not imply an execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
Example four
Referring to fig. 5, a schematic block diagram of a voting apparatus provided in an embodiment of the present application is shown, where the apparatus may include:
a voting instruction obtaining module 51, configured to obtain a voting instruction input by a user through a voting user node;
a first transmission module 52, configured to transmit a corresponding vote to a voting pool node according to a voting instruction by using a pre-generated sequence expiration revocable smart contract and a pre-established first voting channel, where the first voting channel is a channel between at least one voting user node and the voting pool node;
a second transmission module 53, configured to transmit votes in the voting pool node to corresponding candidate nodes through a pre-generated hash time locking intelligent contract and a pre-established second voting channel, where the second voting channel is a channel between the voting pool node and at least one candidate node;
the counting module 54 is configured to count the number of votes for each candidate node to obtain a voting result, and transmit the voting result to the block link point, so that the block link point stores and broadcasts the voting result;
the voting user nodes, the voting pool nodes and the candidate nodes are all nodes in the lightning network.
In a possible implementation, the apparatus further includes:
a voting initiation instruction acquisition module for acquiring a voting initiation instruction;
the vote distribution module is used for distributing votes to all users according to a voting initiation instruction and a preset voting rule;
the first establishing module is used for establishing candidate nodes according to preset voting options;
and the second establishing module is used for establishing the voting pool node, and establishing a first voting channel between the voting user node and the voting pool node and a second voting channel between the voting pool node and at least one candidate node.
In a possible implementation, the apparatus further includes:
the auditing information acquisition module is used for acquiring voting qualification auditing information of the user;
the judging module is used for judging whether the user has the voting qualification or not according to the voting qualification auditing information;
and the permission allocation module is used for allocating the voting permission to the user when the user has the voting qualification.
In a possible implementation, the apparatus further includes:
the query instruction acquisition module is used for acquiring a voting result query instruction;
and the query module is used for searching the corresponding target voting result from the block chain node according to the voting result query instruction and displaying the target voting result.
In a possible implementation, the apparatus further includes:
the request acquisition module is used for acquiring a source tracing request;
the key generation module is used for generating a traceability key corresponding to the target voting result according to the traceability request;
and the source tracing module is used for presenting the source tracing key to the source tracing user so that the source tracing user can acquire the target voting result from the block chain link point through the source tracing key.
It should be noted that the voting apparatus of the present embodiment corresponds to the voting methods in the above embodiments one to one, and for specific description, reference is made to the above corresponding contents, which is not described herein again.
In the embodiment, the device uploads the voting result to the distinguishing chain node, and improves the reliability of the voting result and the safety of electronic voting by utilizing the characteristics of decentralization, difficult tampering and the like of the block chain. In addition, the lightning network and the block chain are organically combined, the voting process is realized by using each node of the lightning network and an intelligent contract, the high concurrency of the voting process is ensured, and the stability under the high concurrency is improved.
EXAMPLE five
Fig. 6 is a schematic diagram of a server according to an embodiment of the present application. As shown in fig. 6, the server 6 of this embodiment includes: a processor 60, a memory 61 and a computer program 62 stored in said memory 61 and executable on said processor 60. The processor 60, when executing the computer program 62, implements the steps in the various voting method embodiments described above, such as the steps S201 to S204 shown in fig. 2. Alternatively, the processor 60, when executing the computer program 62, implements the functions of the modules or units in the above-described device embodiments, such as the functions of the modules 51 to 54 shown in fig. 5.
Illustratively, the computer program 62 may be divided into one or more modules or units, which are stored in the memory 61 and executed by the processor 60 to accomplish the present application. The one or more modules or units may be a series of computer program instruction segments capable of performing specific functions, which are used to describe the execution of the computer program 62 in the server 6. For example, the computer program 62 may be divided into a voting instruction obtaining module, a first transmission module, a second transmission module, and a statistic module, and each module has the following specific functions:
the voting instruction acquisition module is used for acquiring a voting instruction input by a user through a voting user node; the system comprises a first transmission module, a second transmission module and a third transmission module, wherein the first transmission module is used for transmitting corresponding votes to voting pool nodes according to voting instructions through a revocable intelligent contract generated by a pre-generated sequence due and a pre-established first voting channel, and the first voting channel is a channel between at least one voting user node and the voting pool nodes; the second transmission module is used for transmitting votes in the voting pool nodes to corresponding candidate nodes through a pre-generated Hash time locking intelligent contract and a pre-established second voting channel, and the second voting channel is a channel between the voting pool nodes and at least one candidate node; the counting module is used for counting the vote number of each candidate node to obtain a voting result, and transmitting the voting result to the block chain link points so as to store and broadcast the voting result; the voting user nodes, the voting pool nodes and the candidate nodes are all nodes in the lightning network.
The server may include, but is not limited to, a processor 60, a memory 61. Those skilled in the art will appreciate that fig. 6 is merely an example of a server 6 and does not constitute a limitation of the server 6, and may include more or fewer components than shown, or some components in combination, or different components, e.g., the server may also include input output devices, network access devices, buses, etc.
The Processor 60 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic, discrete hardware components, etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 61 may be an internal storage unit of the server 6, such as a hard disk or a memory of the server 6. The memory 61 may also be an external storage device of the server 6, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card) and the like provided on the server 6. Further, the memory 61 may also include both an internal storage unit of the server 6 and an external storage device. The memory 61 is used for storing the computer program and other programs and data required by the server. The memory 61 may also be used to temporarily store data that has been output or is to be output.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-mentioned division of the functional units and modules is illustrated, and in practical applications, the above-mentioned function distribution may be performed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-mentioned functions. Each functional unit and module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working processes of the units and modules in the system may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus, server and method may be implemented in other ways. For example, the above-described apparatus and server embodiments are merely illustrative, and for example, the division of the modules or units is only one logical division, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated modules or units, if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable storage medium. Based on such understanding, all or part of the flow in the method of the embodiments described above can be realized by a computer program, which can be stored in a computer-readable storage medium and can realize the steps of the embodiments of the methods described above when the computer program is executed by a processor. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, usb disk, removable hard disk, magnetic disk, optical disk, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), electrical carrier wave signals, telecommunications signals, software distribution medium, and the like. It should be noted that the computer readable medium may contain content that is subject to appropriate increase or decrease as required by legislation and patent practice in jurisdictions, for example, in some jurisdictions, computer readable media does not include electrical carrier signals and telecommunications signals as is required by legislation and patent practice.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present application and are intended to be included within the scope of the present application.