Identity verification method, device and electronic device

By finding and feedbacking the authentication results in the cache and writing unverified information to the queue to be verified for batch verification, the loss of authentication information and low efficiency caused by database flow restrictions in high concurrency scenarios is solved, and the user experience and data reliability are improved.

CN113792271BActive Publication Date: 2025-04-15BEIJING JINGDONG TUOXIAN TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110164641.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-02-05
Publication Date
2025-04-15
Estimated Expiration
2041-02-05

AI Technical Summary

Technical Problem

In the scenario of high traffic concurrency, database flow restriction leads to the loss of authentication information, low authentication efficiency, and poor user experience.

Method used

By looking for the verification results of the authentication information submitted by the user in the cache, if it exists, it will be fed back to the user; if it does not exist, the information is written to the queue to be verified, and the database verification is submitted in batches according to the preset period, and the verification results are stored in the cache and fed back to the user.

Benefits of technology

It effectively improves the feedback efficiency of verification results of identity verification information, avoids failure and loss of information submission, and improves the efficiency of authentication processing, data reliability and user experience in high-concurrency scenarios in large traffic.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113792271B_ABST
    Figure CN113792271B_ABST
Patent Text Reader

Abstract

The present disclosure provides an identity authentication method, device and electronic device. The identity authentication method includes: obtaining the target identity authentication information of the user and searching for the verification result of the target identity authentication information in the cache; if the verification result is found in the cache, feeding back the verification result to the user; if the verification result is not found in the cache, writing the target identity authentication information into a target queue to be verified in multiple queues to be verified; submitting the identity authentication information in one of the queues to be verified to a preset database for verification according to a first preset period to obtain the verification result of each identity authentication information in the queue to be verified; storing each identity authentication information and its corresponding verification result in the cache and feeding back the verification result of the target identity authentication information to the user. The embodiments of the present disclosure can improve the identity authentication efficiency and user experience in high-traffic identity authentication scenarios.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0002] On the Internet platform, in order to verify the authenticity of the user's identity and provide corresponding services or benefits, the user's identity verification information must first be verified, such as the identity verification information provided by the Ministry of Public Security database, the poverty user verification provided by the Poverty Alleviation Office database, and the identity verification provided by the databases of various commercial companies. Databases that provide identity verification functions usually limit the flow of database callers to ensure database stability. The flow limit value is, for example, 1,000 times / minute. If the frequency of the database caller calling the database exceeds the flow limit value, the called database will usually stop responding, return error information, or even overload and crash.

[0003] For open Internet platforms, it is very likely that the submission frequency of identity authentication requirements in high-traffic scenarios will exceed the current limit, which may cause the application system to fail to obtain results and the user end to report an error. In related technologies, the method of dealing with database current limiting in high-traffic scenarios is mainly to stop responding to identity authentication requests, not call the database interface, and prompt the user to try again later when the identity authentication requests submitted by the user exceed the database current limit.

[0004] This method usually causes the authentication information submitted by the user to be lost when the response is rejected, requiring the user to fill in the authentication information again when submitting it again, or causing the user to wait a long time before successfully submitting the authentication request, which greatly affects the authentication request processing efficiency and user experience in high-concurrency scenarios.

[0005] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute the prior art known to ordinary technicians in the field. Summary of the invention

[0006] The purpose of the present disclosure is to provide an identity authentication method, device and electronic device, which are used to overcome, at least to a certain extent, the problems of identity authentication information loss, low identity authentication efficiency and poor user experience in high-traffic scenarios due to current limiting due to the limitations and defects of related technologies, improve the system response efficiency and data reliability of identity authentication in high-traffic and high-concurrency scenarios, and enhance user experience.

[0007] According to a first aspect of an embodiment of the present disclosure, an identity authentication method is provided, including: obtaining target identity authentication information of a user and searching a cache for a verification result of the target identity authentication information; if the verification result is found in the cache, feeding back the verification result to the user; if the verification result is not found in the cache, writing the target identity authentication information into a target queue to be verified among multiple queues to be verified; submitting the identity authentication information in one of the queues to be verified to a preset database for verification according to a first preset period to obtain a verification result for each of the identity authentication information in the queue to be verified; storing each of the identity authentication information and its corresponding verification result in the cache and feeding back the verification result of the target identity authentication information to the user.

[0008] In an exemplary embodiment of the present disclosure, if the verification result is not found in the cache, writing the target identity authentication information into a target queue to be verified in multiple queues to be verified includes: naming and sorting the queues to be verified according to the queue generation time and the generation order within the queue generation time, and the limited number of identity authentication information in each queue to be verified is the same, and the limited number is determined according to the current limit value of the preset database and the first preset period; judging whether the identity authentication information in the first queue to be verified reaches the limited number, the first queue to be verified is the queue to be verified whose generation time is closest to the current time and has the largest sequence number within its generation time; if not, setting the first queue to be verified as the target queue to be verified and adding the identity authentication information to the first queue to be verified; if yes, generating a second queue to be verified according to the current time and the number of queues to be verified that have been generated corresponding to the current time, setting the second queue to be verified as the target queue to be verified and adding the identity authentication information to the second queue to be verified.

