CN116483888A - Program evaluation method and device, electronic equipment and computer readable storage medium - Google Patents

Program evaluation method and device, electronic equipment and computer readable storage medium Download PDF

Info

Publication number
CN116483888A
CN116483888A CN202310456748.1A CN202310456748A CN116483888A CN 116483888 A CN116483888 A CN 116483888A CN 202310456748 A CN202310456748 A CN 202310456748A CN 116483888 A CN116483888 A CN 116483888A
Authority
CN
China
Prior art keywords
program
information
data
evaluation
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310456748.1A
Other languages
Chinese (zh)
Inventor
孙瑜
蒋忆成
管涛
余一鸣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202310456748.1A priority Critical patent/CN116483888A/en
Publication of CN116483888A publication Critical patent/CN116483888A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present disclosure provides a program evaluation method and apparatus, an electronic device, and a computer-readable storage medium, which can be applied to big data technology, data processing technology, and financial fields. The program evaluation method includes: according to the blood relationship corresponding to the program to be evaluated, acquiring object information corresponding to N object identifiers in the blood relationship, wherein N is a positive integer; determining a program verification result according to the incidence relation information in the blood relationship and the object information corresponding to each of the N object identifiers; generating a data flow chart according to the blood relationship, the object information corresponding to the N object identifiers and the program verification result, wherein the data flow chart comprises the object nodes corresponding to the N object identifiers and directed edges between the N object nodes; and determining a program evaluation result corresponding to the program to be evaluated according to the data flow chart.

Description

