Data verification method and device and electronic equipment
By classifying and parallel verification of enterprise uploaded data, the problem of insufficient verification of enterprise data in the existing technology is solved, and more accurate and authentic enterprise capability evaluation results are achieved.
Patent Information
- Application Number
- CN202411522910.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-29
- Publication Date
- 2025-02-21
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
When conducting enterprise capability evaluation, existing evaluation platforms lack the authenticity verification of the data uploaded by enterprises, resulting in inaccuracy and inauthenticity of evaluation results.
A data verification method is proposed, by obtaining the target data set to be verified of the object to be verified, it is divided into several categories of data to be verified, and the verification steps are performed in parallel. The method includes selecting the target verification party for verification, and cycling the verification party that has not completed verification until all data has completed verification.
Through this method, the authenticity of the data uploaded by the enterprise can be effectively verified, the accuracy and authenticity of evaluation results can be improved, and the efficiency and completeness of data verification can be ensured.
Smart Images

Figure CN119493793A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to a data verification method, device and electronic device. Background Art
[0002] There are many assessment platforms on the market. When each enterprise needs to evaluate a certain capability, it needs to upload various relevant data of its own to the assessment platform. The assessment platform evaluates the capabilities of each enterprise based on the data uploaded by the enterprise through artificial intelligence or manual processing.
[0003] After receiving the data uploaded by the enterprise, the current evaluation platform directly assumes that the data uploaded by the enterprise is true and conducts capability evaluation based on the uploaded data. However, the accuracy of the evaluation needs to be based on the authenticity of the data. If the data provided by the enterprise is not true, the evaluation result is not accurate and true. Therefore, each evaluation platform urgently needs a method to verify the authenticity of enterprise data. Summary of the invention
[0004] The purpose of the present disclosure is to provide a data verification method, device and electronic device.
[0005] According to one aspect of the present disclosure, a data verification method is provided, which is applied to an evaluation party, wherein the evaluation party connects with a plurality of verification parties, wherein any verification party stores at least one type of verification data; the method comprises:
[0006] Obtain a target data set to be verified of the object to be verified, and divide the target data set to be verified into several categories of data to be verified according to the verification data stored by each verifier, each category of data to be verified corresponds to a verifier set;
[0007] For each type of data to be verified, perform the following steps in parallel:
[0008] For any type of data to be verified, select a target verifier from the set of verifiers corresponding to the data, and send the data to be verified to the target verifier for verification; obtain the verification result returned by the target verifier to determine whether each piece of data has been verified;
[0009] If no, the following steps are executed in a loop until each piece of data has completed verification or there is no optional verifier: reselect a target verifier from the verifiers that have not completed verification in the verifier set, send the data that has not completed verification to the target verifier, obtain the verification result returned by the target verifier, and determine whether each piece of data has completed verification;
[0010] After each type of data to be verified for the object to be verified is monitored and the above steps are respectively executed, a verification result of the object to be verified is obtained.
[0011] According to a second aspect of the present application, a data verification device is disclosed, which is applied to an evaluation party, wherein the evaluation party is connected to a plurality of verification parties, wherein any verification party stores at least one type of verification data; the device comprises:
[0012] A classification module is used to obtain a target data set to be verified of the object to be verified, and classify the target data set to be verified into several categories of data to be verified according to the verification data stored by each verifier, each category of data to be verified corresponds to a verifier set;
[0013] The verification module is used to execute the following steps in parallel for each type of data to be verified:
[0014] For any type of data to be verified, select a target verifier from the set of verifiers corresponding to the data, and send the data to be verified to the target verifier for verification; obtain the verification result returned by the target verifier to determine whether each piece of data has been verified;
[0015] If no, the following steps are executed in a loop until each piece of data has completed verification or there is no optional verifier: reselect a target verifier from the verifiers that have not completed verification in the verifier set, send the data that has not completed verification to the target verifier, obtain the verification result returned by the target verifier, and determine whether each piece of data has completed verification;
[0016] The monitoring module is used to obtain the verification result of the object to be verified after monitoring each type of data to be verified for the object to be verified and executing the above steps respectively.
[0017] According to a third aspect of the present disclosure, an electronic device is provided, including a processor and a memory, wherein the memory stores a computer program, and the processor executes the computer program stored in the memory to implement the steps in the method described in any one of the first aspects above.
[0018] According to a fourth aspect of the present disclosure, a computer program is provided, comprising computer instructions, which, when executed by a processor, implement the steps in the method described in any one of the first aspects above.
[0019] According to a fifth aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the method described in any one of the first aspects are implemented. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] Figure 1 A schematic diagram of a network topology for data verification provided by an embodiment of the present disclosure;
[0021] Figure 2A flowchart of a data verification method provided by an embodiment of the present disclosure;
[0022] Figure 3 A schematic diagram of the structure of a data verification device provided by an embodiment of the present disclosure;
[0023] Figure 4 A schematic diagram of the structure of an electronic device provided by an embodiment of the present disclosure. DETAILED DESCRIPTION
[0024] Before introducing the embodiments of the present disclosure, it should be noted that:
[0025] Some embodiments of the present disclosure are described as processing flows. Although the various operation steps of the flow may be given sequential step numbers, the operation steps therein may be implemented in parallel, concurrently or simultaneously.
[0026] In the embodiments of the present disclosure, the terms "first", "second", etc. may be used to describe various features, but these features should not be limited by these terms. These terms are used only to distinguish one feature from another.
[0027] The term “and / or” may be used in embodiments of the present disclosure. “And / or” includes any and all combinations of one or more of the associated features listed.
[0028] It should be understood that when describing the connection or communication relationship between two components, unless it is explicitly stated that the two components are directly connected or directly communicating, the connection or communication between the two components can be understood as direct connection or communication, or as indirect connection or communication through an intermediate component.
[0029] In order to make the technical solutions and advantages of the embodiments of the present disclosure more clearly understood, the exemplary embodiments of the present disclosure are further described in detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present disclosure, rather than an exhaustive list of all the embodiments. It should be noted that the embodiments of the present disclosure and the features in the embodiments can be combined with each other without conflict.
[0030] At present, when each enterprise needs to evaluate a certain capability, it needs to upload its various relevant data to the evaluation platform. The evaluation platform evaluates the capabilities of each enterprise based on the data uploaded by the enterprise itself based on artificial intelligence and other methods. For example, if an enterprise wants to conduct a hierarchical evaluation of its innovation and intellectual property management capabilities, it needs to log in to the relevant platform for hierarchical evaluation of innovation and intellectual property management capabilities and enter the corresponding enterprise data according to the prompts, such as the industry code and name, the region to which it belongs, the total number of employees in the enterprise, the registered capital, the number of valid patents, whether it is a national intellectual property advantage demonstration enterprise, the number of valid invention patents, etc. The evaluation platform evaluates the capabilities of each enterprise based on artificial intelligence. However, if the data provided by the enterprise is not true, the evaluation results must be inaccurate and untrue. Therefore, it is necessary to verify the authenticity of the data provided by the enterprise.
[0031] In order to solve the above-mentioned problems, this application proposes a data verification method, which is applied to the evaluation party, such as Figure 1As shown, the evaluator connects to several verifiers, any of which stores at least one verification data. Among them, the evaluator mentioned in this application refers to a server that has obtained various data of the enterprise and needs to use the various data of the enterprise to evaluate a certain capability of the enterprise, and the verifier refers to a server that stores data that can verify the authenticity of the data provided by the enterprise. In the following, the various data provided by the enterprise to the evaluator are referred to as data to be verified. The evaluator can communicate and transmit data with each verifier through the network. It can be understood that the data provided by the enterprise to the evaluator often includes data from various aspects. Therefore, the verifier that can verify the data provided by it often includes multiple verifiers. Taking the hierarchical evaluation of innovation and intellectual property management capabilities as an example, the data provided by enterprises include basic business data (industry code and name, enterprise scale, enterprise registration type or ownership category, region, etc.), intellectual property data (number of valid patents, number of valid software copyrights, number of valid circuit layouts, number of trademarks, number of valid invention patents, etc.), capital data (total R&D expenses this year, total revenue, whether equity financing has been completed and the amount of financing, company valuation of the most recent round of equity financing, net profit growth rate, etc.), awards (won science and technology and other awards at the provincial and ministerial levels or above, whether the Chinese Patent Award has been won, what kind of standards have been led or participated in, etc.). The verifier that can verify the basic business data, intellectual property data, capital data, and award data of an enterprise is usually not a single verifier, and each verifier usually only stores data used to verify some aspects of the data to be verified. For example, intellectual property search websites usually store the intellectual property data of each enterprise, which can be used to verify the intellectual property data provided by the enterprise, while the basic data of the enterprise stored on the enterprise information query website can be used to verify the basic business data provided by the enterprise. Therefore, when the authenticity of enterprise data needs to be verified, the evaluation party needs to connect with several verification parties to verify the enterprise data. In order to ensure the efficiency and integrity of the verification, the method proposed in this disclosure is as follows: Figure 2 As shown in the figure, the method includes the following contents.
[0032] S201, obtaining a target data set to be verified of the object to be verified, and dividing the target data set to be verified into several categories of data to be verified according to the verification data stored by each verifier, each category of data to be verified corresponds to a verifier set;
[0033] For each type of data to be verified, the following steps S202-S205 are respectively performed in parallel:
[0034] S202-S203, for any type of data to be verified, select a target verifier from the set of verifiers corresponding to the data of this type, send the data of this type to be verified to the target verifier for verification; obtain the verification result returned by the target verifier to determine whether each piece of data has been verified;
[0035] In the case of no, S204-205 is executed in a loop until each piece of data has completed verification or there is no optional verifier: S204-205, reselect a target verifier from the verifiers that have not completed verification in the verifier set, send the data that has not completed verification to the target verifier, obtain the verification result returned by the target verifier, and determine whether each piece of data has completed verification;
[0036] After each type of data to be verified is monitored for the object to be verified, the above steps S201-205 are respectively executed to obtain the verification result of the object to be verified, wherein the verification result of each type of data to be verified is recorded in the verification result of the object to be verified, and the verification results include: verification passed, verification failed, and verification failed.
[0037] By adopting the above method, after obtaining the target data set to be verified of the object to be verified and the enterprise, the obtained target data set to be verified is classified, and each category corresponds to a verification party set. Each verification party in a verification party set is used to verify this category of data to be verified. Various types of data in the target data set to be verified can be verified in parallel to ensure verification efficiency. At the same time, in each verification party set, by screening the target verification party for cyclic verification, the integrity of data verification can be guaranteed, that is, to ensure that all verification resources can be used to complete the verification of all data in this category of data to be verified as much as possible.
[0038] The following is the above Figure 2 Each step shown is described in detail.
[0039] In S201, the object to be verified specifically refers to the enterprise user who logs in to the evaluation party's server. The enterprise user can enter his own data according to the prompt information to make a certain evaluation. The evaluation party's server can send all the data entered by the object to be verified as the target data set to be verified by the object to be verified to the verification party for verification.
[0040] In addition, the evaluation party can also independently verify part of the data input by the object to be verified, rather than sending all the data as the target data set to be verified by the verification party for verification, so as to save some transmission resources. However, since the evaluation party often does not directly store the data used to verify the object to be verified, the present application proposes that the evaluation party can first determine part of its actual data based on the image data of the object to be verified, and then use the actual data to verify part of the data to be verified of the object to be verified.
[0041] Specifically, the evaluation party may obtain the verified image data of the object to be verified, and determine the actual data of the object to be verified based on the verified image data and the pre-trained actual data recognition model;
[0042] Using actual data to verify part of the data to be verified in the data set to be verified of the object to be verified;
[0043] The remaining unverified data in the to-be-verified data set is used as the target to-be-verified data set.
[0044] For example, when evaluating the subject to be verified, the evaluator often requires the subject to be verified to upload official images such as business licenses to verify the identity of the subject to be verified. The possibility of the subject to be verified uploading forged official images is small, so these official images can be assumed to be verified image data, and then part of the actual data of the subject to be verified can be determined based on the verified image data.
[0045] For example, the data uploaded by the object to be verified contains the business address, business industry, company type and other data of the object to be verified. Therefore, the business license uploaded by the object to be verified can be obtained, and the business license can be input into the pre-trained actual data recognition model. The data recognition model can be a text recognition model. Based on the pre-trained text recognition model, the address and type in the business license can be directly recognized as the actual business address and company type of the object to be verified.
[0046] The business license also includes the business scope. The business license of the object to be verified can be obtained and input into the pre-trained actual data recognition model, where the actual data recognition model can be a text recognition model and an industry prediction model. The business scope data can be obtained by inputting the business license into the text recognition model. The business scope data can be input into the industry prediction model to obtain the business industry of the object to be verified. That is, the feature value in the training sample of the industry prediction model is the text data of the business scope, and the label value is the business industry.
[0047] After obtaining the actual data (business industry, business address, business type, etc.) of the object to be verified using the above method, the actual data obtained can be used to verify part of the data to be verified in the data set to be verified of the object to be verified, that is, to determine whether the empirical industry, business address, business type, etc. data entered by the object to be verified are the same as the actual data. If different, it is confirmed that the verification has failed; if they are the same, it is confirmed that the verification has passed.
[0048] After verification of part of the data to be verified in the data set to be verified is completed, the remaining unverified data in the data set to be verified may be used as the target data set to be verified.
[0049] In S201, the target data set to be verified is divided into several categories of data to be verified according to the verification data stored by each verifier, which may specifically include the following methods.
[0050] One method is: for each type of data to be verified in the target data set to be verified, obtain the amount of verification data stored by each verification party for verifying the data to be verified; determine a preset number of verification parties with the largest amount of data as the verification party set for the data to be verified; and determine the data corresponding to the same verification party set as a type of data to be verified.
[0051] Taking Table 1 as an example, there are 5 types of data and 5 verification parties, and the content shown in Table 1 is the data volume of verification data stored by each verification party for verifying the type of data to be verified.
[0052]
[0053]
[0054] Table 1
[0055] It is understandable that the example of 5 verification parties and 5 types of data in Table 1 is only for the convenience of introduction. In actual applications, the types of data and the number of verification parties are usually larger.
[0056] After obtaining the data as shown in Table 1, the set of verifiers for each type of data to be verified can be determined. Taking the preset number of 3 as an example, the set of verifiers for data 1 to be verified is: verifier A, verifier B, and verifier C; the set of verifiers for data 2 to be verified is: verifier A, verifier B, and verifier D; the set of verifiers for data 3 to be verified is: verifier A, verifier B, and verifier C; the set of verifiers for data 4 to be verified is: verifier A, verifier B, and verifier E; the set of verifiers for data 5 to be verified is: verifier A, verifier B, and verifier D, or verifier A, verifier B, and verifier E.
[0057] It can be further determined that the data to be verified 2 and the data to be verified 5 are of the same type of data (the set of verifiers are all verifiers A, B, and D), the data to be verified 1 and the data to be verified 3 are of the same type of data (the set of verifiers are all verifiers A, B, and C), and the data to be verified 4 is a type of data.
[0058] Or the data to be verified 4 and the data to be verified 5 are of the same type (the set of verifiers are all verifiers A, B, and E), the data to be verified 1 and the data to be verified 3 are of the same type (the set of verifiers are all verifiers A, B, and C), and the data to be verified 2 is a type of data.
[0059] By adopting the above method, based on the amount of verification data stored by each verification party for verifying the data to be verified, the set of verification parties for each type of data to be verified is determined, and the data corresponding to the same set of verification parties is determined as a type of data to be verified. When each type of data to be verified is subsequently verified, the verification party can be called more conveniently for processing, thereby improving verification efficiency.
[0060] In another manner, when generating the verifier set, the preset number of verifiers included in the verifier set may be sorted from large to small according to the amount of stored verification data used to verify the data to be verified.
[0061] When determining data corresponding to the same verifier set as one type of data to be verified, data with the same verifier and the same order of verifiers in the verifier set are determined as one type of data to be verified.
[0062] Still taking the above Table 1 as an example, the sorted sets are: the set of verifiers for data 1 to be verified is: verifier A, verifier B and verifier C; the set of verifiers for data 2 to be verified is: verifier A, verifier B and verifier D; the set of verifiers for data 3 to be verified is: verifier A, verifier B and verifier C; the set of verifiers for data 4 to be verified is: verifier B, verifier A and verifier E; the set of verifiers for data 5 to be verified is: verifier B, verifier A and verifier D, or verifier B, verifier A and verifier E.
[0063] It can be further determined that the data to be verified 4 and the data to be verified 5 are of the same type of data (the set of verifiers are all verifiers B, A, and E), the data to be verified 1 and the data to be verified 3 are of the same type of data (the set of verifiers are all verifiers A, B, and C), and the data to be verified 2 is a type of data.
[0064] By adopting the above method, based on the amount of verification data stored by each verification party for verifying the data to be verified, a set of verification parties for each type of data to be verified is determined, and the verification parties in the verification party set are further sorted according to the amount of stored data, and the data corresponding to the same set of verification parties are determined as a type of data to be verified. This can further improve the correlation between the same type of data to be verified, and the verification efficiency will be higher when each type of data to be verified is subsequently verified.
[0065] In another embodiment, for each type of data to be verified in the target data set to be verified, a verification party storing verification data for verifying the data to be verified is determined as a verification party set for the data to be verified; and data corresponding to the same verification party set is determined as a type of data to be verified.
[0066] Still taking Table 1 as an example, the sets are: the set of verifiers for data 1 to be verified is: verifier A, verifier B, verifier C, and verifier D; the set of verifiers for data 2 to be verified is: verifier A, verifier B, verifier D, and verifier E; the set of verifiers for data 3 to be verified is: verifier A, verifier B, verifier C, and verifier E; the set of verifiers for data 4 to be verified is: verifier A, verifier B, and verifier E; the set of verifiers for data 5 to be verified is: verifier A, verifier B, verifier D, and verifier E.
[0067] It can be further determined that the data to be verified 2 and the data to be verified 5 are of the same type (the set of verifiers are all verifier A, verifier A, verifier D, and verifier E), and the data to be verified 1, 2, and 4 are each of the same type of data.
[0068] By adopting the above method, based on whether each verifier stores verification data for verifying the data to be verified, the set of verifiers for each type of data to be verified is determined, and the data corresponding to the same set of verifiers is determined as a type of data to be verified. When each type of data to be verified is subsequently verified, the integrity of the verification can be improved.
[0069] After determining the set of verifiers for each type of data to be verified and classifying the data to be verified, S202 - S205 may be executed in parallel for each type of data to be verified.
[0070] S202 is described below.
[0071] In one embodiment, the number of verifiable objects and / or the number of verifiable data of each verifier in the set of verifiers may be obtained; wherein, the number of verifiable objects is the number of times the verification policy completes verification of each piece of data in this type of data to be verified; the number of verifiable data is the number of data to be verified in this type of data to be verified completed by the verification policy. That is, the number of verification objects and the number of verifiable data are both historical data of the verification party for verifying the data to be verified. The number of verification objects can reflect the coverage of a type of data to be verified by the verifier, that is, the higher the number, the higher the coverage of the data to be verified by the verifier. The verifiable data indicates that the amount of data stored by the verifier for one or some of the data to be verified in this type of data to be verified is large. Therefore, the present application proposes that the target verifier can be screened based on the number of verifiable objects and / or the number of verifiable data.
[0072] After obtaining the number of verifiable objects and / or the amount of verifiable data of each verifier, the verifiers in the verifier set can be sorted according to the number of verifiable objects and / or the amount of verification data to obtain a sorted queue, wherein the verifier with the largest number of verifiable objects and / or the largest amount of verification data is placed at the head of the queue, and the verifier with the smallest number of verifiable objects and / or the smallest amount of verification data is placed at the end of the queue; the verifier at the head of the queue is taken as the target verifier.
[0073] For example, there are three verifiers in the target set, namely, verifier A, verifier B and verifier C. The type of data to be verified corresponding to the target set includes 10 types of data to be verified.
[0074] The number of verifiable objects and / or the amount of verification data obtained for each verifier are shown in Table 2.
[0075] Verifier A Verifier B Verification Party C Number of objects that can be verified 10 8 5 Verify the number of data 100 200 50
[0076] Table 2
[0077] When selecting a target verifier from the verifier set, the selection can be based only on the number of verifiable objects. Combined with Table 2, the verifiers in the verifier set can be sorted according to the number of verifiable objects to obtain verifier A-verifier B-verifier C, and the verifier A at the head of the queue is used as the target verifier. In this way, the verifier with the highest coverage of the type of data to be verified can be used as the target verifier, and it is expected that the verification can be completed in one round, thereby improving the verification efficiency.
[0078] When selecting a target verifier from the verifier set, the selection can also be based only on the amount of verifiable data. Combined with Table 2, the verifiers in the verifier set can be sorted according to the amount of verification data to obtain verifier B-verifier A-verifier C, and verifier B at the head of the queue is used as the target verifier. In this way, the verifier with the highest amount of data used to verify the type of data to be verified is used as the target verifier, so that as much of the data to be verified as possible can be verified in the first round of verification.
[0079] When selecting a target verifier from the set of verifiers, the selection can also be made by considering both the number of verifiable objects and the number of verifiable data. In one method, the verifiers in the set of verifiers can be sorted according to the sum of the number of verifiable objects and the number of verification data to obtain verifier B-verifier A-verifier C, and the verifier B at the head of the queue is used as the target verifier. In other methods, weights can be set for the number of verifiable objects and the number of verifiable data respectively, and then summed based on the weights. For example, the weight of the number of verifiable objects can be set to 5, and the weight of the number of verifiable data can be set to 1. After summing the weights, the verifiers are sorted to obtain verifier B-verifier A-verifier C, and the verifier B at the head of the queue is used as the target verifier.
[0080] After selecting a target verifier in the first round to verify a class of data to be verified, obtain the verification result returned by the target verifier to determine whether each piece of data has been verified. If not, start the next round of verification and loop through S204-S205, that is, select the next target verifier from the verifier set to verify the unverified data to be verified, and determine whether the loop stop condition is met.
[0081] Among them, S204 can be specifically implemented in the following manner.
[0082] One way is: since the authenticators are sorted when the target authenticator is selected for the first time, starting from the next round, the authenticator that is at the front of the sorting queue and has not been verified can be used as the target authenticator.
[0083] Another method is: determine the subcategories of each unverified data in the category of unverified data; obtain the verification success rate of each verifier in the verifier set that has not been verified for verifying each subcategory; and select the verifier with the highest verification success rate as the target verifier for reselection.
[0084] For example, the subclasses of the data to be verified that have not been successfully verified in this type of data to be verified include data 1, data 2, and data 3, and the verifiers that have not been verified in the verifier set include verifier A, verifier B, and verifier C. The verification success rate of each verifier verifying each subclass is shown in Table 3. The verification success rate of data refers to the proportion of data that can be verified by the verifier to all data verified by the verifier. The higher the verification success rate, the higher the number of data stored by the verifier for verification of a certain data and the better the data quality.
[0085] Verifier A Verifier B Verification Party C Data 1 50% 68% 74% Data 2 82% 16% 38% Data 3 39% 69% 47%
[0086] Table 3
[0087] When the verifier with the highest verification success rate is selected as the target verifier to be re-selected, the average of the verification success rates of the verifier for all sub-class data can be used as the verification success rate of the verifier, and the verifier with the highest verification success rate is selected as the target verifier to be re-selected. Taking the content shown in Table 3 as an example, the verification success rates of each verifier are 57%, 51%, and 53% respectively, and verifier A is determined to be the target verifier to be re-selected.
[0088] In addition, S204 can also be to take the sum of the verification success rates of the verification parties for all sub-class data as the verification success rate of the verification party, and take the verification party with the highest verification success rate as the re-selected target verification party. Taking the content shown in Table 3 as an example, the verification success rates of the verification parties are 171%, 153%, and 159% respectively, and the verification party A is determined to be the re-selected target verification party.
[0089] In addition, in order to further improve efficiency, S204 can also determine all subclasses corresponding to data that has not been successfully verified; determine multiple verifiers with the highest verification success rate corresponding to each subclass data from the verifiers that have not been verified in the verifier set as target verifiers; and send each subclass data in parallel to the target verifier with the highest verification success rate corresponding to the subclass data.
[0090] Still taking the content shown in Table 3 as an example, if two verifiers are selected as target verifiers each time, the target verifiers selected for data 1 are verifier C and verifier B, the target verifiers selected for data 2 are verifier A and verifier C, and the target verifiers selected for data 3 are verifier B and verifier C.
[0091] In this way, each sub-category of data that has not completed verification can be sent in parallel to its corresponding multiple target verification parties, which can further improve the verification efficiency while ensuring the verification success rate.
[0092] Considering that after the first round of verification, if the data provided by the object to be verified contains a large amount of false data, it means that the object to be verified may have deliberately committed malicious acts, and continuing to verify all of its data to be verified is actually a waste of resources. Therefore, the present disclosure also proposes that in the first round of verification, after obtaining the verification result returned by the target verification party, if the verification result indicates that the number of data that failed the verification exceeds the preset proportion of this type of data to be verified, the verification operation will not be continued on the object to be verified.
[0093] For example, in the first round of verification, if a category of data of the object to be verified includes 50 types of data and the preset ratio is 40%, if it is determined according to the verification results that 20 of the 50 types of data fail the verification, the verification operation will not be performed on the object to be verified.
[0094] like Figure 3 As shown, based on the same inventive concept, the embodiment of the present disclosure also provides a data verification device, which is applied to an evaluation party, wherein the evaluation party is connected to a plurality of verification parties, wherein any verification party stores at least one verification data; the device comprises:
[0095] The classification module 310 is used to obtain a target data set to be verified of the object to be verified, and classify the target data set to be verified into several categories of data to be verified according to the verification data stored by each verifier, each category of data to be verified corresponds to a verifier set;
[0096] The verification module 320 is used to execute the following steps in parallel for each type of data to be verified:
[0097] For any type of data to be verified, select a target verifier from the set of verifiers corresponding to the data, and send the data to be verified to the target verifier for verification; obtain the verification result returned by the target verifier to determine whether each piece of data has been verified;
[0098] If no, the following steps are executed in a loop until each piece of data has completed verification or there is no optional verifier: reselect a target verifier from the verifiers that have not completed verification in the verifier set, send the data that has not completed verification to the target verifier, obtain the verification result returned by the target verifier, and determine whether each piece of data has completed verification;
[0099] The monitoring module 330 is used to obtain the verification result of the object to be verified after monitoring each type of data to be verified for the object to be verified and executing the above steps respectively.
[0100] In one embodiment, the classification module is specifically used to obtain, for each type of data to be verified in the target data set to be verified, the amount of verification data stored by each verification party for verifying the data to be verified; determine a preset number of verification parties with the largest amount of data as a set of verification parties for the data to be verified; and determine the data corresponding to the same set of verification parties as a type of data to be verified.
[0101] In one embodiment, the verification party set includes a preset number of verification parties, and the preset number of verification parties are sorted from large to small according to the amount of verification data stored for verifying the data to be verified;
[0102] The classification module is specifically used to determine data with the same verification parties and the same verification party order in the verification party set as a type of data to be verified.
[0103] In one embodiment, the classification module is specifically used to determine, for each type of data to be verified in the target data set to be verified, a verification party that stores verification data used to verify the data to be verified, as a verification party set for the data to be verified; and determine data corresponding to the same verification party set as a type of data to be verified.
[0104] In one embodiment, the verification module is specifically used to obtain the number of verifiable objects and / or the number of verifiable data of each verifier in the set of verifiers; the number of verifiable objects is the number of times the verification policy has completed verification of each data in this type of data to be verified; the number of verifiable data is the number of data to be verified in this type of data to be verified completed by the verification policy; the verifiers in the set of verifiers are sorted according to the number of verifiable objects and / or the number of verification data to obtain a sorted queue, wherein the verifier with the largest number of verifiable objects and / or the largest number of verification data is placed at the head of the queue, and the verifier with the smallest number of verifiable objects and / or the smallest number of verification data is placed at the end of the queue; the verifier at the head of the queue is used as the target verifier.
[0105] In one implementation, the verification module is specifically configured to use the verification party that is at the front of the sorting queue and has not been verified as the target verification party.
[0106] In one embodiment, the verification module is specifically used to determine the subcategories of each data to be verified that has not been successfully verified in the type of data to be verified; obtain the verification success rate of each verifier in the set of verifiers that has not been verified for verifying each subcategory; and select the verifier with the highest verification success rate as the target verifier for re-selection.
[0107] In one embodiment, the verification module is specifically used to, for any verifier, use the average verification success rate of the verifier for all sub-category data as the verification success rate of the verifier, and use the verifier with the highest verification success rate as the re-selected target verifier.
[0108] In one embodiment, the verification module is specifically used to determine all subclasses corresponding to data that has not been successfully verified; determine multiple verifiers with the highest verification success rate corresponding to each subclass data from the verifiers that have not been verified in the verifier set as target verifiers; and send each subclass data in parallel to the target verifier with the highest verification success rate corresponding to the subclass data.
[0109] In one embodiment, the verification module is also used to obtain verified image data of the object to be verified, determine the actual data of the object to be verified based on the verified image data and a pre-trained actual data recognition model; use the actual data to verify part of the data to be verified in the data set to be verified of the object to be verified; and use the remaining unverified data in the data set to be verified as the target data set to be verified.
[0110] In one embodiment, the verification module is also used to select a target verifier from the set of verifiers corresponding to any type of data to be verified, and send the type of data to be verified to the target verifier for verification; obtain the verification result returned by the target verifier to determine whether each data has been verified. If the verification result indicates that the number of data that failed the verification exceeds the preset proportion of the type of data to be verified, the verification operation will not be continued for the object to be verified.
[0111] The solutions in the embodiments of the present application can be implemented using various computer languages, for example, the object-oriented programming language Java and the interpreted scripting language JavaScript.
[0112] In addition, an embodiment of the present invention further provides an electronic device, including a bus, a transceiver, a memory, a processor, and a computer program stored in the memory and executable on the processor. The transceiver, the memory, and the processor are respectively connected via a bus. When the computer program is executed by the processor, each process of each embodiment of the above-mentioned data verification method is implemented, and the same technical effect can be achieved. To avoid repetition, it will not be described here.
[0113] For details, see Figure 4 As shown, the electronic device includes a bus 1110 , a processor 1120 , a transceiver 1130 , a bus interface 1140 , a memory 1150 , and a user interface 1160 .
[0114] In an embodiment of the present invention, the electronic device further includes: a computer program stored in the memory 1150 and executable on the processor 1120 , and the computer program implements the above-mentioned data verification method when executed by the processor 1120 .
[0115] The transceiver 1130 is configured to receive and send data under the control of the processor 1120 .
[0116] In an embodiment of the present invention, the bus architecture (represented by bus 1110), bus 1110 may include any number of interconnected buses and bridges, and bus 1110 connects various circuits including one or more processors represented by processor 1120 and a memory represented by memory 1150.
[0117] Bus 1110 represents one or more of any of several types of bus structures, including a memory bus and memory controller, a peripheral bus, an Accelerate Graphical Port (AGP), a processor, or a local bus using any of a variety of bus architectures. By way of example and not limitation, such architectures include: Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA), Peripheral Component Interconnect (PCI) bus.
[0118] The processor 1120 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method embodiment may be completed by an integrated logic circuit of hardware in the processor or an instruction in the form of software. The above processors include: a general-purpose processor, a central processing unit (CPU), a network processor (NP), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a complex programmable logic device (CPLD), a programmable logic array (PLA), a microcontroller unit (MCU) or other programmable logic devices, discrete gates, transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present invention may be implemented or executed. For example, the processor may be a single-core processor or a multi-core processor, and the processor may be integrated into a single chip or located in multiple different chips.
[0119] Processor 1120 can be a microprocessor or any conventional processor. The method steps disclosed in conjunction with the embodiments of the present invention can be directly executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software module can be located in a readable storage medium known in the art, such as a random access memory (RAM), a flash memory (FlashMemory), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), a register, etc. The readable storage medium is located in a memory, and the processor reads the information in the memory and completes the steps of the above method in conjunction with its hardware.
[0120] The bus 1110 may also connect various other circuits such as peripheral devices, voltage regulators or power management circuits, and the bus interface 1140 provides an interface between the bus 1110 and the transceiver 1130, which are well known in the art. Therefore, the embodiments of the present invention will not be further described.
[0121] The transceiver 1130 may be one element or multiple elements, such as multiple receivers and transmitters, and provides a unit for communicating with various other devices on a transmission medium. For example, the transceiver 1130 receives external data from other devices, and the transceiver 1130 is used to send data processed by the processor 1120 to other devices. Depending on the nature of the computer system, a user interface 1160 may also be provided, such as a touch screen, a physical keyboard, a display, a mouse, a speaker, a microphone, a trackball, a joystick, and a stylus.
[0122] It should be understood that in an embodiment of the present invention, the memory 1150 may further include a memory remotely arranged relative to the processor 1120, and these remotely arranged memories may be connected to the server through a network. One or more parts of the above-mentioned network may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless local area network (WLAN), a wide area network (WAN), a wireless wide area network (WWAN), a metropolitan area network (MAN), the Internet, a public switched telephone network (PSTN), a plain old telephone service network (POTS), a cellular telephone network, a wireless network, a wireless fidelity (Wi-Fi) network, and a combination of two or more of the above-mentioned networks. For example, the cellular telephone network and the wireless network can be a Global System for Mobile Communications (GSM) system, a Code Division Multiple Access (CDMA) system, a Worldwide Interoperability for Microwave Access (WiMAX) system, a General Packet Radio Service (GPRS) system, a Wideband Code Division Multiple Access (WCDMA) system, a Long Term Evolution (LTE) system, a LTE Frequency Division Duplex (FDD) system, a LTE Time Division Duplex (TDD) system, an Advanced Long Term Evolution (LTE-A) system, a Universal Mobile Telecommunications (UMTS) system, an Enhanced Mobile Broadband (Enhance Mobile Broadband, eMBB) system, a massive Machine Type of Communication (mMTC) system, an Ultra-Reliable Low Latency Communications (UltraReliable Low Latency Communications, uRLLC) system, etc.
[0123] It should be understood that the memory 1150 in the embodiment of the present invention may be a volatile memory or a non-volatile memory, or may include both a volatile memory and a non-volatile memory. Among them, the non-volatile memory includes: a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory.
[0124] Volatile memory includes: Random Access Memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as: Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), Synchronous Link Dynamic Random Access Memory (SLDRAM) and Direct Rambus RAM (DRRAM). The memory 1150 of the electronic device described in the embodiment of the present invention includes but is not limited to the above and any other suitable types of memory.
[0125] In the embodiment of the present invention, the memory 1150 stores the following elements of the operating system 1151 and the application program 1152: executable modules, data structures, or subsets thereof, or extended sets thereof.
[0126] Specifically, the operating system 1151 includes various system programs, such as a framework layer, a core library layer, a driver layer, etc., which are used to implement various basic services and process hardware-based tasks. The application 1152 includes various applications, such as a media player (Media Player) and a browser (Browser), which are used to implement various application services. The program for implementing the method of the embodiment of the present invention may be included in the application 1152. The application 1152 includes applets, objects, components, logic, data structures, and other computer system executable instructions that perform specific tasks or implement specific abstract data types.
[0127] In addition, an embodiment of the present invention further provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the various processes of the various embodiments of the above-mentioned data verification method are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.
[0128] Computer readable storage media include: permanent and non-permanent, removable and non-removable media, which are tangible devices that can retain and store instructions for use by instruction execution devices. Computer readable storage media include: electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, and any suitable combination of the above. Computer readable storage media include: phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassette storage, magnetic tape disk storage or other magnetic storage devices, memory sticks, mechanical encoding devices (such as punched cards or raised structures in grooves with instructions recorded thereon) or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined in the embodiments of the present invention, computer-readable storage media do not include temporary signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (such as light pulses passing through fiber optic cables), or electrical signals transmitted through wires.
[0129] The computer program code contained in the above-mentioned computer-readable storage medium can be transmitted using any appropriate medium, including: wireless, wire, optical cable, radio frequency (RF) or any suitable combination thereof.
[0130] The computer program code for performing the operation of the embodiments of the present invention can be written in assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, integrated circuit configuration data, or in one or more programming languages or a combination thereof, wherein the programming language includes an object-oriented programming language, such as Java, Smalltalk, C++, and also includes a conventional procedural programming language, such as C language or a similar programming language. The computer program code can be executed completely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer, partially on a remote computer, and completely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer or to an external computer through any type of network, including a local area network (LAN) or a wide area network (WAN).
[0131] The embodiment of the present invention further provides a computer program, including one or more computer instructions. When the computer instructions are loaded and executed on a processor, the process or function described in the embodiment of the present application is generated in whole or in part.
[0132] Although the preferred embodiments of the present application have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.
[0133] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A data verification method, characterized in that: Applied to an evaluation party, the evaluation party is connected to several verification parties, any of which stores at least one verification data; the method includes: Obtain a target data set to be verified of the object to be verified, and divide the target data set to be verified into several categories of data to be verified according to the verification data stored by each verifier, each category of data to be verified corresponds to a verifier set; For each type of data to be verified, perform the following steps in parallel: For any type of data to be verified, select a target verifier from the set of verifiers corresponding to the data, and send the data to be verified to the target verifier for verification; obtain the verification result returned by the target verifier to determine whether each piece of data has been verified; If no, the following steps are executed in a loop until each piece of data has completed verification or there is no optional verifier: reselect a target verifier from the verifiers that have not completed verification in the verifier set, send the data that has not completed verification to the target verifier, obtain the verification result returned by the target verifier, and determine whether each piece of data has completed verification; After each type of data to be verified for the object to be verified is monitored and the above steps are respectively executed, a verification result of the object to be verified is obtained.
2. The method according to claim 1, characterized in that The target data set to be verified is divided into several categories of data to be verified according to the verification data stored by each verification party, including: For each type of data to be verified in the target data set to be verified, obtaining the amount of verification data stored by each verification party for verifying the data to be verified; Determine a preset number of verification parties with the largest amount of data as the verification party set for the data to be verified; The data corresponding to the same verification party set is determined as a type of data to be verified.
3. The method according to claim 2, characterized in that The verification party set includes a preset number of verification parties, and the preset number of verification parties are sorted from large to small according to the amount of verification data stored for verifying the data to be verified; The step of determining data corresponding to the same set of verification parties as a type of data to be verified includes: The data with the same authenticator and the same authenticator order in the authenticator set are determined as a type of data to be verified.
4. The method according to claim 1, characterized in that: The target data set to be verified is divided into several categories of data to be verified according to the verification data stored by each verification party, including: For each type of data to be verified in the target data set to be verified, determining a verification party that stores verification data for verifying the data to be verified as a verification party set for the data to be verified; The data corresponding to the same verification party set is determined as a type of data to be verified.
5. The method according to claim 1, characterized in that The selecting a target verifier from the verifier set corresponding to the type of data includes: Obtain the number of verifiable objects and / or the number of verifiable data of each verifier in the verifier set; the number of verifiable objects is the number of times the verification policy completes verification of each piece of data in the type of data to be verified; the number of verifiable data is the number of data to be verified in the type of data to be verified that the verification policy completes verification; Sorting the verifiers in the verifier set according to the number of verifiable objects and / or the amount of verification data to obtain a sorted queue, wherein the verifier with the largest number of verifiable objects and / or the largest amount of verification data is at the head of the queue, and the verifier with the smallest number of verifiable objects and / or the smallest amount of verification data is at the end of the queue; The verifier at the head of the queue is used as the target verifier.
6. The method according to claim 5, characterized in that The reselecting a target verifier from the verifiers that have not been verified in the set of verifiers includes: The authenticator that is at the front of the sorting queue and has not been authenticated is used as the target authenticator.
7. The method according to claim 1, characterized in that The reselecting a target verifier from the verifiers that have not been verified in the verifier set includes: Determine the subclasses of each unverified data in the class of unverified data; Obtaining a verification success rate of each of the verification parties that have not yet been verified in the verification party set for verifying each subclass; The verifier with the highest verification success rate is selected as the target verifier for reselection.
8. The method according to claim 7, characterized in that The step of selecting the verifier with the highest verification success rate as the target verifier for reselection includes: For any verifier, the average of the verification success rates of the verifier for all sub-class data is used as the verification success rate of the verifier, and the verifier with the highest verification success rate is used as the target verifier to be re-selected.
9. The method according to claim 1, characterized in that: Reselecting a target verifier from the verifiers that have not completed verification in the verifier set, and sending the unverified data to the target verifier, including: Determine all subcategories corresponding to data that has not been successfully verified; Determine, from the unverified verifiers in the verifier set, a plurality of verifiers with the highest verification success rate corresponding to each sub-category of data as target verifiers; Each sub-category of data is sent in parallel to a target verification party with the highest verification success rate corresponding to the sub-category of data.
10. The method according to claim 1, characterized in that Also includes: Acquire verified image data of the object to be verified, and determine actual data of the object to be verified based on the verified image data and a pre-trained actual data recognition model; Using the actual data to verify part of the data to be verified in the data set to be verified of the object to be verified; The remaining unverified data in the to-be-verified data set is used as the target to-be-verified data set.
11. The method according to claim 1, characterized in that For any type of data to be verified, a target verifier is selected from the set of verifiers corresponding to the data, and the data to be verified is sent to the target verifier for verification; After obtaining the verification result returned by the target verifier and determining whether each piece of data has been verified, it also includes: If the verification result indicates that the number of data that failed the verification exceeds a preset ratio of the data of this type to be verified, the verification operation will not be further performed on the object to be verified.
12. A data verification device, applied to an evaluation party, wherein the evaluation party is connected to a plurality of verification parties, any of which stores at least one type of verification data; characterized in that: The device includes: A classification module is used to obtain a target data set to be verified of the object to be verified, and classify the target data set to be verified into several categories of data to be verified according to the verification data stored by each verifier, each category of data to be verified corresponds to a verifier set; The verification module is used to execute the following steps in parallel for each type of data to be verified: For any type of data to be verified, select a target verifier from the set of verifiers corresponding to the data, and send the data to be verified to the target verifier for verification; obtain the verification result returned by the target verifier to determine whether each piece of data has been verified; If no, the following steps are executed in a loop until each piece of data has completed verification or there is no optional verifier: reselect a target verifier from the verifiers that have not completed verification in the verifier set, send the data that has not completed verification to the target verifier, obtain the verification result returned by the target verifier, and determine whether each piece of data has completed verification; The monitoring module is used to obtain the verification result of the object to be verified after monitoring each type of data to be verified for the object to be verified and executing the above steps respectively.
13. An electronic device comprising a processor and a memory, wherein the memory stores a computer program, characterized in that: The processor executes the computer program stored in the memory to implement the steps in the method according to any one of claims 1 to 11.
14. A computer program comprising computer instructions, characterized in that When the computer instructions are executed by a processor, the steps in the method according to any one of claims 1 to 11 are implemented.
15. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the computer program implements the steps in the method according to any one of claims 1 to 11.