[0009] In an exemplary embodiment of the present disclosure, it also includes: determining the waiting time of the target queue to be verified from being verified according to the ranking of the target queue to be verified in all queues to be verified and the first preset period; and feeding back the waiting time to the user.

[0010] In an exemplary embodiment of the present disclosure, the method further includes: acquiring the waiting time according to a second preset period and sending the waiting time to the user according to a preset communication method.

[0011] In an exemplary embodiment of the present disclosure, it also includes: determining the identity authentication information that failed verification based on the verification results in the cache; obtaining the data source identifier of the identity authentication information that failed verification; updating the verification failure information submission frequency corresponding to the data source identifier based on the generation time of the identity authentication information that failed verification; when the verification failure information submission frequency exceeds a preset value, banning the data source corresponding to the data source identifier.

[0012] In an exemplary embodiment of the present disclosure, the step of obtaining the target identity authentication information of the user and searching for the verification result of the target identity authentication information in the cache includes: if the identity identifier corresponding to the target identity authentication information exists in the cache, and the target identity authentication information is completely consistent with the identity authentication information corresponding to the identity identifier, obtaining the verification result of the identity authentication information corresponding to the identity identifier; if the identity identifier corresponding to the target identity authentication information exists in the cache, but the target identity authentication information is not completely consistent with the identity authentication information corresponding to the identity identifier, encrypting the target identity authentication information using the public key provided by the preset database, and using the encrypted target identity authentication information to update the identity authentication information corresponding to the identity identifier in the cache; if the identity identifier corresponding to the target identity authentication information does not exist in the cache, encrypting the target identity authentication information using the public key provided by the preset database, and storing the encrypted target identity authentication information and the identity identifier of the target identity authentication information in the cache.

[0013] In an exemplary embodiment of the present disclosure, it also includes: deleting the identity authentication information and its corresponding verification result that have been stored in the cache for more than a preset time period.

[0014] According to a second aspect of an embodiment of the present disclosure, an identity authentication device is provided, including: an identity authentication information acquisition module, configured to acquire target identity authentication information of a user and search a cache for a verification result of the target identity authentication information; a quick feedback module, configured to feedback the verification result to the user if the verification result is found in the cache; a verification information queuing module, configured to write the target identity authentication information into a target queue to be verified in multiple queues to be verified if the verification result is not found in the cache; a batch verification module, configured to submit the identity authentication information in one of the queues to be verified to a preset database for verification according to a first preset period, so as to obtain a verification result of each identity authentication information in the queue to be verified; a verification result processing module, configured to store each identity authentication information and its corresponding verification result in the cache and feedback the verification result of the target identity authentication information to the user.

[0015] According to a third aspect of the present disclosure, there is provided an electronic device, comprising: a memory; and a processor coupled to the memory, wherein the processor is configured to execute any one of the methods described above based on instructions stored in the memory.

[0016] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided, on which a program is stored, and when the program is executed by a processor, the identity authentication method as described in any one of the above items is implemented.

[0017] The disclosed embodiment can effectively improve the feedback efficiency of verification results of recently submitted identity authentication information by first searching the cache for the verification result corresponding to the identity authentication information submitted by the user; by writing the identity authentication information without corresponding verification results into the target queue to be verified, and performing batch verification on the identity authentication information in the queue to be verified, it can effectively avoid failure in submission of identity authentication information, and effectively avoid loss of the identity authentication information submitted by the user when the preset database cannot process it, so that the user can obtain the verification result later without submitting the identity authentication information multiple times in a high-traffic and high-concurrency scenario, thereby effectively improving the processing efficiency of identity authentication requests, data reliability and user experience.

[0018] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The accompanying drawings herein are incorporated into the specification and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification are used to explain the principles of the present disclosure. Obviously, the accompanying drawings described below are only some embodiments of the present disclosure, and for ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without creative work.

[0020] Figure 1 is a flow chart of an identity authentication method in an exemplary embodiment of the present disclosure.

[0021] Figure 2 is a flowchart of step S1 in one embodiment of the present disclosure.

[0022] Figure 3 It is a sub-flow chart of step S3 in one embodiment of the present disclosure.

[0023] Figure 4 It is another flow chart of the identity verification information verification process of steps S1 to S4 in the embodiment of the present disclosure.

[0024] Figure 5 It is a schematic diagram of the interactive process of the identity authentication information verification process in an application scenario of the present disclosure.

[0025] Figure 6 It is a flowchart of processing the verification result in one embodiment of the present disclosure.

[0026] Figure 7 It is a block diagram of an identity authentication device in an exemplary embodiment of the present disclosure.

[0027] Figure 8 is a block diagram of an electronic device in an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION

[0028] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as being limited to the examples set forth herein; on the contrary, these embodiments are provided so that the present disclosure will be more comprehensive and complete, and the concepts of the example embodiments are fully conveyed to those skilled in the art. The described features, structures, or characteristics may be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure may be practiced while omitting one or more of the specific details, or other methods, components, devices, steps, etc. may be adopted. In other cases, known technical solutions are not shown or described in detail to avoid obscuring various aspects of the present disclosure.