Program evaluation method and device, electronic equipment and computer readable storage medium
Technical Field
The present disclosure relates to the fields of big data technology, data processing technology, and finance, and more particularly, to a program evaluation method and apparatus, an electronic device, a computer-readable storage medium, and a computer program product.
Background
With the development of big data technology, massive data can be generated by user behaviors, and how to effectively treat the massive data is a problem to be solved.
By designing the Hive program, data extraction, conversion and loading based on the Hive data warehouse tool can be realized. The Hive data warehouse tool may map structured data files into database tables and provide structured query language (Structured Query Language, SQL) query functionality.
In the process of implementing the disclosed concept, the inventor finds that at least the following problems exist in the related art: the efficiency and the accuracy of Hive program analysis cannot be guaranteed.
Disclosure of Invention
In view of this, the present disclosure provides a program evaluation method and apparatus, an electronic device, a computer-readable storage medium, and a computer program product.
According to one aspect of the present disclosure, there is provided a program evaluation method including:
acquiring N pieces of object information according to N pieces of object identifiers in a blood relationship corresponding to a program to be evaluated, wherein N is a positive integer;
determining a program verification result according to the incidence relation information in the blood relationship and the N pieces of object information;
generating a data flow chart according to the blood relationship, the N object information and the program verification result, wherein the data flow chart comprises object nodes corresponding to the N object identifiers and directed edges between the N object nodes; and
And determining a program evaluation result corresponding to the program to be evaluated according to the data flow chart.
According to an embodiment of the present disclosure, the obtaining N pieces of object information according to N pieces of object identifiers in a blood relationship corresponding to a program to be evaluated includes:
determining storage path information corresponding to each of the N object identifiers according to the N object identifiers; and
and calling a target interface, and acquiring the N pieces of object information from the data lake according to the storage path information corresponding to the N pieces of object identifiers.
According to an embodiment of the present disclosure, the object information includes object data and time information, and the program verification result includes object verification results corresponding to the N object identifiers, respectively.
According to an embodiment of the present disclosure, the determining a program verification result according to the association relationship information in the blood relationship and the N pieces of object information includes:
determining an associated object identifier according to the association relation information;
determining associated object information according to the associated object identifier, wherein the associated object information comprises associated object data and associated time information;
determining query scale information corresponding to the object identifier according to the time information and the associated time information;
According to the inquiry scale information, verifying the blood relationship to obtain a verification result;
determining the object verification result which represents that the object data fails to pass the evaluation under the condition that the verification result represents that the blood relationship is abnormal; and
and under the condition that the verification result represents that the blood relationship is normal, determining the object verification result which represents that the object data passes the evaluation.
According to an embodiment of the present disclosure, the above object information further includes a verification rule.
According to an embodiment of the present disclosure, determining the associated object information according to the associated object identifier includes:
determining candidate associated object information according to the associated object identification, wherein the candidate associated object information comprises candidate associated object data and candidate associated time information;
carrying out integrity check on the candidate associated object data according to the check rule to obtain an integrity check result; and
and determining the candidate associated object information as the associated object information in response to the integrity check result to represent that the candidate associated object data passes the integrity check.
According to an embodiment of the present disclosure, the generating a data flow graph according to the blood relationship, the N pieces of object information, and the program verification result includes:
Constructing an object node corresponding to the object identifier according to the object information and the object verification result;
constructing a directed edge corresponding to the object identifier according to the association relation information; and
and generating the data flow chart according to the object node corresponding to the object identifier and the directed edge.
According to an embodiment of the present disclosure, the program evaluation result includes object evaluation results corresponding to each of the N object identifiers.
According to an embodiment of the present disclosure, the determining, according to the data flow diagram, a program evaluation result corresponding to the program to be evaluated includes:
determining target object nodes corresponding to the object identifiers, M associated object nodes and P item marked directed edges, wherein M and P are positive integers;
according to a preset evaluation rule, evaluating target object data corresponding to the target object node and associated object data corresponding to each of the M associated object nodes;
obtaining the object evaluation result representing that the object data fails to pass the evaluation under the condition that the abnormal data exists in the target object data and the M associated object data; and
And obtaining the object evaluation result representing that the object data passes the evaluation under the condition that the target object data and the M associated object data are determined to be normal data.
According to an embodiment of the present disclosure, the program evaluation method further includes, after determining a program evaluation result corresponding to the program to be evaluated according to the data flow chart, the following steps:
when the object evaluation result corresponding to the object identifier indicates that the object data does not pass the evaluation, displaying the object evaluation result based on a first predetermined mode by using the target object node, the M associated object nodes and the P target directed edges; and
and when the object evaluation result corresponding to the object identifier represents that the object data passes the evaluation, displaying the object evaluation result based on a second preset mode by using the target object node, the M associated object nodes and the P target directed edges.
According to an embodiment of the present disclosure, the program evaluation method further includes, before acquiring N pieces of object information according to N pieces of object identifiers in a blood relationship corresponding to the program to be evaluated, the foregoing:
Responding to a received program evaluation request, and acquiring the program to be evaluated indicated by the program evaluation request;
analyzing the program to be evaluated to obtain the N object identifiers and the association relation information; and
and determining the blood relationship according to the N object identifiers and the association relationship information.
According to another aspect of the present disclosure, there is provided a program evaluation apparatus including:
the first acquisition module is used for acquiring N pieces of object information according to N pieces of object identifiers in a blood relationship corresponding to a program to be evaluated, wherein N is a positive integer;
the first determining module is used for determining a program verification result according to the incidence relation information in the blood edge relation and the N pieces of object information;
the generation module is used for generating a data flow chart according to the blood relationship, the N pieces of object information and the program verification result, wherein the data flow chart comprises object nodes corresponding to the N pieces of object identifiers and directed edges between the N pieces of object nodes; and
and the second determining module is used for determining a program evaluation result corresponding to the program to be evaluated according to the data flow chart.
According to another aspect of the present disclosure, there is provided an electronic device including:
one or more processors;
a memory for storing one or more instructions,
wherein the one or more instructions, when executed by the one or more processors, cause the one or more processors to implement a method as described in the present disclosure.
According to another aspect of the present disclosure, there is provided a computer-readable storage medium having stored thereon executable instructions that, when executed by a processor, cause the processor to implement a method as described in the present disclosure.
According to another aspect of the present disclosure, there is provided a computer program product comprising computer executable instructions which, when executed, are adapted to carry out the method as described in the present disclosure.
According to the embodiment of the disclosure, since the data flow graph is generated according to the blood-edge relationship corresponding to the program to be evaluated, the object information is acquired according to the blood-edge relationship, and the program verification result is determined according to the association relationship information and the object information in the blood-edge relationship, the directed edges in the data flow graph can characterize the data dependency relationship between every two object nodes. On the basis, the technical problem that the efficiency and the accuracy of the analysis of the Hive program cannot be guaranteed in the related art is at least partially solved by determining the program evaluation result corresponding to the program to be evaluated according to the data flow chart.
Drawings
The above and other objects, features and advantages of the present disclosure will become more apparent from the following description of embodiments thereof with reference to the accompanying drawings in which:
FIG. 1 schematically illustrates a system architecture in which a method of program evaluation may be applied, according to an embodiment of the present disclosure;
FIG. 2 schematically illustrates a flow chart of a program evaluation method according to an embodiment of the disclosure;
FIG. 3 schematically illustrates an example schematic diagram of a process of acquiring N pieces of object information according to N pieces of object identifications in a blood relationship corresponding to a program under evaluation according to an embodiment of the present disclosure;
FIG. 4 schematically illustrates a flowchart of a method of determining a program verification result from association relationship information and N object information in a blood relationship according to an embodiment of the present disclosure;
FIG. 5 schematically illustrates an example schematic diagram of a process of determining associated object information from associated object identifications according to an embodiment of the present disclosure;
FIG. 6 schematically illustrates an example schematic diagram of a process of generating a dataflow graph from a blood relationship, N pieces of object information, and a program verification result, according to an embodiment of the disclosure;
FIG. 7 schematically illustrates an example schematic diagram of a process of determining a program evaluation result corresponding to a program under evaluation according to a dataflow diagram according to an embodiment of the disclosure;
FIG. 8 schematically illustrates an example schematic diagram of a program evaluation process according to an embodiment of the disclosure;
FIG. 9 schematically illustrates a block diagram of a program evaluation device according to an embodiment of the disclosure; and
fig. 10 schematically illustrates a block diagram of an electronic device adapted to implement a program evaluation method according to an embodiment of the disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is only exemplary and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the present disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. In addition, in the following description, descriptions of well-known structures and techniques are omitted so as not to unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and/or the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It should be noted that the terms used herein should be construed to have meanings consistent with the context of the present specification and should not be construed in an idealized or overly formal manner.
Where expressions like at least one of "A, B and C, etc. are used, the expressions should generally be interpreted in accordance with the meaning as commonly understood by those skilled in the art (e.g.," a system having at least one of A, B and C "shall include, but not be limited to, a system having a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). Where a formulation similar to at least one of "A, B or C, etc." is used, in general such a formulation should be interpreted in accordance with the ordinary understanding of one skilled in the art (e.g. "a system with at least one of A, B or C" would include but not be limited to systems with a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
In the technical scheme of the disclosure, the acquisition, storage, application and the like of the related personal information of the user all conform to the regulations of related laws and regulations, necessary security measures are taken, and the public order harmony is not violated.
In the technical scheme of the disclosure, the authorization or consent of the user is obtained before the personal information of the user is obtained or acquired.
Each link may have a problem of data quality due to the generation of final data from the data source during the analysis process of the Hive program. For example, in the case where the data quality of the data source itself is low, if the detection and processing of the data quality are not performed in the subsequent processing link either, the data quality of the Hive table will be low when the data finally flows to the Hive table. Alternatively, during the data processing of a certain link, improper processing may be performed on the data, resulting in lower data quality of the subsequent link.
Therefore, how to determine the data blood-lineage relationship is a challenge. Data blood-based relationships may refer to relationships between related data found during the course of data tracing. However, because development and testing environments have difficulty providing test verification data on the order of magnitude sufficient, the efficiency and accuracy of Hive program analysis and optimization cannot be guaranteed.
In order to at least partially solve the technical problems in the related art, the present disclosure provides a program evaluation method and apparatus, an electronic device, and a computer-readable storage medium, which can be applied to the fields of big data technology, data processing technology, and finance. The program evaluation method includes: according to the blood relationship corresponding to the program to be evaluated, acquiring object information corresponding to N object identifiers in the blood relationship, wherein N is a positive integer; determining a program verification result according to the incidence relation information in the blood relationship and the object information corresponding to each of the N object identifiers; generating a data flow chart according to the blood relationship, the object information corresponding to the N object identifiers and the program verification result, wherein the data flow chart comprises the object nodes corresponding to the N object identifiers and directed edges between the N object nodes; and determining a program evaluation result corresponding to the program to be evaluated according to the data flow chart.
It should be noted that the program evaluation method and apparatus provided in the embodiments of the present disclosure may be used in the fields of big data technology, data processing technology, and finance, for example, in the field of data management technology. The program evaluation method and the program evaluation device provided by the embodiment of the disclosure can also be applied to any field except big data technology, data processing technology and financial field, for example, applied to the technical field of software development. The application fields of the program evaluation method and the program evaluation device provided by the embodiment of the disclosure are not limited.
Fig. 1 schematically illustrates a system architecture to which a program evaluation method may be applied according to an embodiment of the present disclosure. It should be noted that fig. 1 is only an example of a system architecture to which embodiments of the present disclosure may be applied to assist those skilled in the art in understanding the technical content of the present disclosure, but does not mean that embodiments of the present disclosure may not be used in other devices, systems, environments, or scenarios.
As shown in fig. 1, a system architecture 100 according to this embodiment may include a first terminal device 101, a second terminal device 102, a third terminal device 103, a network 104, and a server 105. The network 104 is a medium used to provide a communication link between the first terminal device 101, the second terminal device 102, the third terminal device 103, and the server 105. The network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
The user may interact with the server 105 through the network 104 using at least one of the first terminal device 101, the second terminal device 102, the third terminal device 103, to receive or send messages, etc. Various communication client applications, such as a shopping class application, a web browser application, a search class application, an instant messaging tool, a mailbox client, social platform software, etc. (by way of example only) may be installed on the first terminal device 101, the second terminal device 102, and the third terminal device 103.
The first terminal device 101, the second terminal device 102, the third terminal device 103 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smartphones, tablets, laptop and desktop computers, and the like.
The server 105 may be a server providing various services, such as a background management server (by way of example only) providing support for websites browsed by the user using the first terminal device 101, the second terminal device 102, and the third terminal device 103. The background management server may analyze and process the received data such as the user request, and feed back the processing result (e.g., the web page, information, or data obtained or generated according to the user request) to the terminal device.
It should be noted that the program evaluation method provided by the embodiment of the present disclosure may be generally executed by the server 105. Accordingly, the program evaluation device provided by the embodiments of the present disclosure may be generally provided in the server 105. The program evaluation method provided by the embodiments of the present disclosure may also be performed by a server or a server cluster that is different from the server 105 and is capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103, and/or the server 105. Accordingly, the program evaluation apparatus provided by the embodiments of the present disclosure may also be provided in a server or a server cluster that is different from the server 105 and is capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103, and/or the server 105.
Alternatively, the program evaluation method provided by the embodiment of the present disclosure may be executed by the first terminal apparatus 101, the second terminal apparatus 102, or the third terminal apparatus 103, or may be executed by another terminal apparatus other than the first terminal apparatus 101, the second terminal apparatus 102, or the third terminal apparatus 103. Accordingly, the program evaluation apparatus provided by the embodiments of the present disclosure may also be provided in the first terminal device 101, the second terminal device 102, or the third terminal device 103, or in other terminal devices different from the first terminal device 101, the second terminal device 102, or the third terminal device 103.
It should be understood that the number of terminal devices, networks and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
It should be noted that the sequence numbers of the respective operations in the following methods are merely representative of the operations for the purpose of description, and should not be construed as representing the order of execution of the respective operations. The method need not be performed in the exact order shown unless explicitly stated.
Fig. 2 schematically illustrates a flow chart of a program evaluation method according to an embodiment of the present disclosure.
As shown in fig. 2, the program evaluation method 200 includes operations S210 to S240.
In operation S210, N pieces of object information are acquired according to N pieces of object identifications in the blood relationship corresponding to the program under evaluation. N is a positive integer.
In operation S220, a program verification result is determined according to the association relationship information and the N pieces of object information in the blood relationship.
In operation S230, a data flow graph is generated according to the blood relationship, the N object information, and the program verification result, wherein the data flow graph includes object nodes corresponding to the N object identifiers and directed edges between the N object nodes.
In operation S240, a program evaluation result corresponding to the program to be evaluated is determined according to the data flow diagram.
According to the embodiment of the present disclosure, the applicable scenario of the program evaluation method may be set according to the actual service requirement, which is not limited herein. For example, the program evaluation method may be applied to at least one of the following scenarios: a topic aggregation scenario and a data asset modeling development scenario.
According to the embodiment of the disclosure, since the scenario needs a hive data warehouse tool based on a large data platform to extract, convert and load data related to a program to be evaluated, modeling is performed by adopting a hive development program, a large number of structured query language association actions exist, and a large number of hive table association operations exist. The hive data warehouse tool can map structured data files into database tables, provide SQL query functions, and can transform SQL statements into MapReduce tasks for execution.
According to embodiments of the present disclosure, a blood-lineage relationship can refer to a wide variety of relationships formed from data to data over the full life cycle of the data. The blood-lineage relationship corresponding to the program under evaluation may be obtained by processing metadata corresponding to the program under evaluation.
According to the embodiment of the disclosure, after obtaining the blood-edge relationship corresponding to the program to be evaluated, the object information corresponding to each of the N object identifications in the blood-edge relationship may be obtained according to the blood-edge relationship corresponding to the program to be evaluated. The object information may include program code segments and metadata information corresponding to the object identification. The method for obtaining the object information may be set according to the actual service requirement, which is not limited herein. For example, the object information may be acquired by real-time acquisition. For example, the original object information corresponding to the object identifier may be obtained according to each object identifier in the N object identifiers, and the object information may be obtained by processing the original object information. Alternatively, the object information may be obtained from a data source. The data source may include at least one of: local databases, cloud databases, data lakes, and network resources. For example, a data interface may be invoked, with which object information is obtained from a data source. Alternatively, the object information may be received from other terminal devices.
According to the embodiment of the disclosure, after the object information corresponding to each of the N object identifiers is obtained, the program verification result may be determined according to the association relationship information in the blood relationship and the object information corresponding to each of the N object identifiers. The program verification result may include object verification results corresponding to each of the N object identifications. The object verification result may be used to characterize whether object data corresponding to each of the N object identifications passes the evaluation. The object verification result may be determined from object information corresponding to the object identification and associated object information. The association object information may be determined according to the relationship information.
According to the embodiment of the disclosure, after the program verification results corresponding to the N object identifiers are obtained, a data flow chart may be generated according to the blood relationship, the object information corresponding to the N object identifiers, and the program verification results. The data flow graph may include a directed acyclic graph (Directed Acyclic Graph, DAG). The data flow graph may include object nodes corresponding to each of the N object identifications and directed edges between the N object nodes. The object nodes may be used to characterize subroutine tasks. Subroutine tasks may refer to segments of program code. Directed edges may be used to characterize dependencies between subroutine tasks. A dependency may refer to a target subroutine task that may only be executed if the execution of the pre-subroutine task is successful.
According to the embodiment of the disclosure, the object node and the directed edge corresponding to the object identifier can be constructed according to the object information corresponding to the object identifier, the object verification result and the association relation information. The object node may comprise at least one of: target object nodes and associated object nodes. On this basis, a data flow graph can be generated according to the object nodes and directed edges corresponding to the object identifiers.
According to the embodiment of the disclosure, after the data flow diagram is obtained, a program evaluation result corresponding to the program to be evaluated may be determined according to the data flow diagram. The program evaluation result may include object evaluation results corresponding to each of the N object identifications. The object evaluation result may be used to characterize whether object data corresponding to the object identification passes the evaluation.
According to the embodiment of the disclosure, since the data flow graph is generated according to the blood-edge relationship corresponding to the program to be evaluated, the object information is acquired according to the blood-edge relationship, and the program verification result is determined according to the association relationship information and the object information in the blood-edge relationship, the directed edges in the data flow graph can characterize the data dependency relationship between every two object nodes. On the basis, the technical problem that the efficiency and the accuracy of the analysis of the Hive program cannot be guaranteed in the related art is at least partially solved by determining the program evaluation result corresponding to the program to be evaluated according to the data flow chart.
A program evaluation method 200 according to an embodiment of the present invention is further described below with reference to fig. 3-8.
According to an embodiment of the present disclosure, operation S210 may include the following operations.
And determining storage path information corresponding to each of the N object identifiers according to the N object identifiers. And calling a target interface, and acquiring N pieces of object information from the data lake according to the storage path information corresponding to the N pieces of object identifiers.
According to embodiments of the present disclosure, items corresponding to a program under evaluation may have a development environment (i.e., development), a production environment (i.e., production), and a test environment (i.e., test). A development environment file corresponding to the development environment, a production environment file corresponding to the production environment, and a test environment file corresponding to the test environment may be created under the root directory of the project.
According to the embodiment of the disclosure, the target environment file corresponding to the target environment may be determined by selecting the target environment. And respectively determining storage path information corresponding to the N object identifiers according to the N object identifiers in the program to be evaluated. And determining a target interface according to the target environment file. On the basis, a target interface can be called, and object information corresponding to each of N object identifiers is acquired from the data lake according to the storage path information. The object information may include at least one of object data, time information, and a verification rule.
Fig. 3 schematically illustrates an example schematic diagram of a process of acquiring object information corresponding to each of N object identifications in a blood relationship according to the blood relationship corresponding to a program to be evaluated according to an embodiment of the present disclosure.
As shown in fig. 3, in 300, storage path information 302 corresponding to an object identifier 301 may be determined from the object identifier 301. The target interface 303 is invoked to obtain object information 304 from the data lake based on the storage path information 302.
Fig. 4 schematically illustrates a flowchart of a method of determining a program verification result from association relationship information and N pieces of object information in a blood relationship according to an embodiment of the present disclosure.
As shown in fig. 4, the method 400 may include operations S421 to S426.
In operation S421, an association object identification is determined according to the association relationship information.
In operation S422, associated object information is determined according to the associated object identification, wherein the associated object information includes associated object data and associated time information.
In operation S423, query size information corresponding to the object identification is determined according to the time information and the associated time information.
In operation S424, the blood relationship is verified according to the query scale information, and a verification result is obtained.
In case that the verification result indicates that there is an abnormality in the blood-related relationship, operation S425 may be performed. In operation S425, it is determined that the object verification result characterizing the object data that fails the evaluation.
In case that the verification result indicates that the blood relationship is normal, operation S426 may be performed. In operation S426, it is determined that the characterization object data passes the evaluated object check result.
According to an embodiment of the present disclosure, the object information may include object data and time information. The program verification result may include object verification results corresponding to each of the N object identifications.
According to an embodiment of the present disclosure, the object information corresponding to the object identification a may include object data a1 and time information a2. After the object information corresponding to each of the N object identifications is obtained, the associated object identification may be determined according to the association relationship information corresponding to the object identification. For example, the association relationship information corresponding to the object identification a may include the object identification a- > the object identification B, the object identification a- > the object identification C, in which case it may be determined that the associated object identification includes the object identification B and the object identification C.
According to embodiments of the present disclosure, after the associated object identification is obtained, associated object information may be determined from the associated object identification. The associated object information may include associated object data and associated time information. For example, the associated object information corresponding to the object identification B may include associated object data B1 and associated time information B2. The associated object information corresponding to the object identification C may include associated object data C1 and associated time information C2.
According to the embodiment of the disclosure, after the associated object information is obtained, the query scale information corresponding to the object identification may be determined according to the time information and the associated time information. The query size information may be used to characterize the size of the query data volume for each associated action. For example, the query size information may be determined from the object data a1, the associated object data b1, and the associated object data c 1. The determination manner of the query scale information may be set according to the actual service requirement, which is not limited herein. For example, an accumulated value of the time information and the associated time information may be determined, and the query size information may be determined based on the accumulated value. Alternatively, the time information and the associated time information may be weighted according to a predetermined coefficient to obtain the query scale information.
According to the embodiment of the disclosure, after the query scale information is obtained, the blood relationship can be verified according to the query scale information, so as to obtain a verification result. The verification result can be used for representing whether the blood relationship is abnormal or not. For example, whether there is an abnormality in the blood-lineage relationship can be determined by judging whether the association condition generates data expansion.
According to an embodiment of the present disclosure, operation S422 may include the following operations.
And determining candidate associated object information according to the associated object identification, wherein the candidate associated object information comprises candidate associated object data and candidate associated time information. And carrying out integrity check on the candidate associated object data according to the check rule to obtain an integrity check result. And determining the candidate associated object information as associated object information in response to the integrity check result characterizing that the candidate associated object data passes the integrity check.
According to embodiments of the present disclosure, the object information may further include a verification rule.
According to the embodiment of the disclosure, the integrity check of the candidate associated object data can be performed according to the check rule in the object information. The verification rule may include at least one of: type check rules and field check rules. The integrity check may include at least one of: data type checksum data integrity verification. And carrying out data type verification on the candidate associated object data according to the type verification rule to obtain a data type verification result. And under the condition that the data type verification result represents that the data type verification passes, carrying out data integrity verification on the candidate associated object data according to the field verification rule to obtain an integrity verification result.
According to the embodiment of the disclosure, since the object verification result is obtained by verifying the blood relationship according to the query scale information corresponding to the object identification, the query scale information is determined according to the time information in the object information and the associated time information in the associated object information, and the associated object information is determined by performing integrity verification on the candidate associated object data, the automatic determination of the object verification result is realized. On the basis, the program verification result comprises the object verification results corresponding to the N object identifiers, so that the efficiency of determining the program verification result is improved.
Fig. 5 schematically illustrates an example schematic diagram of a process of determining associated object information from associated object identifications according to an embodiment of the present disclosure.
As shown in fig. 5, in 500, candidate association object information 502 may be determined from association object identification 501. The candidate associated object information 502 may include candidate associated object data 5021 and candidate associated time information 5022.
The candidate associated object data 5021 may be subjected to integrity check according to the check rule 503, to obtain an integrity check result 504. In response to the integrity check result 504 characterizing that the candidate associated object data 5021 passes the integrity check, the candidate associated object information 502 may be determined as associated object information 505.
According to an embodiment of the present disclosure, operation S230 may include the following operations.
And constructing an object node corresponding to the object identifier according to the object information and the object verification result. And constructing a directed edge corresponding to the object identifier according to the association relation information. And generating a data flow chart according to the object nodes and the directed edges corresponding to the object identifiers.
According to embodiments of the present disclosure, a data flow graph may include object nodes corresponding to N object identifications, respectively, and directed edges between the N object nodes. The object nodes may be used to characterize subroutine tasks. Subroutine tasks may refer to segments of program code. Directed edges may be used to characterize dependencies between subroutine tasks. The dataflow graph may be used to illustrate a data processing flow corresponding to a program under evaluation.
According to the embodiment of the disclosure, the data flow graph is generated according to the object nodes corresponding to the object identifiers and the directed edges, the object nodes are constructed according to the object information corresponding to the object identifiers and the object verification results, and the directed edges are constructed according to the association relation information, so that the program to be evaluated can be evaluated based on the directed acyclic graph principle, and the accuracy of program evaluation is improved.
Fig. 6 schematically illustrates an example schematic diagram of a process of generating a data flow graph according to a blood relationship, N pieces of object information, and a program verification result according to an embodiment of the present disclosure.
As shown in fig. 6, in 600, for each object identifier 601 of the N object identifiers 601, an object node 605 corresponding to the object identifier 601 may be constructed according to object information 603 corresponding to the object identifier 601 and an object verification result 604. A directed edge 606 corresponding to the object identification 601 may be constructed from the association information 602.
On this basis, a data flow graph 607 may be generated from the object node 605 and the directed edge 606 corresponding to the object identification 601.
According to an embodiment of the present disclosure, operation S240 may include the following operations.
And determining target object nodes corresponding to the object identifiers, M associated object nodes and P item marked directed edges, wherein M and P are positive integers. And evaluating the target object data corresponding to the target object node and the associated object data corresponding to each of the M associated object nodes according to a preset evaluation rule. And under the condition that abnormal data exists in the target object data and the M pieces of associated object data, obtaining an object evaluation result of which the characteristic object data does not pass the evaluation. And under the condition that the target object data and the M associated object data are both normal data, obtaining an object evaluation result of the characteristic object data through evaluation.
According to an embodiment of the present disclosure, the program evaluation result may include object evaluation results corresponding to each of the N object identifications.
According to an embodiment of the present disclosure, the object evaluation result corresponding to each of the N object identifications may have an object evaluation type. The object assessment type may include at least one of: pre-screening logic evaluation, invalid field evaluation, sub-query scale evaluation to be optimized, no-primary key association link evaluation, structured query language evaluation, cartesian product evaluation, partition table evaluation, statement use evaluation, execution time consumption evaluation and disk occupation evaluation.
Fig. 7 schematically illustrates an example schematic diagram of a procedure of determining a program evaluation result corresponding to a program to be evaluated according to a data flow chart according to an embodiment of the present disclosure.
As shown in fig. 7, in 700, for each object identifier 701 of the N object identifiers 701, a target object node 702, M associated object nodes 703, and a P-entry labeled directed edge 704 corresponding to the object identifier 701 may be determined.
The target object data 705 corresponding to the target object node 702 and the associated object data 706 corresponding to each of the M associated object nodes 703 are evaluated according to a preset evaluation rule 707.
In operation S710, it is determined that there is abnormal data among the target object data and M associated object data?
If so, an object assessment result 708 can be obtained that characterizes the object data as not being assessed.
If not, an object evaluation result 709 can be obtained that characterizes the object data passing the evaluation.
According to an embodiment of the present disclosure, the program evaluation method 200 may further include the following operations.
And under the condition that the object evaluation result corresponding to the object identification represents that the object data fails to pass the evaluation, displaying the object evaluation result based on a first preset mode by utilizing the target object node, M associated object nodes and the P item marked directed edges. And under the condition that the object evaluation result corresponding to the object identifier represents that the object data passes the evaluation, displaying the object evaluation result based on a second preset mode by utilizing the target object node, M associated object nodes and the P item marked directed edges.
According to an embodiment of the present disclosure, in a case where the object evaluation result corresponding to the object identification characterizes that the object data is not evaluated, the object evaluation result and the program optimization suggestion may be presented based on the first predetermined pattern. The first predetermined mode may be set according to actual service requirements, which is not limited herein. For example, the first predetermined pattern may include a first predetermined color and/or a first predetermined icon.
Taking the object evaluation type as an example of the structured query language evaluation, the detachable association table included in the structured query language may be presented with a first predetermined color according to an embodiment of the present disclosure. Alternatively, a complex, detachable structured query language may be identified using a first predetermined icon.
According to the embodiment of the disclosure, taking the object evaluation type as an example of statement use evaluation, a nuion all statement in object data can be identified by using a first predetermined icon, and the nuion all statement is converted into the form of an insert intotemporary table by using a first predetermined color presentation.
Taking the object evaluation type as an example of performing time-consuming evaluation according to the embodiments of the present disclosure, COUNT (DISTINCT) in the object data and the most time-consuming step in the overall execution process may be identified by using a first predetermined icon, and the processing steps that can be performed in the local mode or in the parallel mode are presented by using a first predetermined color.
Taking the object evaluation type as an example of disk occupation amount evaluation, the disk occupation amount evaluation of the processed data table in the HDFS storage system can be displayed by using a first preset color according to the embodiment of the present disclosure. Alternatively, the disk occupancy estimate may be identified using a first predetermined icon.
According to an embodiment of the present disclosure, in a case where the object evaluation result corresponding to the object identification characterizes the passing of the object data, the object evaluation result may be presented based on the second predetermined pattern. The second predetermined mode may be set according to actual service requirements, which is not limited herein. For example, the second predetermined pattern may include a second predetermined color and/or a second predetermined icon.
According to the embodiment of the disclosure, since the object evaluation result is obtained by evaluating the target object data corresponding to the target object node and the associated object data corresponding to each of the M associated object nodes according to the preset evaluation rule, a developer can complete program verification in the early self-test stage under the condition of lacking hardware resources and test data support, thereby reducing development cost and shortening development flow. On the basis, the object evaluation result is displayed based on the preset mode, so that a developer is helped to optimize the subsequent processing link design and coding optimization details, and the evaluation efficiency of the program to be evaluated is improved.
According to an embodiment of the present disclosure, the program evaluation method 200 may further include the following operations.
And responding to the received program evaluation request, and acquiring a program to be evaluated indicated by the program evaluation request. And analyzing the program to be evaluated to obtain N object identifiers and association relation information. And determining the blood relationship according to the N object identifications and the association relationship information.
According to the embodiment of the disclosure, a code for generating a program evaluation request may be written in a script in advance, and in response to detecting a program evaluation operation performed by a target user using a user terminal, the target terminal may run the script to generate a program evaluation request message, and may send the program evaluation request message to a server, so that the server evaluates a program to be evaluated corresponding to the program evaluation operation according to the program evaluation request message.
According to the embodiment of the disclosure, after receiving the program evaluation request, the server may acquire the program to be evaluated indicated by the program evaluation request. And analyzing the program to be evaluated to obtain N object identifiers and association relation information included in the program to be evaluated. The N object identifications may each correspond to a program code segment. The association information may be used to characterize an association between the program code segments corresponding to each of the N object identifiers. After obtaining the N object identifications and the association relationship information, the blood-edge relationship may be determined according to the N object identifications and the association relationship information.
Fig. 8 schematically illustrates an example schematic diagram of a program evaluation process according to an embodiment of the present disclosure.
As shown in fig. 8, in 800, in response to receiving a program evaluation request 801, a program 802 to be evaluated indicated by the program evaluation request 801 may be acquired. The program 801 to be evaluated is subjected to analysis processing, and N object identifiers 8031 and association relationship information 8032 are obtained. The blood relationship 804 may be determined according to the N object identifications 8031 and the association relationship information 8032.
N pieces of object information 805 may be acquired from N pieces of object identifications 8031 in the blood relationship 804 corresponding to the program under evaluation 802. Program verification results 806 are determined from the blood relationship 804 and the N pieces of object information 805.
Object node 807 is constructed from N object identifiers, corresponding to each object information 805 and program verification results 806. Based on the association information 8032, a directed edge 808 is constructed. From the object nodes 807 and the directed edges 808, a data flow graph 809 is generated. From the data flow diagram 809, a program evaluation result 810 corresponding to the program under evaluation 802 is determined.
The above is only an exemplary embodiment, but is not limited thereto, and other program evaluation methods known in the art may be included as long as the efficiency and accuracy of program evaluation can be improved.
Fig. 9 schematically shows a block diagram of a program evaluation apparatus according to an embodiment of the present disclosure.
As shown in fig. 9, the program evaluation apparatus 900 may include a first acquisition module 910, a first determination module 920, a generation module 930, and a second determination module 940.
The first obtaining module 910 is configured to obtain N pieces of object information according to N pieces of object identifiers in a blood relationship corresponding to a program to be evaluated. N is a positive integer.
The first determining module 920 is configured to determine a program verification result according to the association relationship information and the N pieces of object information in the blood relationship.
The generating module 930 is configured to generate a data flow graph according to the blood relationship, the N object information, and the program verification result, where the data flow graph includes object nodes corresponding to the N object identifiers and directed edges between the N object nodes.
And a second determining module 940, configured to determine a program evaluation result corresponding to the program to be evaluated according to the data flow chart.
According to an embodiment of the present disclosure, the first acquisition module 910 may include a first determination unit and a first acquisition unit.
And the first determining unit is used for determining storage path information corresponding to the N object identifiers according to the N object identifiers.
The first acquisition unit is used for calling the target interface and acquiring N pieces of object information from the data lake according to the storage path information corresponding to the N pieces of object identification.
According to an embodiment of the present disclosure, the object information includes object data and time information, and the program verification result includes object verification results corresponding to each of the N object identifications.
According to an embodiment of the present disclosure, the first determining module 920 may include a second determining unit, a third determining unit, a fourth determining unit, a verifying unit, a fifth determining unit, and a sixth determining unit.
And the second determining unit is used for determining the association object identification according to the association relation information.
And the third determining unit is used for determining associated object information according to the associated object identification, wherein the associated object information comprises associated object data and associated time information.
And a fourth determining unit, configured to determine query scale information corresponding to the object identifier according to the time information and the associated time information.
And the verification unit is used for verifying the blood relationship according to the inquiry scale information to obtain a verification result.
And a fifth determining unit, configured to determine an object verification result that characterizes the object data and fails the evaluation, in a case where the verification result characterizes the blood-edge relationship as abnormal.
And the sixth determining unit is used for determining that the object data is represented by the evaluated object verification result under the condition that the verification result represents that the blood relationship is normal.
According to an embodiment of the present disclosure, the object information further includes a verification rule.
According to an embodiment of the present disclosure, the third determination unit may include a first determination subunit, an integrity check subunit, and a second determination subunit.
And the first determination subunit is used for determining candidate associated object information according to the associated object identification, wherein the candidate associated object information comprises candidate associated object data and candidate associated time information.
And the integrity checking subunit is used for carrying out integrity checking on the candidate associated object data according to the checking rule to obtain an integrity checking result.
And a second determining subunit, configured to determine the candidate associated object information as associated object information in response to the integrity check result characterizing that the candidate associated object data passes the integrity check.
According to an embodiment of the present disclosure, the generating module 930 may include a first constructing unit, a second constructing unit, and a generating unit.
And the first construction unit is used for constructing the object node corresponding to the object identifier according to the object information and the object verification result.
And the second construction unit is used for constructing the directed edge corresponding to the object identifier according to the association relation information.
And the generating unit is used for generating a data flow chart according to the object nodes and the directed edges corresponding to the object identifiers.
According to an embodiment of the present disclosure, the program evaluation result includes object evaluation results corresponding to each of the N object identifications.
According to an embodiment of the present disclosure, the second determining module 940 may include a seventh determining unit, an evaluating unit, an eighth determining unit, and a ninth determining unit.
And a seventh determining unit, configured to determine a target object node corresponding to the object identifier, M associated object nodes, and a P-entry marked directed edge.
And the evaluation unit is used for evaluating the target object data corresponding to the target object node and the associated object data corresponding to each of the M associated object nodes according to a preset evaluation rule.
And an eighth determining unit, configured to obtain an object evaluation result that characterizes the object data that fails to be evaluated, in a case where it is determined that there is abnormal data in the target object data and the M associated object data.
And a ninth determining unit, configured to obtain an object evaluation result that characterizes the object data through evaluation, when it is determined that the target object data and the M associated object data are both normal data.
According to an embodiment of the present disclosure, the program evaluation device 900 may further include a first display module and a second display module.
And the first display module is used for displaying the object evaluation result based on a first preset mode by using the target object node, the M associated object nodes and the P item mark directed edges under the condition that the object evaluation result corresponding to the object identifier represents that the object data does not pass the evaluation.
And the second display module is used for displaying the object evaluation result based on a second preset mode by using the target object node, the M associated object nodes and the P item mark directed edges under the condition that the object evaluation result corresponding to the object identifier represents that the object data passes the evaluation.
According to an embodiment of the present disclosure, the program evaluation device 900 may further include a second acquisition module, an analysis processing module, and a third determination module.
And the second acquisition module is used for responding to the received program evaluation request and acquiring the program to be evaluated indicated by the program evaluation request.
And the analysis processing module is used for analyzing the program to be evaluated to obtain N object identifiers and association relation information.
And the third determining module is used for determining the blood margin relation according to the N object identifications and the association relation information.
Any number of modules, sub-modules, units, sub-units, or at least some of the functionality of any number of the sub-units according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented as split into multiple modules. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system-on-chip, a system-on-substrate, a system-on-package, an Application Specific Integrated Circuit (ASIC), or in any other reasonable manner of hardware or firmware that integrates or encapsulates the circuit, or in any one of or a suitable combination of three of software, hardware, and firmware. Alternatively, one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be at least partially implemented as computer program modules, which when executed, may perform the corresponding functions.
For example, any of the first acquisition module 910, the first determination module 920, the generation module 930, and the second determination module 940 may be combined in one module/unit/sub-unit, or any of the modules/units/sub-units may be split into a plurality of modules/units/sub-units. Alternatively, at least some of the functionality of one or more of these modules/units/sub-units may be combined with at least some of the functionality of other modules/units/sub-units and implemented in one module/unit/sub-unit. According to embodiments of the present disclosure, at least one of the first acquisition module 910, the first determination module 920, the generation module 930, and the second determination module 940 may be implemented at least in part as hardware circuitry, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or in hardware or firmware, such as any other reasonable manner of integrating or packaging the circuitry, or in any one of or a suitable combination of three of software, hardware, and firmware. Alternatively, at least one of the first acquisition module 910, the first determination module 920, the generation module 930, and the second determination module 940 may be at least partially implemented as computer program modules, which when executed, may perform the respective functions.
It should be noted that, in the embodiment of the present disclosure, the program evaluation device portion corresponds to the program evaluation method portion in the embodiment of the present disclosure, and the description of the program evaluation device portion specifically refers to the program evaluation method portion and is not described herein.
Fig. 10 schematically illustrates a block diagram of an electronic device adapted to implement a program evaluation method according to an embodiment of the disclosure. The electronic device shown in fig. 10 is merely an example and should not be construed to limit the functionality and scope of use of the disclosed embodiments.
As shown in fig. 10, a computer electronic device 1000 according to an embodiment of the present disclosure includes a processor 1001 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 1002 or a program loaded from a storage section 1009 into a Random Access Memory (RAM) 1003. The processor 1001 may include, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor and/or an associated chipset and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), or the like. The processor 1001 may also include on-board memory for caching purposes. The processor 1001 may include a single processing unit or multiple processing units for performing different actions of the method flows according to embodiments of the present disclosure.
In the RAM 1003, various programs and data necessary for the operation of the electronic apparatus 1000 are stored. The processor 1001, the ROM 1002, and the RAM 1003 are connected to each other by a bus 1004. The processor 1001 performs various operations of the method flow according to the embodiment of the present disclosure by executing programs in the ROM 1002 and/or the RAM 1003. Note that the program may be stored in one or more memories other than the ROM 1002 and the RAM 1003. The processor 1001 may also perform various operations of the method flow according to the embodiments of the present disclosure by executing programs stored in the one or more memories.
According to an embodiment of the disclosure, the electronic device 1000 may also include an input/output (I/O) interface 1005, the input/output (I/O) interface 1005 also being connected to the bus 1004. The electronic device 1000 may also include one or more of the following components connected to an input/output (I/O) interface 1005: an input section 1006 including a keyboard, a mouse, and the like; an output portion 1007 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), etc., and a speaker, etc.; a storage portion 1008 including a hard disk or the like; and a communication section 1009 including a network interface card such as a LAN card, a modem, or the like. The communication section 1009 performs communication processing via a network such as the internet. The drive 1010 is also connected to an input/output (I/O) interface 1005 as needed. A removable medium 1011, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like, is installed as needed in the drive 1010, so that a computer program read out therefrom is installed as needed in the storage section 1008.
According to embodiments of the present disclosure, the method flow according to embodiments of the present disclosure may be implemented as a computer software program. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable storage medium, the computer program comprising program code for performing the method shown in the flowcharts. In such an embodiment, the computer program may be downloaded and installed from a network via the communication portion 1009, and/or installed from the removable medium 1011. The above-described functions defined in the system of the embodiments of the present disclosure are performed when the computer program is executed by the processor 1001. The systems, devices, apparatus, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the disclosure.
The present disclosure also provides a computer-readable storage medium that may be embodied in the apparatus/device/system described in the above embodiments; or may exist alone without being assembled into the apparatus/device/system. The computer-readable storage medium carries one or more programs which, when executed, implement methods in accordance with embodiments of the present disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium. Examples may include, but are not limited to: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this disclosure, a computer-readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
For example, according to embodiments of the present disclosure, the computer-readable storage medium may include ROM 1002 and/or RAM 1003 and/or one or more memories other than ROM 1002 and RAM 1003 described above.
Embodiments of the present disclosure also include a computer program product comprising a computer program comprising program code for performing the methods provided by the embodiments of the present disclosure, the program code for causing an electronic device to implement the program evaluation methods provided by the embodiments of the present disclosure when the computer program product is run on the electronic device.
The above-described functions defined in the system/apparatus of the embodiments of the present disclosure are performed when the computer program is executed by the processor 1001. The systems, apparatus, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the disclosure.
In one embodiment, the computer program may be based on a tangible storage medium such as an optical storage device, a magnetic storage device, or the like. In another embodiment, the computer program may also be transmitted in the form of signals on a network medium, distributed, and downloaded and installed via the communication section 1009, and/or installed from the removable medium 1011. The computer program may include program code that may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
According to embodiments of the present disclosure, program code for performing computer programs provided by embodiments of the present disclosure may be written in any combination of one or more programming languages, and in particular, such computer programs may be implemented in high-level procedural and/or object-oriented programming languages, and/or assembly/machine languages. Programming languages include, but are not limited to, such as Java, c++, python, "C" or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of remote computing devices, the remote computing device may be connected to the user computing device through any kind 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., connected via the Internet using an Internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions. Those skilled in the art will appreciate that the features recited in the various embodiments of the disclosure and/or in the claims may be combined in various combinations and/or combinations, even if such combinations or combinations are not explicitly recited in the disclosure. In particular, the features recited in the various embodiments of the present disclosure and/or the claims may be variously combined and/or combined without departing from the spirit and teachings of the present disclosure. All such combinations and/or combinations fall within the scope of the present disclosure.
The embodiments of the present disclosure are described above. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments are described above separately, this does not mean that the measures in the embodiments cannot be used advantageously in combination. The scope of the disclosure is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be made by those skilled in the art without departing from the scope of the disclosure, and such alternatives and modifications are intended to fall within the scope of the disclosure.