[0029] In addition, the accompanying drawings are only schematic diagrams of the present disclosure, and the same reference numerals in the drawings represent the same or similar parts, so their repeated description will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities, which do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software form, or implemented in one or more hardware modules or integrated circuits, or implemented in different networks and / or processor devices and / or microcontroller devices.

[0030] The exemplary embodiments of the present disclosure are described in detail below with reference to the accompanying drawings.

[0031] Figure 1 is a flow chart of an identity authentication method in an exemplary embodiment of the present disclosure.

[0032] refer to Figure 1 , the identity verification method 100 may include:

[0033] Step S1, obtaining the target identity authentication information of the user and searching the cache for the verification result of the target identity authentication information;

[0034] Step S2: if the verification result is found in the cache, feeding back the verification result to the user;

[0035] Step S3, if the verification result is not found in the cache, writing the target identity authentication information into a target queue to be verified in a plurality of queues to be verified;

[0036] Step S4, submitting the identity verification information in one of the to-be-verified queues to a preset database for verification according to a first preset period, so as to obtain a verification result of each of the identity verification information in the to-be-verified queue;

[0037] Step S5: storing each identity verification information and its corresponding verification result into the cache and feeding back the verification result of the target identity verification information to the user.

[0038] The disclosed embodiment can effectively improve the feedback efficiency of verification results of recently submitted identity authentication information by first searching the cache for the verification result corresponding to the identity authentication information submitted by the user; by writing the identity authentication information without corresponding verification results into the target queue to be verified, and performing batch verification on the identity authentication information in the queue to be verified, it can effectively avoid failure in submission of identity authentication information, and effectively avoid loss of the identity authentication information submitted by the user when the preset database cannot process it, so that the user can obtain the verification result later without submitting the identity authentication information multiple times in a high-traffic and high-concurrency scenario, thereby effectively improving the processing efficiency of identity authentication requests, data reliability and user experience.

[0039] Next, each step of the identity authentication method 100 is described in detail.

[0040] In step S1, target identity authentication information of a user is obtained and a verification result of the target identity authentication information is searched in a cache.

[0041] In the embodiments of the present disclosure, the target identity authentication information may be, for example, identity authentication information such as name, ID number, mobile phone number, or may also include user name, user password, user authority certificate, verification code, and the like. The type of target identity authentication information may be set according to the purpose of verification, and the present disclosure does not impose any special restrictions on this.

[0042] The disclosed embodiment stores verified identity authentication information and its corresponding verification results within a preset period of time (for example, one week or one day) in a cache, which can avoid users who have recently passed identity authentication from repeating the identity authentication process in a short period of time. While effectively improving the processing efficiency of identity authentication requests in high-traffic and high-concurrency scenarios, it can also reduce user waiting time and improve user experience.

[0043] In order to ensure that the user's identity authentication information and verification results stored in the cache are recent verification results, a timing (for example, every 24 hours) can be set to delete the identity authentication information and its corresponding verification results stored in the cache that exceed the preset time period, so as to ensure data validity at all times and maintain the available cache capacity.

[0044] In one embodiment, in order to improve the efficiency and orderliness of searching for verification results, the recent verification results of the target identity verification information in the cache may be determined by searching the cache for a unique identifier corresponding to the target identity verification information submitted by the user.

[0045] Figure 2 is a flowchart of step S1 in one embodiment of the present disclosure.

[0046] refer to Figure 2 In one embodiment, step S1 may include:

[0047] Step S11, obtaining target identity authentication information;

[0048] Step S12, determining whether the identity identifier corresponding to the target identity authentication information exists in the cache, if yes, proceeding to step S13, if no, proceeding to step S16;

[0049] Step S13, determining whether the target identity authentication information is completely consistent with the identity authentication information corresponding to the identity identifier, if yes, proceeding to step S14, if no, proceeding to step S15;

[0050] Step S14, obtaining a verification result of the identity authentication information corresponding to the identity identifier;

[0051] Step S15, encrypting the target identity authentication information using the public key provided by the preset database, and using the encrypted target identity authentication information to update the identity authentication information corresponding to the identity identifier in the cache;

[0052] Step S16, encrypting the target identity authentication information using the public key provided by the preset database, and storing the encrypted target identity authentication information and the identity identifier of the target identity authentication information into the cache.

[0053] exist Figure 2 In the illustrated embodiment, the identity identifier may be, for example, an identity card number, a user name, a user identifier (user ID), a mobile phone number, or the like, which is information that can identify a unique user, and the present disclosure does not impose any special restrictions on this.

[0054] The target identity authentication information can be encrypted using a public key provided by a preset database and then cached to improve information security. Prior to this, a preset digest algorithm can be used to generate an information digest for the target identity authentication information, and the information digest and the encrypted target identity authentication information are stored in the cache with the corresponding identity identifier as the primary key, so that when new target identity authentication information is obtained later, the stored identity authentication information corresponding to the same identity identifier in the cache can be compared to determine whether the new target identity authentication information is completely consistent.

[0055] Among them, the preset digest algorithm can be, for example, MD5 (Message Digest algorithm 5, message digest algorithm version 5) algorithm, SHA (Secure Hash Algorithm, secure hash algorithm), HMAC (Hash Message Authentication Code, hash hash message authentication code) algorithm, etc., but the present disclosure is not limited to this.

[0056] The above-mentioned preset database may be different according to the purpose of identity authentication, for example, it may be a database of the Ministry of Public Security, a database of the Poverty Alleviation Office, a database of various commercial companies, etc. In one embodiment, the preset database may provide a calling interface, which can be called to input identity authentication information. After the preset database verifies the identity authentication information, it returns the verification result (verification success or verification failure) as a return value to the caller. In other embodiments, the method of providing the identity authentication function of the preset database may also be different, and the present disclosure does not impose any special restrictions on this.

[0057] Figure 2 The illustrated embodiment can improve identity authentication efficiency and information security while improving identity authentication efficiency by performing processes such as searching, comparing, and encrypting target authentication information in a cache.

[0058] In step S2, if the verification result is found in the cache, the verification result is fed back to the user.

[0059] Regardless of whether the verification result is successful or failed, the verification result will be fed back to the user. If the verification result is successful, the verification result can be fed back to the user and the corresponding permissions for the identity authentication purpose can be opened to the user; if the verification result is failed, the verification result of failed verification can be directly returned, and the corresponding permissions for the identity authentication purpose can be denied to the user.

[0060] In step S3, if the verification result is not found in the cache, the target identity authentication information is written into a target queue to be verified among a plurality of queues to be verified.

[0061] In the disclosed embodiment, multiple queues to be verified can be maintained according to the current limit value of the preset database. For example, if the current limit value of the preset database is 1000 times / minute, multiple queues to be verified can be maintained according to one queue to be verified for every 1000 identity authentication information, and the multiple queues to be verified can be sorted according to the generation time of the queues to be verified. The queues to be verified can be stored in a cache, for example.

[0062] Figure 3 It is a sub-flow chart of step S3 in one embodiment of the present disclosure.

[0063] refer to Figure 3 In one embodiment, step S3 may include:

[0064] Step S31, naming and sorting the queues to be verified according to the queue generation time and the generation order within the queue generation time, and the limited number of identity authentication information in each queue to be verified is the same;

[0065] Step S32, determining whether the identity authentication information in the first queue to be verified has reached the limited number, the first queue to be verified being the queue whose generation time is closest to the current time and whose sequence number is the largest within its generation time, if not, proceeding to step S33, if yes, proceeding to step S34;

[0066] Step S33, setting the first queue to be verified as the target queue to be verified and adding the identity authentication information to the first queue to be verified;

[0067] Step S34, generating a second queue to be verified according to the current time and the number of queues to be verified that have been generated corresponding to the current time, setting the second queue to be verified as the target queue to be verified and adding the identity verification information to the second queue to be verified.

[0068] exist Figure 3 In the illustrated embodiment, the identity authentication information in the cache is divided into queues according to the current limiting value of the preset database. For example, if the current limiting value is 1000 times / minute, every 1000 pieces of identity authentication information are intercepted and divided into one queue, and only one queue to be verified is called to perform identity authentication on the preset database interface every minute, thereby ensuring that the identity authentication information submitted by the user will not be lost even if it cannot be processed immediately, and will be processed in subsequent processes, thereby avoiding the need for users to submit identity authentication information multiple times due to the current limiting of the preset database in high-traffic and high-concurrency scenarios, thereby effectively improving data processing efficiency while improving user experience.

[0069] In one embodiment, the generation time of the queue to be verified and the generation order within the generation time can be directly used to name the queue to be verified, and each queue to be verified can be marked with a sequence number. In the case of less traffic, the queue to be verified generated before the current time has been processed, and the name of the newly generated first queue to be verified can be recorded according to the current time (the minimum unit of the current time is, for example, minutes, determined according to the current limit value) and sequence number 1 (rounded up). If more queues to be verified are generated at the current time (for example, the same minute), they can be named according to the current time and sequence numbers 2, 3, and so on. In a high-traffic and high-concurrency scenario, the submission frequency of identity authentication requests is much greater than the processing frequency of the preset server. At this time, there may be queues to be verified that were generated before the current time and have not been processed. At this time, the newly generated queue to be verified can still be named according to the current time (rounded up) plus the sequence number.

[0070] In one embodiment of the present disclosure, when the target identity authentication information is added to the target verification queue, the waiting time can be fed back to the user. For example, the waiting time of the target to-be-verified queue to be verified can be determined according to the ranking of the target to-be-verified queue in all to-be-verified queues and the first preset period, and the waiting time can be fed back to the user.