Claims (12)

1. A program evaluation method comprising:
acquiring N pieces of object information according to N pieces of object identifiers in a blood relationship corresponding to a program to be evaluated, wherein N is a positive integer;
determining a program verification result according to the incidence relation information in the blood relationship and the N pieces of object information;
generating a data flow chart according to the blood relationship, the N object information and the program verification result, wherein the data flow chart comprises object nodes corresponding to the N object identifiers and directed edges between the N object nodes; and
and determining a program evaluation result corresponding to the program to be evaluated according to the data flow chart.
2. The method of claim 1, wherein the acquiring N pieces of object information according to N pieces of object identifications in a blood-edge relationship corresponding to the program under evaluation comprises:
determining storage path information corresponding to each of the N object identifiers according to the N object identifiers; and
and calling a target interface, and acquiring the N pieces of object information from the data lake according to the storage path information corresponding to the N pieces of object identification.
3. The method of claim 1, wherein the object information includes object data and time information, and the program verification result includes object verification results corresponding to each of the N object identifications;
the determining a program verification result according to the association relation information in the blood relationship and the N pieces of object information comprises:
determining an associated object identifier according to the associated relation information;
determining associated object information according to the associated object identification, wherein the associated object information comprises associated object data and associated time information;
determining query scale information corresponding to the object identifier according to the time information and the associated time information;
checking the blood relationship according to the inquiry scale information to obtain a checking result;
Determining the object verification result which represents that the object data fails to pass the evaluation under the condition that the verification result represents that the blood relationship is abnormal; and
and under the condition that the verification result represents that the blood relationship is normal, determining the object verification result which represents that the object data passes the evaluation.
4. A method according to claim 3, wherein the object information further comprises a verification rule;
the determining the associated object information according to the associated object identifier comprises the following steps:
determining candidate associated object information according to the associated object identification, wherein the candidate associated object information comprises candidate associated object data and candidate associated time information;
carrying out integrity check on the candidate associated object data according to the check rule to obtain an integrity check result; and
and determining the candidate associated object information as the associated object information in response to the integrity check result representing that the candidate associated object data passes the integrity check.
5. The method of any of claims 1 to 4, wherein the generating a data flow graph from the blood relationship, the N pieces of object information, and the program verification result comprises:
Constructing an object node corresponding to the object identifier according to the object information and the object verification result;
constructing a directed edge corresponding to the object identifier according to the association relation information; and
and generating the data flow diagram according to the object node corresponding to the object identifier and the directed edge.
6. The method of any of claims 1 to 4, wherein the program evaluation results include object evaluation results corresponding to each of the N object identifications;
the determining the program evaluation result corresponding to the program to be evaluated according to the data flow diagram comprises the following steps:
determining target object nodes corresponding to the object identifiers, M associated object nodes and P item marked directed edges, wherein M and P are positive integers;
according to a preset evaluation rule, evaluating target object data corresponding to the target object node and associated object data corresponding to each of the M associated object nodes;
obtaining an object evaluation result representing that the object data fails to pass evaluation under the condition that abnormal data exists in the target object data and the M pieces of associated object data; and
And under the condition that the target object data and the M pieces of associated object data are normal data, obtaining an object evaluation result which characterizes the object data to pass the evaluation.
7. The method of claim 6, further comprising, after the determining, from the data flow graph, a program evaluation result corresponding to the program under evaluation:
when the object evaluation result corresponding to the object identifier represents that the object data does not pass evaluation, displaying the object evaluation result based on a first preset mode by utilizing the target object node, the M associated object nodes and the P item marked directed edges; and
and under the condition that the object evaluation result corresponding to the object identifier represents that the object data passes evaluation, displaying the object evaluation result based on a second preset mode by utilizing the target object node, the M associated object nodes and the P item marked directed edges.
8. The method of any one of claims 1 to 4, further comprising, prior to the obtaining, from the N object identifications in the blood-edge relationship corresponding to the program under evaluation, object information corresponding to each of the N object identifications in the blood-edge relationship:
Responding to a received program evaluation request, and acquiring the program to be evaluated indicated by the program evaluation request;
analyzing the program to be evaluated to obtain the N object identifiers and the association relation information; and
and determining the blood relationship according to the N object identifiers and the association relationship information.
9. A program evaluation device comprising:
the first acquisition module is used for acquiring N pieces of object information according to N pieces of object identifiers in a blood relationship corresponding to a program to be evaluated, wherein N is a positive integer;
the first determining module is used for determining a program verification result according to the incidence relation information in the blood relationship and the N pieces of object information;
the generation module is used for generating a data flow chart according to the blood relationship, the N pieces of object information and the program verification result, wherein the data flow chart comprises object nodes corresponding to the N pieces of object identifiers and directed edges between the N pieces of object nodes; and
and the second determining module is used for determining a program evaluation result corresponding to the program to be evaluated according to the data flow diagram.
10. An electronic device, comprising:
One or more processors;
a memory for storing one or more instructions,
wherein the one or more instructions, when executed by the one or more processors, cause the one or more processors to implement the method of any of claims 1 to 8.
11. A computer readable storage medium having stored thereon executable instructions which when executed by a processor cause the processor to implement the method of any of claims 1 to 8.
12. A computer program product comprising computer executable instructions for implementing the method of any one of claims 1 to 8 when executed.
CN202310456748.1A 2023-04-25 2023-04-25 Program evaluation method and device, electronic equipment and computer readable storage medium Pending CN116483888A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310456748.1A CN116483888A (en) 2023-04-25 2023-04-25 Program evaluation method and device, electronic equipment and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310456748.1A CN116483888A (en) 2023-04-25 2023-04-25 Program evaluation method and device, electronic equipment and computer readable storage medium