[0071] For example, if the preset database flow limit value is 1000 times / minute, there are five queues to be verified in the current time cache, named 21020118511 (the first queue to be verified generated at 18:51 on February 1, 2021), 21020118512 (the second queue to be verified generated at 18:51 on February 1, 2021), 21020118513 (the third queue to be verified generated at 18:51 on February 1, 2021), 21020118521 (the first queue to be verified generated at 18:52 on February 1, 2021). ), 21020118522 (the second queue to be verified generated at 18:52 on February 1, 2021), the four queues with earlier generation time and order have already accommodated 1000 (limited number) identity authentication information, and the latest generated queue to be verified 21020118522 has 855 identity authentication information. At this time, the target verification information is written into the queue to be verified 21020118522, and the queue to be verified 21020118522 is set as the target queue to be verified. The number of identity authentication information in the queue to be verified 21020118522 is updated to 856.

[0072] The queue to be verified that is currently being processed is 21020118511. Based on the name of the target queue to be verified and the number of other queues to be verified stored in the cache, it can be determined that the target queue to be verified 21020118522 will be processed in 5 minutes. Therefore, after the target identity authentication information is stored in the target queue to be verified, the user can be fed back with waiting time notification information such as "estimated waiting time 5 minutes", thereby avoiding long waiting times for users and effectively improving user experience.

[0073] In another embodiment of the present disclosure, the user may be allowed to temporarily leave the function page after submitting the target identity authentication information, obtain the waiting time according to a second preset period, and send the waiting time to the user according to a preset communication method.

[0074] In one embodiment, the second preset period may be a fixed value, such as once every 30 seconds, and the preset communication method may be, for example, a small window, a page countdown, a progress bar, a text mark, a dynamic data chart, a voice prompt, a text message reminder, etc. In other embodiments, if the waiting time is long, the second preset period may be set to vary with the waiting time. For example, when the waiting time is 30 minutes, the waiting time corresponding to the target identity authentication information submitted by the user may be re-determined every 5 minutes and the user may be notified; when the waiting time is less than 10 minutes, the waiting time corresponding to the target identity authentication information submitted by the user may be re-determined every 1 minute and the user may be notified, so as to further improve the user experience.

[0075] The reminder of waiting time can be stopped when the above-mentioned target verification queue is processed.

[0076] In step S4, the identity verification information in one of the to-be-verified queues is submitted to a preset database for verification according to a first preset period to obtain a verification result for each of the identity verification information in the to-be-verified queue.

[0077] As mentioned above, when the current limit is 1000 times / minute, the identity authentication information in the earliest verification queue can be verified every minute according to the generation time of the verification queue. If the number of identity authentication information in the verification queue currently being verified is less than 1000 (that is, there is no subsequent verification queue waiting), the newly obtained target identity authentication information can be directly added to the end of the verification queue currently being verified.

[0078] Figure 4 It is another flow chart of the identity verification information verification process of steps S1 to S4 in the embodiment of the present disclosure.

[0079] refer to Figure 4 In one embodiment, steps S1 to S4 may also include:

[0080] Step S11, obtaining target identity authentication information;

[0081] Step S17, determining whether there is a verification result corresponding to the target identity authentication information in the cache, if yes, proceeding to step S21, if no, proceeding to step S3;

[0082] Step S21, determine whether the verification result is successful, if yes, proceed to step S22, otherwise proceed to step S23;

[0083] Step S22, feedback that the verification result is successful and the user is allowed to enjoy corresponding rights and interests;

[0084] Step S23, feedback verification result is verification failure;

[0085] Step S3, writing the target identity authentication result into the target to-be-verified queue;

[0086] Step S4, calling a preset database verification interface to perform batch verification on multiple queues to be verified.

[0087] Figure 4 The embodiment shown illustrates the relationship between steps S1 to S4. Figure 4 In the illustrated embodiment, step S17 may include Figure 2 The contents of steps S12 to S16 in the illustrated embodiment may also directly store the target identity authentication information into a cache and search for and compare the stored contents in the cache, and the present disclosure does not impose any special restrictions on this. Steps S21 to S23 are schematic sub-flows of step S2 in an embodiment.

[0088] In step S5, each identity verification information and its corresponding verification result are stored in the cache and the verification result of the target identity verification information is fed back to the user.

[0089] Figure 5 It is a schematic diagram of the interactive process of the identity authentication information verification process in an application scenario of the present disclosure.

[0090] refer to Figure 5 The identity authentication method of the embodiment of the present disclosure is completed through the interaction of the user terminal, the application system, and the database. The interaction process 500 may include:

[0091] 501, the user submits the target identity authentication information;

[0092] 502, the user terminal sends the target identity authentication information to the application system;

[0093] 503, the application system encrypts and caches the target identity authentication information;

[0094] 504, the application system searches for the verification result corresponding to the target identity verification information in the cache. If found, it goes to 505. If not found, it goes to 506.

[0095] 505, the application system feeds back the verification result to the user end;

[0096] 506, the application system writes the target identity authentication information into the target to-be-verified queue divided according to the database current limiting standard;

[0097] 507, the application system calls the database verification interface within the first preset period to verify the identity authentication information in a queue to be verified;

[0098] 508, when it is the turn of the target waiting for verification queue to be verified, the application system sends the encrypted target identity verification information to the database;

[0099] 509, the application system determines the waiting time of the target identity authentication information according to the ranking of the target to-be-verified queue in all to-be-verified queues and the first preset period;

[0100] 510, the application system feeds back the waiting time to the user end;

[0101] It is understandable that 509 and 510 can also occur after 506 and before 507;

[0102] 511, the database uses the private key to decrypt the target authentication information and verify;

[0103] 512, before obtaining the verification result, the application system loops into 509 to calculate the waiting time of the target identity verification information, and feeds back the waiting time to the user end;

[0104] 513, the database feeds back the verification result to the application system;

[0105] 514, the application system receives and caches the verification results of each identity verification information;

[0106] 515, the application system feeds back the verification result to the user end;

[0107] 516, the application system may provide 504 with a correspondence between identity verification information and verification results.

[0108] exist Figure 5In the illustrated embodiment, the user end may be, for example, a mobile phone, a computer, a tablet computer, or other user terminals, the application system may be implemented, for example, by a server, and the database is the preset database described above. The application system encrypts the target identity authentication information using the public key provided by the database, and when the database verifies the encrypted target identity authentication information, it first uses the private key corresponding to the public key to decrypt the encrypted target identity authentication information, so as to improve the data security during the information transmission process.

[0109] In one embodiment of the present disclosure, the identity authentication method 100 may further include a step S6 of processing the verification result. Step S6 may, for example, determine a data source that needs to be blocked based on the verification result.

[0110] Figure 6 It is a flowchart of processing the verification result in one embodiment of the present disclosure.

[0111] refer to Figure 6 In one embodiment, step S6 may include:

[0112] Step S61, determining the identity authentication information that failed the verification according to the verification result in the cache;

[0113] Step S62, obtaining a data source identifier of the identity verification information that failed verification;

[0114] Step S63, updating the verification failure information submission frequency corresponding to the data source identifier according to the generation time of the identity authentication information of the verification failure;

[0115] Step S64: when the verification failure information submission frequency exceeds a preset value, the data source corresponding to the data source identifier is blocked.

[0116] exist Figure 6 In the illustrated embodiment, the data source identifier may be, for example, an IP address or a device identifier. If it is found that a certain IP address or device repeatedly submits identity verification information that does not repeat and fails to verify, and the submission frequency exceeds a certain threshold (such as 1000 times / minute), the data source may be determined to be a malicious attack, the IP address or device may be blocked, the identity verification information submitted by the data source may no longer be received, and the database interface may be stopped from being called for identity verification for the identity verification information already submitted by the data source. For example, the identity verification information already submitted by the data source may be deleted from the queue to be verified, or when the identity verification information corresponding to the data source in the queue to be verified is processed, the database interface may be stopped from being called for identity verification for the identity verification information corresponding to the data source.

[0117] By managing the risk of data sources, system security can be effectively improved.

[0118] After actual testing, under the condition of flow limiting, the identity authentication method 100 can still ensure that the identity authentication information is not lost when the flow per minute exceeds 10 times the flow limit, ensuring that users can submit information at any time without being blocked, so that users can predict when their results will be fed back and actually receive feedback. In summary, the embodiment of the present disclosure solves the problems of information loss and user loss caused by database flow limiting in large traffic scenarios by using the mode of local cache plus system queue, greatly improving the verification efficiency and user experience of the identity authentication process; by using minute-level queues to calculate the time when users can receive verification feedback, it can effectively alleviate user anxiety and improve user experience.

[0119] The technical solution of the embodiment of the present disclosure is highly reusable for different types of identity authentication.

[0120] Corresponding to the above method embodiments, the present disclosure also provides an identity authentication device that can be used to execute the above method embodiments.

[0121] Figure 7 It is a block diagram of an identity authentication device in an exemplary embodiment of the present disclosure.

[0122] refer to Figure 7 , the identity verification device 700 may include:

[0123] An identity authentication information acquisition module 71, configured to acquire target identity authentication information of a user and search for a verification result of the target identity authentication information in a cache;

[0124] A fast feedback module 72, configured to feedback the verification result to the user if the verification result is found in the cache;

[0125] The verification information queuing module 73 is configured to write the target identity authentication information into a target to-be-verified queue in a plurality of to-be-verified queues if the verification result is not found in the cache;

[0126] The batch verification module 74 is configured to submit the identity verification information in one of the to-be-verified queues to a preset database for verification according to a first preset period, so as to obtain a verification result of each of the identity verification information in the to-be-verified queue;

[0127] The verification result processing module 75 is configured to store each identity verification information and its corresponding verification result into the cache and feed back the verification result of the target identity verification information to the user.

[0128] In an exemplary embodiment of the present disclosure, the verification information queuing module 73 is configured to: name and sort the queues to be verified according to the queue generation time and the generation order within the queue generation time, and the limited number of identity authentication information in each queue to be verified is the same; judge whether the identity authentication information in the first queue to be verified reaches the limited number, and the first queue to be verified is the queue to be verified whose generation time is closest to the current time and has the largest sequence number within its generation time; if not, set the first queue to be verified as the target queue to be verified and add the identity authentication information to the first queue to be verified; if yes, generate a second queue to be verified according to the current time and the number of queues to be verified that have been generated corresponding to the current time, set the second queue to be verified as the target queue to be verified and add the identity authentication information to the second queue to be verified.

[0129] In an exemplary embodiment of the present disclosure, the verification information queuing module 73 also includes a waiting time feedback unit 731, which is configured to: determine the waiting time of the target queue to be verified based on the ranking of the target queue to be verified in all queues to be verified and the first preset period; and feed back the waiting time to the user.

[0130] In an exemplary embodiment of the present disclosure, the waiting time feedback unit 731 is further configured to: obtain the waiting time according to a second preset period and send the waiting time to the user according to a preset communication method.

[0131] In an exemplary embodiment of the present disclosure, the device 700 also includes a data source verification module 76, which is configured to: determine the identity authentication information that failed verification based on the verification result in the cache; obtain the data source identifier of the identity authentication information that failed verification; update the verification failure information submission frequency corresponding to the data source identifier based on the generation time of the identity authentication information that failed verification; when the verification failure information submission frequency exceeds a preset value, ban the data source corresponding to the data source identifier.

[0132] In an exemplary embodiment of the present disclosure, the identity authentication information acquisition module 71 is configured as follows: if the identity identifier corresponding to the target identity authentication information exists in the cache, and the target identity authentication information is completely consistent with the identity authentication information corresponding to the identity identifier, the verification result of the identity authentication information corresponding to the identity identifier is obtained; if the identity identifier corresponding to the target identity authentication information exists in the cache, but the target identity authentication information is not completely consistent with the identity authentication information corresponding to the identity identifier, the target identity authentication information is encrypted using the public key provided by the preset database, and the encrypted target identity authentication information is used to update the identity authentication information corresponding to the identity identifier in the cache; if the identity identifier corresponding to the target identity authentication information does not exist in the cache, the target identity authentication information is encrypted using the public key provided by the preset database, and the encrypted target identity authentication information and the identity identifier of the target identity authentication information are stored in the cache.

[0133] In an exemplary embodiment of the present disclosure, a cache management module 77 is further included, which is configured to delete the identity authentication information and its corresponding verification results that have been stored in the cache for more than a preset time period.

[0134] Since the functions of the device 700 have been described in detail in the corresponding method embodiments, the present disclosure will not elaborate on them here.

[0135] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.

[0136] In an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.

[0137] It will be appreciated by those skilled in the art that various aspects of the present invention may be implemented as a system, method or program product. Therefore, various aspects of the present invention may be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to herein as a "circuit", "module" or "system".

[0138] Refer to the following Figure 8 An electronic device 800 according to this embodiment of the present invention will be described. Figure 8The electronic device 800 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0139] like Figure 8 As shown, the electronic device 800 is in the form of a general computing device. The components of the electronic device 800 may include but are not limited to: at least one processing unit 810, at least one storage unit 820, and a bus 830 connecting different system components (including the storage unit 820 and the processing unit 810).

[0140] The storage unit stores program codes, which can be executed by the processing unit 810, so that the processing unit 810 performs the steps according to various exemplary embodiments of the present invention described in the above “Exemplary Method” section of this specification. For example, the processing unit 810 can perform the method shown in the embodiment of the present disclosure.

[0141] The storage unit 820 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 8201 and / or a cache memory unit 8202 , and may further include a read-only memory unit (ROM) 8203 .

[0142] The storage unit 820 may also include a program / utility 8204 having a set (at least one) of program modules 8205, such program modules 8205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0143] Bus 830 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0144] The electronic device 800 may also communicate with one or more external devices 900 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 800, and / or communicate with any device that enables the electronic device 800 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 850. Furthermore, the electronic device 800 may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via a network adapter 860. As shown, the network adapter 860 communicates with other modules of the electronic device 800 via a bus 830. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 800, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.

[0145] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the implementation of the present disclosure.

[0146] In an exemplary embodiment of the present disclosure, a computer-readable storage medium is also provided, on which a program product capable of implementing the above method of the present specification is stored. In some possible implementations, various aspects of the present invention can also be implemented in the form of a program product, which includes a program code, and when the program product is run on a terminal device, the program code is used to enable the terminal device to execute the steps according to various exemplary embodiments of the present invention described in the above "Exemplary Method" section of the present specification.

[0147] The program product for implementing the above method according to an embodiment of the present invention can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto, and in this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by or in combination with an instruction execution system, an apparatus or a device.

[0148] The program product may use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0149] Computer readable signal media may include data signals propagated in baseband or as part of a carrier wave, in which readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Readable signal media may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0150] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.

[0151] Program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, etc., and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., through the Internet using an Internet service provider).

[0152] In addition, the above-mentioned figures are only schematic illustrations of the processes included in the method according to an exemplary embodiment of the present invention, and are not intended to be limiting. It is easy to understand that the processes shown in the above-mentioned figures do not indicate or limit the time sequence of these processes. In addition, it is also easy to understand that these processes can be performed synchronously or asynchronously, for example, in multiple modules.

[0153] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The specification and examples are to be considered exemplary only, and the true scope and concept of the present disclosure are indicated by the claims.

Claims

1. An identity authentication method, characterized in that: include: Obtain target identity authentication information of the user and search for a verification result of the target identity authentication information in a cache; If the verification result is found in the cache, feeding back the verification result to the user; If the verification result is not found in the cache, writing the target identity authentication information into a target queue to be verified among multiple queues to be verified, the limited number of identity authentication information in each queue to be verified is the same, and the limited number is determined according to the current limit value of the preset database and the first preset period; Submitting the identity verification information in one of the to-be-verified queues to a preset database for verification according to a first preset period to obtain a verification result for each of the identity verification information in the to-be-verified queue; storing each identity authentication information and the corresponding verification result in the cache and feeding back the verification result of the target identity authentication information to the user; Determine the waiting time for the target queue to be verified to be verified according to the ranking of the target queue to be verified in all queues to be verified and the first preset period; The waiting time is fed back to the user.

2. The identity authentication method according to claim 1, characterized in that: If the verification result is not found in the cache, writing the target identity authentication information into one of the multiple queues to be verified includes: Naming and sorting the queues to be verified according to the queue generation time and the generation order within the queue generation time; Determine whether the identity authentication information in the first queue to be verified has reached the limited number, the first queue to be verified being the queue to be verified whose generation time is closest to the current time and whose sequence number is the largest within its generation time; If not, setting the first queue to be verified as the target queue to be verified and adding the identity authentication information to the first queue to be verified; If yes, generate a second queue to be verified according to the current time and the number of queues to be verified that have been generated corresponding to the current time, set the second queue to be verified as the target queue to be verified and add the identity authentication information to the second queue to be verified.

3. The identity authentication method according to claim 1, characterized in that: Also includes: The waiting time is acquired according to a second preset period and the waiting time is sent to the user according to a preset communication method.

4. The identity authentication method according to claim 1, characterized in that: Also includes: Determine the identity authentication information that failed the verification according to the verification result in the cache; Obtaining a data source identifier of the identity verification information that failed verification; Update the verification failure information submission frequency corresponding to the data source identifier according to the generation time of the identity authentication information of the verification failure; When the verification failure information submission frequency exceeds a preset value, the data source corresponding to the data source identifier is blocked.

5. The identity authentication method according to claim 1, characterized in that: The step of obtaining the target identity authentication information of the user and searching the cache for the verification result of the target identity authentication information includes: If the identity identifier corresponding to the target identity authentication information exists in the cache, and the target identity authentication information is completely consistent with the identity authentication information corresponding to the identity identifier, obtaining a verification result of the identity authentication information corresponding to the identity identifier; If the identity identifier corresponding to the target identity identification information exists in the cache, but the target identity identification information is not completely consistent with the identity identification information corresponding to the identity identifier, encrypting the target identity identification information using the public key provided by the preset database, and using the encrypted target identity identification information to update the identity identification information corresponding to the identity identifier in the cache; If the identity identifier corresponding to the target identity authentication information does not exist in the cache, the target identity authentication information is encrypted using the public key provided by the preset database, and the encrypted target identity authentication information and the identity identifier of the target identity authentication information are stored in the cache.

6. The identity authentication method according to claim 1 or 5, characterized in that: Also includes: Delete the identity authentication information and its corresponding verification results that have been stored in the cache for more than a preset time period.

7. An identity verification device, characterized in that: include: An identity verification information acquisition module, configured to obtain target identity verification information of a user and search for a verification result of the target identity verification information in a cache; A fast feedback module, configured to feedback the verification result to the user if the verification result is found in the cache; A verification information queuing module is configured to write the target identity authentication information into a target queue to be verified among multiple queues to be verified if the verification result is not found in the cache, and determine the waiting time for the target queue to be verified to be verified according to the ranking of the target queue to be verified in all queues to be verified and the first preset period; Feedback the waiting time to the user, the limited number of identity authentication information in each of the to-be-verified queues is the same, and the limited number is determined according to the current limit value of the preset database and the first preset period; A batch verification module, configured to submit the identity verification information in one of the to-be-verified queues to a preset database for verification according to a first preset period, so as to obtain a verification result of each of the identity verification information in the to-be-verified queue; The verification result processing module is configured to store each identity verification information and its corresponding verification result into the cache and feed back the verification result of the target identity verification information to the user.

8. An electronic device, characterized in that: include: Memory; as well as A processor coupled to the memory, the processor being configured to execute the identity authentication method according to any one of claims 1 to 6 based on instructions stored in the memory.

9. A computer-readable storage medium having a program stored thereon, wherein when the program is executed by a processor, the identity authentication method according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Cloud terminal authentication method, system and device

    CN103107985A

  • Portal authentication method and equipment

    CN103501297A