Publications (1)

Publication Number Publication Date
CN116483888A true CN116483888A (en) 2023-07-25

Family

ID=87217416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310456748.1A Pending CN116483888A (en) 2023-04-25 2023-04-25 Program evaluation method and device, electronic equipment and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN116483888A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117131791A (en) * 2023-10-27 2023-11-28 德特赛维技术有限公司 Model evaluation method, system and storage medium based on big data platform

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117131791A (en) * 2023-10-27 2023-11-28 德特赛维技术有限公司 Model evaluation method, system and storage medium based on big data platform
CN117131791B (en) * 2023-10-27 2024-01-23 德特赛维技术有限公司 Model evaluation method, system and storage medium based on big data platform

Similar Documents

Publication Publication Date Title
US20210182031A1 (en) Methods and apparatus for automatic detection of software bugs
US20210073107A1 (en) Testing source code changes
CN110532185B (en) Test method, test device, electronic equipment and computer readable storage medium
CN113032244B (en) Interface test method, device, computer system and computer readable storage medium
JP2017514218A (en) Running third-party applications
CN112817831A (en) Application performance monitoring method, device, computer system and readable storage medium
CN113535577B (en) Application testing method and device based on knowledge graph, electronic equipment and medium
CN116483888A (en) Program evaluation method and device, electronic equipment and computer readable storage medium
US20150339219A1 (en) Resilient mock object creation for unit testing
CN110795331A (en) Software testing method and device
US11347533B2 (en) Enhanced virtual machine image management system
CN116166547A (en) Code change range analysis method, device, equipment and storage medium
CN115809193A (en) Front-end reverse abnormal data robustness detection method, device and storage medium
CN115033489A (en) Code resource detection method and device, electronic equipment and storage medium
CN114116509A (en) Program analysis method, program analysis device, electronic device, and storage medium
CN116401113B (en) Environment verification method, device and medium for heterogeneous many-core architecture acceleration card
CN112817573B (en) Method, apparatus, computer system, and medium for building a streaming computing application
CN116894004A (en) Information display method and device, electronic equipment and computer readable storage medium
CN114817036A (en) Decision tree testing method and device, electronic equipment and storage medium
CN114840435A (en) Method, device, equipment, storage medium and program product for determining data flow direction
CN117435464A (en) Software testing method and device, electronic equipment and computer readable storage medium
CN116467214A (en) Code quality detection method, device, equipment and storage medium
CN114116519A (en) Interface test method and device, electronic equipment and storage medium
CN117370145A (en) Program testing method, device, electronic equipment and storage medium
CN113032256A (en) Automatic test method, device, computer system and readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination