CN116627568A - Visual positioning system of data - Google Patents

Visual positioning system of data Download PDF

Info

Publication number
CN116627568A
CN116627568A CN202310597909.9A CN202310597909A CN116627568A CN 116627568 A CN116627568 A CN 116627568A CN 202310597909 A CN202310597909 A CN 202310597909A CN 116627568 A CN116627568 A CN 116627568A
Authority
CN
China
Prior art keywords
coverage
identity
item
index
file
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.)
Granted
Application number
CN202310597909.9A
Other languages
Chinese (zh)
Other versions
CN116627568B (en
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.)
Chengdu Rongjian Software Technology Co ltd
Shanghai Hejian Industrial Software Group Co Ltd
Original Assignee
Chengdu Rongjian Software Technology Co ltd
Shanghai Hejian Industrial Software Group Co Ltd
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 Chengdu Rongjian Software Technology Co ltd, Shanghai Hejian Industrial Software Group Co Ltd filed Critical Chengdu Rongjian Software Technology Co ltd
Priority to CN202310597909.9A priority Critical patent/CN116627568B/en
Publication of CN116627568A publication Critical patent/CN116627568A/en
Application granted granted Critical
Publication of CN116627568B publication Critical patent/CN116627568B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2291User-Defined Types; Storage management thereof
    • 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/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention relates to the technical field of electronic design automation, in particular to a data visualization positioning system, which comprises a coverage index file and an extension information file in a database, wherein the coverage index file comprises an identity of an object, and the extension information file comprises an associated identity and position information of the object in a source file; when positioning is carried out, the position information of the design module in the coverage index file and the position information in the extension information file are respectively acquired according to the first target object selected by the user and the index file; loading the coverage index data block and the extension data block into a memory according to the position information; the position of the second target object designated by the user in the source file is searched, accurate positioning is performed, only the corresponding design module is needed to be loaded in the loading process, the file of the whole database is not needed to be loaded, the loaded data volume is reduced, and the occupation of memory resources is reduced.

Description

Visual positioning system of data
Technical Field
The invention relates to the technical field of electronic design automation, in particular to a data visualization positioning system.
Background
The purpose of front-end verification is to ensure the correctness and completeness of the logic functions of the design. Coverage rate driven verification technology is an index for measuring design completeness by analyzing the functional coverage rate and the code coverage rate of RTL codes. Wherein coverage includes various types of coverage indicators, such as state machine coverage, row coverage, condition coverage, assertion coverage, and the like. The data corresponding to the coverage rate of the test module can be output no matter software or hardware simulation including formal verification, the crossing data must be unified into a final coverage rate database and an access interface, and the crossing data are shared among tools to make a high-efficiency test plan so as to avoid repeated tests. The current coverage data exchange standard UCIS (Unified Coverage Interoperability Standard) provides a standard node name naming format, a type identification of each node in different types of coverage indicators, a standardized interface, and the like. In the uci standard, all data in the database is stored as one xml format database file. When a user checks one type of coverage index or the user accesses the system every time, the system needs to read the whole database file in the xml format into the memory, then analyze and establish a hierarchical relationship to obtain the corresponding coverage index, so that the system is slow to load. Because the coverage rate data and the structured data of the coverage index are stored in the same database file at the same time, the user accesses the whole database file every time, which may also cause a data security risk that the structured data of the coverage index is tampered.
Disclosure of Invention
In order to solve the problem that the system performance is slow because the whole database file needs to be read into the memory again under the condition of user specification, the invention adopts the following technical scheme: a data visualization positioning system, the system comprising a database, a processor and a memory storing a computer program, the database comprising a mapping file sdb, an index file indxf, an overlay index file item and an extension information file ext, wherein: the sdb comprises a design module, a design module identity, an instance and a mapping relation between instance identities. The indxf comprises a plurality of index data blocks, and each index data block comprises a module identity, an overlay index, position information iline1 of a design module in an overlay index file and position information eline2 of the design module in an extension information file. The item includes N coverage index files, wherein the ith coverage index file item i Comprises M coverage index data blocks, wherein the mth coverage index data block comprises the identity id of the object m . ext includes N extension information files, wherein the ith extension information file ext i Comprises M extended data blocks, wherein the mth extended data block comprises an associated identity and position information slot of an object in a source file m . The computer program, when executed by a processor, performs the steps of:
b100, reading the mapping file sdb and the index file indxf into the memory.
B200, acquiring a first target object selected by a user, wherein the first target object is a design module or an instance; searching the sdb in the memory according to the first target object to obtain a design module identity mark rid corresponding to the first target object m1
B300, obtain the inclusion rid according to indxf m1 Obtaining the item of the design module in the index data block i The location information iline1 of the design module and the location information eline2 of the design module in the extension information file.
B400, item i And loading the data blocks in the middle line1 range into a memory, establishing a memory object and binding the identity of the object.
B500, loading the expansion data block in the eline2 range in the ext to the memory, and according to the association identity in the expansion data block, loading the position information slot of the object in the source file m Binding with the memory object.
And B600, searching the object identity mark bound with the memory object and the position information of the object in the source file according to the identity mark of the second target object designated by the user to obtain the position information of the second target object in the source file.
And B700, positioning and visually displaying the second target object in the source file according to the position information of the second target object in the source file.
The invention has at least the following beneficial effects: the invention provides a data visualization positioning system, which not only can realize the purpose of accurately positioning the position in a source file according to user specification by respectively storing structured data and position information in a coverage index file and an extension information file and matching the position information of a module stored in an index file in the coverage index file and the position information in the extension information file, but also can realize the purpose of loading a corresponding design module in the loading process without loading the file of the whole database, thereby reducing the loaded data quantity and the occupation of memory resources, and solving the problem of slow system loading caused by the need of reading the whole database file into a memory again each time.
Drawings
FIG. 1 is a schematic diagram of a structured data discrete storage system for coverage indicators according to a first embodiment;
FIG. 2 is a flowchart of a data positioning method according to a second embodiment of the present invention;
FIG. 3 is a flowchart of a data visualization positioning method according to a third embodiment of the present invention;
FIG. 4 is a flowchart of a method for loading a database portion according to a fourth embodiment of the present invention;
FIG. 5 is a flowchart of a method for loading a target file portion according to a fifth embodiment of the present invention;
FIG. 6 is a flowchart of a method for partially loading a target file according to a sixth embodiment of the present invention;
FIG. 7 is a flowchart of a coverage rate storing method according to a seventh embodiment of the present invention;
fig. 8 is a flowchart of a coverage rate obtaining method according to an eighth embodiment of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to fall within the scope of the invention.
The database provided by the UCIS comprises basic information of a source file, basic information of a design module, basic information of an instance, structured data of coverage indexes, coverage rate data obtained by different test cases and the like, wherein the structured data comprises hierarchical structure relations of different types of coverage indexes. In the uci standard, all data in the database is stored as one xml format database file. When a user checks one type of coverage index, the system reads the whole database file in an xml format into the memory, and then analyzes and establishes a hierarchical relationship to obtain the corresponding coverage index. Because the coverage rate data and the structured data of the coverage index are stored in the same database file at the same time, the user accesses the whole database file every time, which may also cause a data security risk that the structured data of the coverage index is tampered. In order to solve the technical problem, the present invention proposes a first embodiment.
Example 1
Referring to fig. 1, a first embodiment provides a structured data discrete storage system for coverage indicators, the system including a database, a processor, and a memory storing a computer program, the database including N coverage indicator files item= { item 1 ,item 2 ,…,item i ,…item N (in which item) i And (3) storing a file for structured data of the i-th class coverage index of the design module, wherein the value range of i is 1 to N. It should be noted thatBecause the data required by different coverage indexes are different, storing corresponding structured data by using different coverage index files; in the same coverage index file item i May include structured data for a plurality of different design modules. Types of coverage indicators (metrics) include a conditional coverage indicator, a row coverage indicator, an assertion coverage indicator, a finite state machine coverage indicator, a flip coverage indicator, a functional coverage indicator, or the like.
Alternatively, item i Other types of coverage indicators in the prior art are within the scope of the present invention, for row coverage indicator files, conditional coverage indicator files, finite state machine coverage indicator files, assertion coverage indicator files, flip coverage indicator files, or functional coverage indicator files. Wherein, the j-th class covers the index file item j Types and items of (a) i Different, the value range of j is 1 to N, and i noteq j.
The structured data of the design module is a tree structure with a hierarchical structure, the tree structure accords with UCIS standard, and the method comprises the following steps: a design module coverage field, an index coverage field (scope) and a coverage item (coveritem objects), wherein in the tree hierarchy structure, the design module coverage field is a root node of the tree structure, the coverage item is a leaf node of the tree structure, and the index coverage field is an intermediate node of the tree structure; wherein the index overlay domain as an intermediate node may further comprise a plurality of layers of index overlay domains having a parent-child nested structure. It should be noted that, since one coverage index file includes at least one design module, each design module corresponds to a tree structure. Alternatively, the design module in the coverage index file may be a module (module), a package (package), a program (program), an interface (interface), or the like. The coverage items are basic units for measuring coverage rate, the coverage states of all coverage items form the coverage rate of the coverage domain of the corresponding parent node, and the coverage rate of all coverage domains forms the coverage rate of one root node.
As an example, when the type of the coverage index is a Finite State Machine (FSM), the coverage index file of the Finite state machine includes a plurality of design modules, each design module includes a plurality of Finite state machines, and at this time, the coverage index file includes a plurality of tree structures with the design modules as root nodes, the tree structures with the design modules as root nodes further include an index coverage domain with the root nodes as parent nodes, each index coverage domain is an index coverage domain of a corresponding plurality of Finite state machines, and the structures of the index coverage domains of the Finite state machines are similar, except for the state configuration and the state conversion configuration of different Finite state machines. For example, the design module test1 includes a finite state machine curr_state1, where the finite state machine includes a state coverage domain state and a state transition coverage domain, and the state coverage domain includes all state coverage items, such as an error state, an idle state, an occupied state, and the like; the state transition coverage includes all state transition coverage items, such as transition from an error state to an idle state, transition from an idle state to an error state, transition from an idle state to an occupied state, transition from an occupied state to an error state, transition from an occupied state to an idle state, and the like. In the tree structure of the design module test1, test1 is taken as a root node, curr_state1 is taken as a father index coverage domain, states and transitions are taken as child index coverage domains, all state coverage items and all state transition coverage items are taken as leaf nodes, wherein the father node of the father index coverage domain is taken as the root node, the father node of the child index coverage domain is taken as the father index coverage domain, and the father index coverage domain and the child index coverage domain are intermediate nodes with nested structures.
As another example, when the type of the index coverage is a condition and an expression, the structured data of its corresponding coverage index includes two tree structures: a conditional structure and an expression structure, wherein the conditional structure includes a conditional override field and all conditional override items included in the conditional override field; the expression structure includes an expression overlay field and all expression overlays included by the expression overlay field. Wherein each type may include a nested structure of multiple index coverage fields.
Preferably, the overlay index file is named by the type of overlay index.
Further, item i Comprising the following steps: m1 design modules cover domain data block root= { root 1 ,root 2 ,…,root m1 ,…,root M1 -a }; wherein root is m1 Covering a domain data block for the m1 th design module, including a design module identity mark rid m1 M1 has a value ranging from 1 to M1. Wherein, the f design module covers the domain data block root f Identity identification rid of (2) f And rid of m1 In contrast, f has a value ranging from 1 to M1 and f+.m1.
Preferably, each design module coverage field data block further includes a design module type identifier, wherein the design module type identifier meets uci standards.
Wherein, item i For json format file, each data block is a piece of data formed by a plurality of basic information for describing an object in json format file, and specifically, each data block comprises B key value pairs: { Key1: value1, key2: value2, …, key i: value i, …, key B: value B }, wherein each Key value represents a basic information of an object, the Key value pairs in the data block are an unordered set of Key value pairs, and the positions of the Key value pairs can be exchanged.
For example: the design module coverage domain data block is { "rid":1, "type": 24, "" name ": fsm" }, the design module coverage domain data block comprises 3 key value pairs in total, wherein the design module identity identifier "rid" is taken as a key and a value of "1" to form a key value pair, the design module type identifier type is taken as a key and a value of "24" to form a key value pair, the design module name is taken as a key and a value of "fsm" to form a key value pair, and the object described by the data block is a design module object with the design module identity identifier of 1, the type of 24 and the name of fsm.
Further, item i Further comprises: m2 index overlay domain data block scope, scope= { scope 1 ,scope 2 ,…,scope m2 ,…,scope M2 }, where scope m2 Overlay field data block for m2 index, scope m2 Including index overlay domain identity Sid m2 M2 has a value ranging from 1 to M2.
It should be noted that, the index coverage field data block is one type of data block, each index coverage field data block includes multiple basic information of the index coverage field, and the index coverage field data block is an intermediate node in the tree structure.
The index coverage domain data block comprises a father index coverage domain and a child index coverage domain, and the child index coverage domain binds the father index coverage domain. All index coverage domain data blocks of the same parent node in the scope are parallel nodes. At item i The computer loads corresponding data blocks according to the distribution sequence of the data blocks when loading the corresponding data blocks into the memory, so that the data blocks are distributed in item i Is positioned in root m1 All index coverage domain data blocks below are formed into root after being loaded into a memory m1 As a father node, at root m1 All index coverage domain data blocks below are hierarchical structures with child nodes, root m1 Ranging from root m1 The first data block thereafter starts to be distributed backward until there are no more data blocks or until the next design module coverage area data block is executed.
Alternatively, in a path from the root node to the leaf node, the intermediate nodes traversed may include a plurality of intermediate nodes acting as index coverage domains, the plurality of index coverage domains constituting a hierarchy. When scope m2 The binding father node is the m2' index coverage domain data block scope m2′ When the spid is m2 =sid m2′ Wherein sil is m2′ Is scope m2′ The index of (2) covers the domain identity, and the value range of M2' is 1 to M2. The overlay domain binding identifies the structured relationships used to establish the data blocks.
Further, item i Further comprises: cover item data block cvitem= { cvitem of index cover field data block in M3 binding scope respectively 1 ,cvitem 2 ,…,cvitem m3 ,…,cvitem M3 }, of which m3 For the m3 th overlay item data block, including an overlay item identity iid m3 Binding of overlay item identifies ipid m3 M3 has a value ranging from 1 to M3; when covite is m3 Binding scope m2 When the ip id is m3 Scope equal to binding m2 Is of (2) m2 . Wherein each overlay item data block binds one fingerThe index coverage domain data block and the coverage item data block cannot be bound to the same father node, and child nodes under the same father node are of the same data block type. For example, child nodes are all child index coverage data blocks or all coverage data blocks, but cannot include both index coverage data blocks and coverage data blocks.
It should be noted that the overlay item data block is one type of data block, and contains various basic information of the overlay item. The overlay item is a leaf node in the tree structure.
Preferably, each design module overlay domain data block further comprises a design module type identifier, each index overlay domain data block further comprises an index overlay domain type identifier, each overlay item data block further comprises an overlay item type identifier, and the design module type identifier, the index overlay domain type identifier and the overlay item type identifier conform to UCIS standards. It should be noted that, tree-shaped hierarchical structures corresponding to different coverage indexes and type identifiers of each node in each tree-shaped hierarchical structure are defined in the uci standard. For example, in the UCIS standard, the code coverage of the finite state machine, the type identifier of the design module coverage is 24, the type identifier of the parent index coverage FSM is 22, the type identifier of the child index coverage including the state coverage is 29, the type identifier of the state transition coverage is 30, and the type identifiers of the state coverage and the state transition coverage are 11. The storage system provided by the embodiment of the invention can be used as a sharing system by adopting the type identifier conforming to the UCIS standard, on one hand, corresponding coverage rate data can be directly extracted from a third party database through a standard UCIS interface, and on the other hand, the coverage rate data corresponding to the discrete storage system can be shared for other databases.
Wherein, in item i The type identifiers of the design modules in the plurality of different design modules corresponding to the tree structure of the same coverage index type are the same. The tree structure corresponding to each type of coverage index and the type identifier of each node in the tree structure are defined in the UCIS standard. For example, a conditional coverage index, a line coverage index, an assertion coverage index, or a presence index is defined in the UCIS standardAnd the coverage indexes of the finite state machine are the standard tree structure corresponding to each coverage index and the type identification of each node in the corresponding tree structure.
Each design module coverage domain data block is used as a root node of a tree structure, and all data blocks under the design module coverage domain data block belong to the design module coverage domain data block; when a plurality of design module coverage domain data blocks exist, the current design module coverage domain data block root m1 Then and cover the domain data block root at the next design module m1+1 All previous data blocks belong to the design module coverage area data block root m1 . The child index coverage domain data blocks establish structural relations among index coverage domains by binding identity marks of parent index coverage domain data blocks, hierarchical relations of different types of index coverage domains accord with structural definitions in UCIS standards, and similarly, the coverage item data blocks establish structural relations between coverage items and index coverage domains by binding identity marks of index coverage domains, so that a tree structure with one design module as a root node, index coverage domains as intermediate nodes and coverage items as leaf nodes is formed.
Preferably, each design module overlay field data block further comprises a design module name, each index overlay field data block further comprises an index overlay field name, and each overlay item data block further comprises an overlay item name.
Preferably, the discretized storage system further comprises a basic information file of a source file, the basic information file of the source file comprising X1 basic information data blocks { sorf } 1 ,sorf 2 ,…,sorf x1 ,…,sorf X1 },sorf x1 The value range of X1 is 1 to X1 for the basic information data block of the X1 source file; sorf x1 Includes source file identity identifier x1 Absolute path RL with source file x1 Is a mapping relation of (a) to (b). Alternatively, the absolute path RL of the source file x1 Is the storage path of the source file.
Preferably, root m1 Also comprises a source file identity mark sorf x1 . Can pass the source file according to the source file identity mark at compiling timeThe mapping relation in the basic information file of the source file is used for obtaining the absolute path of the source file, and then the source file is accessed according to the absolute path of the source file. The storage space occupied by the absolute path of the source file can be further reduced by replacing the absolute path of the source file with the source file identification.
In summary, the structured data discrete storage system for the overlay index provided by the embodiment of the invention includes N overlay index files, each overlay index file is a structured data storage file of a design module corresponding to an overlay index, the overlay index storage file includes M1 overlay domain data blocks of the design module, M2 overlay domain data blocks of the index and M3 overlay item data blocks, wherein a hierarchical structure relationship is established between the overlay domain data blocks of the index and the overlay item data blocks through binding identification, and as the data blocks in the discrete storage system are subjected to discrete storage in json format, and meanwhile, a hierarchical structure between the data blocks is established through binding identification, the aim of guaranteeing the hierarchical structure between the data blocks and simultaneously performing discrete storage is achieved, and meanwhile, the technical problem that the hierarchical relationship can be established only because the whole database is read into a memory in a standard uci database is solved, and meanwhile, the technical problem that structured data is easy to be tampered with because the structured data is not stored in the same file any more is solved.
As a preferred embodiment, based on embodiment one, item i The identity mark included in all the data blocks is globally unique. Specifically, the design module identity, the index coverage area identity and the coverage item identity are globally unique. It should be noted that, the design module identity identification globally and uniquely means that the identity identification of the same design module in the database is the same, the identity identifications of different design modules are different, and the design module identity identification, the index coverage area identity identification and the coverage item identity identification are different; i.e. the design module using the same identity is considered to be the same design module, and other types of identities are the same. As an example, in item j Includes the root m1 The same design module A, the identity of the design module A is the sameIs rid of m1 . When a user designates a unique design module identity, the system can directly locate a unique data block without layered searching, thereby achieving the purpose of quick location.
Optionally, the data types of the identity are long-form or universal unique identification codes (Universally Unique Identifier, UUID). When the number of the identity marks is huge, the long-shaped identity marks occupy larger storage space, and the UUID is adopted at the moment, so that the storage space can be saved.
In the preferred embodiment item i The defect of global uniqueness of the identity mark included in all the data blocks is as follows: when long-integer storage is adopted, when the quantity of structured data to be stored is very large, the identity identification data is also very large, so that a large amount of storage space is occupied; when UUIDs are adopted, the occupation of space storage resources can be relatively reduced for a large amount of data, but when the amount of the identity identification data is small, the UUIDs occupy more space due to the fixed length of the UUIDs. In order to solve the technical problem that the identity mark occupies a large amount of storage space, the invention provides the following preferred embodiments.
As a preferred embodiment, item i The identity of all design modules is globally unique, the identity of the index coverage domain is unique under the same father node, and the identity of the coverage item is unique under the same father node. It should be noted that, because all the index overlay domain identifiers using the same design module as the father node are uniformly and independently numbered and are different from each other. The overlay item identification numbers are the same, and the overlay items are described below by taking the overlay item as an example, and all the overlay items under the same father node are uniformly and independently numbered and are different from each other. As one example, two index coverage domains are included in the finite state machine: the state coverage domain node and the state transition coverage domain node, the child nodes included as the father node in the state coverage domain include: error state nodes, idle state nodes, occupied state nodes; the state transition coverage domain includes, as a parent node, child nodes including: node for switching from error state to idle state, node for switching from idle state to error state, and node for switching from idle state to idle state The node with the state converted into the occupied state, the node with the occupied state converted into the error state and the node with the occupied state converted into the idle state; one combination of identity tags may be: two state coverage areas under the design module are independently numbered: the state coverage area node with the identity of 01 and the state transition coverage area node with the identity of 02 comprise two groups of child nodes belonging to the same father node, wherein the two groups of child nodes are independently coded, and one group of child nodes is the state coverage area node with the identity of 01: an error state node with an identity of 01, an idle state node with an identity of 02, an occupied state node with an identity of 03, and a child node of a state transition coverage domain node with an identity of 02: the node of the identity mark 01 converted from the error state to the idle state, the node of the identity mark 02 converted from the idle state to the error state, the node of the identity mark 03 converted from the idle state to the occupied state, the node of the identity mark 04 converted from the occupied state to the error state, and the node of the identity mark 05 converted from the occupied state to the idle state.
The unique method of the identity under the same father node can enable the identity under each father node to count independently, so that the problem that the identity occupies a storage space is greatly reduced, and the technical problem that the data volume of the identity occupies a huge data storage space is solved.
As a preferred embodiment, item i The identity of all design modules is globally unique, the identity corresponding to the index coverage domain is globally unique, and the coverage item identity is unique under the same father node. The identity label global unique corresponding to the index coverage domain refers to item i The index coverage domain identity identifiers in all the design modules are uniformly and independently numbered and are mutually different. As an example, item i The method comprises an index coverage field data block in a first design module and an index coverage field data block in a second design module, wherein the identity of the index coverage field data block in the first design module is 001, and the identity of the index coverage field data block in the second design module is 002, wherein the identities of the index coverage field data block in the first design module and the second design module are 001-002, namelyAre uniformly numbered and are different from each other.
The overlay item identity is independently numbered under each father node again by the way that the index overlay domain identity is globally unique and the overlay item identity is unique under the same father node, and the technical problem that the data volume of the identity occupies huge data storage space can be solved as well. And the overall uniqueness in the index coverage domain identity can enable a user to reduce the number of layers searched when searching the tree structure, and the searching efficiency is improved.
As a preferred embodiment, item i The identity of all design modules is globally unique, the identity corresponding to the index coverage domain is globally unique, and the identity of all coverage items is globally unique. It should be noted that all the overlay identities are globally unique in item i The identity identifiers of all the covering items included in all the modules are uniformly and independently numbered and are mutually different. Compared with the scheme that all the data blocks comprise the global unique identification, the method and the device can reduce the maximum number length of the identification, and enable a user to directly locate the corresponding coverage item because the identification of the coverage item is globally unique when the user searches the corresponding coverage item, and the tree structure is not required to be searched, so that the locating efficiency is improved.
The first embodiment is to store the structured data of the coverage index separately, so that the problem of data security risk that the structured data of the coverage index is tampered due to that a user accesses the whole database file every time can be solved. Based on the xml format database in the uci standard, the entire database file needs to be read into the memory again even in the case of user specification, resulting in slow system performance. In order to solve this problem, the present invention proposes implementation two and embodiment three.
Example two
A second embodiment provides a data positioning system comprising a database comprising a mapping file sdb, an index file indxf and an overlay index file item, a processor and a memory storing a computer program.
Further, the sdb includes a design module, a design module identity, an instance, and a mapping relationship between instance identities. It should be noted that, all the design module identifiers and the instance identifiers in the coverage index file are defined in the sdb file, and the design module identifiers and the instance identifiers are globally unique in all the files of the database, that is, in other files, for example, item files, index files indxf and other files, the design module identifiers of the same design module are the same, the design module identifiers of different design modules are different, and the instance identifiers are globally unique.
As a preferred embodiment, the mapping relationship in the sdb includes Q1 first mapping relationships map1 and Q2 second mapping relationships map2, map 1= { map1 1 ,map1 2 …,map1 q1 ,…,map1 Q1 },map1 q1 Map1 for the q1 st first mapping relation q1 Comprising the q1 th design module mod q1 And design module identity identification rid q1 The mapping relation between the two values is that the value range of Q1 is 1 to Q1; map 2= { map2 1 ,map2 2 …,map2 q2 ,…,map2 Q2 },map2 q2 Map2 for the q2 th second mapping relation q2 Includes the q2 nd instance inst q2 Instance identity recognition q2 And design module identity identification rid q1 The mapping relation between the two values is that the value range of Q2 is 1 to Q2.
Wherein, one design module may instantiate multiple instances when performing coverage rate test, namely one design module identity rid q1 And establishing a mapping relation with a plurality of examples.
As a preferred embodiment, map2 q2 Also include inst q2 Is the parent node identity of the (c).
Further, indxf includes D index data blocks ind, ind= { ind 1 ,ind 2 …,ind d ,…,ind D },ind d For the d-th index data block, ind d Including design module identity identification rid m1 Coverage index metric i And design the position information mline of the module in the coverage index file d Wherein D has a value ranging from 1 to D.
Alternatively, the index file indxf is made up of several index data blocks, each of which may be in xml format or json format.
Wherein, rid m1 Belonging to a pre-defined identity mark of a design module in the sdb. Coverage index metric i Is one type of coverage index corresponding to item files. The type of the coverage index (metric) is described in detail in the first embodiment, and will not be described again.
As a preferred embodiment, when item i In text format, mline d Including the line number of the start line and the line number of the end line.
As a preferred embodiment, when item i In binary format, mline d Including the start position offset and the data length. The initial position offset is the offset of the initial position of the data block relative to the initial position of the file, and the initial position offset plus the data length is the end position of the data block.
The indxf is used for searching the row range of the corresponding design module in the coverage index file directly according to the target design module specified by the user, so that the system directly loads the data blocks in the corresponding row range instead of the whole coverage index file, the loaded data quantity is reduced, and the loading speed is improved.
Further, item= { item 1 ,item 2 ,…,item i ,…item N },item i For class i coverage index metric i The value range of i is 1 to N; item i The system comprises M coverage index data blocks, wherein the mth coverage index data block comprises a design module identity id m And design the location information slot of the module in the source file m 。item i The configuration of the file is already described in detail in the first embodiment, and will not be described in detail. It should be noted that, the coverage index data block includes a coverage domain data block root, an index coverage domain data block scope, and a coverage item data block cvitem as in the first embodiment, where m=m1+m2+m3, which have been described in detail in the first embodiment, and are not repeated. At item i The sline in (a) m For locating directly to a location in the associated source file according to a user selected target object after the system loads the data blocks within the corresponding line range into memory. At item i The method comprises the steps of storing structured data of a design module, namely, when a coverage index data block is a design module coverage domain data block, including a design module identity; when the coverage index data block is an index coverage domain data block, the coverage index data block comprises an index coverage domain identity; when the coverage index data block is a coverage item data block, the coverage item data block comprises a coverage item identity and a coverage item binding identity; at the site of i After the file is read into the memory and analyzed, the corresponding coverage index data blocks can establish a structured data relationship through binding identification.
As a preferred embodiment, the said slot m Including left rank position information and right rank position information of the design module in the source file.
Further, referring to fig. 2, when the computer program is executed by the processor, the following steps are implemented:
a100, reading the mapping file sdb and the index file indxf into the memory. Wherein the mapping file sdb and the index file indxf are global shared files in the database.
And A200, acquiring a first target object designated by a user, wherein the first target object is a module or an instance. It should be noted that, the user selects the first target object in the visualization window.
A300, searching the sdb in the memory according to the first target object to obtain a design module identity mark rid corresponding to the first target object m1 . It should be noted that, when the first target object is an instance, map2 is searched to obtain the identity of the design module. When the first target object is a design module, searching map1 to obtain the identity of the design module.
A400 according to rid m1 And a user-specified coverage index metric i Searching indxf in the memory to obtain mline d . The mline obtained at this time d Is item i Is a row range of the above. For example: when item i In text format,mline d The line number of the line including the start line is 10 and the line number of the end line is 50, which are illustrated in item i The data blocks in the range from line 10 to line 50 in the file all belong to rid m1 The data blocks in the range from 10 th line to 50 th line need to be read into the memory.
A500, item i Middle mline d All the included data blocks abs are read into memory. It should be noted that this step can be performed by combining item i The design of the system is read into a memory, and the coverage index file is converted into memory data with hierarchical structure relation.
A600, searching the abs in the memory according to the identity of the second target object designated by the user to obtain the position information slot of the second target object in the source file. It should be noted that, the user selects the second target object in the visualization window, where the second target object may be a certain coverage item, for example, when the user wants to view an idle state in the FSM, the idle state object is designated as the second target object.
A700, locating the position of the second target object in the source file according to the abs and the slot.
As a preferred embodiment, a basic information file of the source file is also included in the database, where the basic information file includes a mapping relationship between the source file identity and the absolute path of the source file. The basic information file of the source file is described in detail in the first embodiment, and will not be described in detail.
As a preferred embodiment, the abs includes a source file id, and the a700 further includes: searching a basic information file of a source file according to the source file identity to obtain an absolute path of the source file, opening a corresponding source file according to the absolute path of the source file, and positioning the position of a design module in the source file according to the slot.
In summary, the database of the second embodiment includes the mapping file sdb, the index file indxf and the coverage index file item, and the mapping file sdb and the index file indxf are read into the memory first; and acquiring the identity of the design module through the sdb by a first target object appointed by a user, acquiring row range information of the design module in item through indxf, reading a data block in the coverage index file according to the row range information, achieving the aim of partially loading the data block, and finally acquiring source file position information carried in the read data block according to the target design module appointed by the user to achieve the aim of positioning a corresponding row of the target design module in the source file. The problem of resource consumption caused by the fact that the whole database file needs to be loaded every time data are read in the prior art is solved.
Example III
A third embodiment provides a data visualization positioning system, the system comprising a database, a processor and a memory storing a computer program, the database comprising a mapping file sdb, an index file indxf, an overlay index file item and an extension information file ext.
Further, the sdb includes a design module, a design module identity, an instance, and a mapping relationship between instance identities. It should be noted that, the mapping file sdb is the same as that in the second embodiment, and will not be described again.
Further, the indxf includes a plurality of index data blocks, each index data block including a module identity, an overlay index, a location information iline1 of the design module in the overlay index file, and a location information eline2 of the design module in the extension information file.
Wherein iline1 is used for indexing the position of the coverage index data block related to the design module in the coverage index file, and eline2 is used for indexing the position of the extension data block related to the design module in the extension information file. iline1 includes a start position and an end position of a related coverage index data block corresponding to each design module in the coverage index file, and corresponding eline2 includes a start position and an end position of an extension data block corresponding to the design module in the extension information file.
It should be noted that, in the coverage index file, the data blocks related to each design module are sequentially distributed, and when the data block corresponding to one design module is written, the related data block of another design module is written. For example, the relevant data blocks of the first design module are located in rows 1-12 and the relevant data blocks of the second design module are located in rows 13-23. Wherein, each design module related coverage index data block comprises a design module coverage domain data block, an index coverage domain data block, a coverage item data block and the like. The corresponding one of the extended data blocks in the extended information file corresponds to the overlay index data block in the overlay index file, i.e., each of the extended data blocks in the extended information file corresponds to the overlay index data block in the overlay index file. For example, the relevant data blocks of the first module are located in lines 1-12, and the corresponding 12 lines of extended data blocks are included in the extended information file. The design module in the coverage index file covers the domain data blocks and the index coverage domain data blocks, and corresponding expansion data blocks exist in the expansion information file; the coverage item data blocks in the coverage index file may or may not include corresponding extension data blocks in the extension information file.
Further, the item includes N coverage index files, wherein the ith coverage index file item i The method comprises M coverage index data blocks, wherein the mth coverage index data block comprises an identity for describing an object. It should be noted that, the object is an object described by each data block, the description object may be a design module, an index coverage area or a coverage item, and the identity of the description object may be a design module identity, an index coverage area identity or a coverage item identity, etc. The coverage index file item is the same as that in the first embodiment, and will not be described again.
Further, ext includes N extension information files, wherein the i-th extension information file ext i Comprising M (i) extended data blocks, wherein the mth extended data block comprises associated identity and location information of the object in the source file m Wherein M (i) is less than or equal to M. The associated identity is used for being associated with a corresponding coverage index data block in the coverage index file. It should be noted that each coverage index file corresponds to one extension information file. Compared with the second embodiment, the identity and position information of the description object in the coverage index data block in the item file in the second embodiment are disassembled and stored, namely the coverage index data is about to be obtained Storing structured information in blocks to items i And storing the location information in the coverage index data block to ext i In the file. The method can enable the system to load the useful information of the object according to actual conditions, and not load all the information of the object.
As a preferred embodiment, when ext i When the file corresponding to the condition coverage index is a file, the extended data block also comprises key value pairs of the condition and the parameter, wherein the key in the key value pair of the condition is named as the condition, and the key value is the condition; the keys in the parameter key value pair are named parameters, and the key value is an array of a plurality of parameters. As one example, conditional expression "b&((c&d)?(e|f):(e&f) In which b, c, d, e, f is a condition parameter, and the condition key value pair is "expr": b)&((c&d)?(e|f):(e&f) -a "; the parameter key value pair is "subexpr" [ "b", "c", "d", "e", "f ]"]. The additional information is put into the expansion file, so that the data volume loaded during calculating the coverage rate or merging the databases can be reduced, the information of the object is divided into two files, namely the coverage index file and the expansion information file from the two angles of calculating the coverage rate and displaying, and the relevant expansion information file is not required to be loaded during calculating the coverage rate, so that the data volume loaded is reduced, and the loading efficiency is improved.
As a preferred embodiment, ext i Excluding items i An extended data block corresponding to the coverage item data block. Whether the coverage item data block has a corresponding extension data block depends on the type of the coverage index, and when the type of the coverage index is a conditional coverage index, the coverage item corresponding to the conditional coverage index is in ext i No corresponding position information; when the type of the coverage index is FSM, the coverage item corresponding to FSM is in ext i With location information. When the coverage items have position information, each extension data block in the extension information file corresponds to one-to-one with the coverage index data block in the coverage index file; when the coverage item does not have position information, other data blocks in the extension information file are in one-to-one correspondence with the extension data blocks corresponding to the data blocks of the coverage item.
As a preferred embodiment, when item i The identity of all the coverage index data blocks of the description object is globally unique, and the associated identity and item of the extension data block in ext i Corresponding object identities in the database are the same. Loading item in system i And then, establishing a memory object for each coverage index data block, and binding the position information in the extended data block to the corresponding memory object according to the associated identity when loading the ext file, wherein the bound memory object is unique. When needed, item i The identity of the object described by all the coverage indicator data blocks is globally unique, and in the preferred embodiment of the first embodiment, the description is already detailed, and will not be repeated.
As a preferred embodiment, when item i In the extension data block of ext, the design module identity is globally unique, the index coverage domain identity is unique under the same father node, and the coverage item identity is unique under the same father node, the association identity and item corresponding to the design module in the extension data block of ext i The identity of the design modules in the system are the same, and the associated identity corresponding to the index coverage domain and the coverage item are item respectively i Full path name of corresponding object identity. The step of obtaining the full path name comprises the following steps: at item i The data blocks of the target object are searched under the design module in the (a), and object identification marks on the paths of the nodes where the data blocks of the target object are searched by the index coverage domain nodes are spliced in sequence to obtain the full path names. As one example, the identity and binding of objects are identified at item by description i One path of the lookup "Id:1, name: STATE_ERROR" is: "Id 1, name: curr_state1", "Id 2, name: UCIS: STATE", "Id 1, name: STATE_ERROR", wherein curr_state1 node and UCIS: STATE node are both index overlay domain nodes, and STATE_ERROR is an overlay item node; then splicing the identity of each object in the path in turn to obtain the full path name in ext as follows: 1.2.1, i.e. the associated identity of the overlay item is 1.2.1. If the searched target object is 'Id: 2, name: UCIS: STATE', the association identity of the index coverage is 1.2. And so on. Optionally, object identity stitching Other characters may also be employed. Alternatively, the object id splice format may also take other formats. The setting of the associated identity enables the corresponding index coverage domain and the coverage item to have unique identity in the extension information file, and the purpose of binding the position information in the corresponding extension data block to the unique memory object can be achieved through the associated identity. When partial loading is carried out, corresponding design modules are loaded according to different design module identification marks, and the associated identification marks are unique in the same design module. In item i The overall uniqueness of the identity identifiers of all design modules, the uniqueness of the identity identifiers of the index overlay domain under the same father node and the uniqueness of the identity identifiers of the overlay item under the same father node are described in detail in the preferred embodiment of the first embodiment, and are not described in detail.
As a preferred embodiment, when item i The identity of all design modules in the extension data block of ext is globally unique, the identity corresponding to the index coverage domain is globally unique, and when the identity of the coverage item is unique under the same father node, the associated identity and item corresponding to the design module in the extension data block of ext i The identity of the design module in the index coverage domain is the same, and the associated identity corresponding to the index coverage domain is the item i The index coverage domain identities in the method are the same, and the associated identities corresponding to the coverage items comprise item i The overlay item identity and the overlay item binding identity. Because the identity of the design module and the identity of the index coverage area are respectively globally unique, and the associated identity of the corresponding expansion data block is respectively the same as the identity of the design module and the identity of the coverage area, the position information in the expansion data block can be uniquely bound to the corresponding memory object. And the father-son relationship between the overlay item and the index overlay domain is reassigned in the extension information file through the overlay item identity and the overlay item binding identification, so that the purpose of uniquely binding the position information in the extension data block to the memory object through the overlay item identity and the overlay item binding identification is achieved. Note that item i The identity of all design modules is globally unique, the identity corresponding to the index coverage domain is globally unique,The overlay identity is unique under the same parent node, and is described in detail in the preferred embodiment of the first embodiment, and will not be described again.
As a preferred embodiment, when the identity of all design modules is globally unique, the identity corresponding to the index coverage area is globally unique, and the identity of all coverage items is globally unique, and the extension data block of the coverage item is not included in the ext file, the association identity and item of the extension data block in the ext file i Corresponding object identities in the database are the same. Note that item i The overall uniqueness of the identity marks of all design modules, the overall uniqueness of the identity marks corresponding to the index coverage domain, and the overall uniqueness of the identity marks of all coverage items are described in detail in the preferred embodiment of the first embodiment, and are not described in detail.
Alternatively, when item i When the module identity is globally unique, the index coverage area is globally unique and the coverage item is globally unique, and the ext file comprises the extended data block of the coverage item, the association identity and item corresponding to the design module are designed i The identity of the design modules in the system is the same; associated identity and item corresponding to index coverage domain i The identity of the index coverage area in the method is the same; the associated identity corresponding to the coverage item comprises item i The overlay item identity and overlay item type identity in the overlay item, wherein the type identity is used for distinguishing an overlay domain and an extended data block corresponding to the overlay item, and in this way, the position information in each extended data block can be enabled to be matched with item i The built memory object is uniquely bound.
As a preferred embodiment, when item i When the module identity identifier is globally unique, the index coverage domain is globally unique and the coverage item is globally unique, and the ext file comprises the extended data block of the coverage item, the associated identity identifier corresponding to the index coverage domain comprises item i The index coverage domain identity and the index coverage domain type identity; associated identity and item corresponding to design module i The identity of the design modules in the system is the same; associated identity and item corresponding to coverage item i The identity of the overlay item in the database is the same. In general, the overlay itemThe number of the corresponding extended data blocks can be more, the number of the extended data blocks corresponding to the index coverage domain is relatively less, and the type identifier is added to the associated identity identifier corresponding to the index coverage domain relative to the coverage item, so that a large amount of storage space can be saved, and the binding efficiency can be greatly improved.
Optionally, the location information of the object in the source file is rank location information of the object in the source file. As one example, when the object is a state of the FSM, then the location information is the start line number and end line number of the state in the source file.
Further, referring to fig. 3, when the computer program is executed by the processor, the following steps are implemented:
b100, reading the mapping file sdb and the index file indxf into the memory.
B200, acquiring a first target object designated by a user, wherein the first target object is a design module or an instance; searching the sdb in the memory according to the first target object to obtain a design module identity mark rid corresponding to the first target object m1 . It should be noted that, the search process of the identity of the design module and the first target object are the same as those of the embodiment, and will not be described again.
B300, obtain the inclusion rid according to indxf m1 Obtaining the item of the design module in the index data block i The location information iline1 of the design module and the location information eline2 of the design module in the extension information file. Preferably, the method comprises the step of acquiring the index according to the indxf m1 Also included before the index data block of (c): according to the coverage index metric selected by the user i Obtaining coverage index file item i
B400, item i Data blocks in the middle line1 range are loaded to a memory, a memory object is established, the identity of the object is bound, and then items are loaded i The module designated by the user in the process of the method achieves the aim of partial loading.
B500, loading the expansion data block in the eline2 range in the ext to the memory, and according to the association identity in the expansion data block, loading the position information slot of the object in the source file m Binding with the memory object, and loading the position information related to the module appointed by the user, thereby achieving the purpose of partial loading. When the coverage rate or the database is combined, the extension information file ext does not need to be loaded, so that the data volume to be loaded can be reduced, the occupied memory space is further reduced, and the loading efficiency can be improved.
And B600, searching the identity of the object bound by the memory object and the position information of the object in the source file according to the identity of the second target object designated by the user to obtain the position information of the second target object in the source file. The second target object is a memory object of the coverage item specified by the user. For example, it may be a state or state transition in the FSM.
And B700, positioning and visually displaying the second target object in the source file according to the position information of the second target object in the source file.
Specifically, a corresponding source file is opened according to the source file identity mark bound by the memory object, positioning is carried out in the source file according to the position information of the second target object in the source file, and the position of the second target object in the source file is visually displayed. Wherein, since the source file may be opened in the visual interface, the position of the second target object specified by the user in the source file is displayed, for example, the user specifies an overlay item that is an idle state in the FSM, and then a line of source code that is an idle state defined in the ext file is displayed in the visual interface. In item i In the file, the design module coverage domain data block comprises a source file identity mark, and the source file identity mark is formed in item i When the file is loaded, a memory object is established for each data block, and a hierarchical relationship is established through the object identity and the binding identification, so that the memory object corresponding to the overlay item data block can obtain the binding source file identity by searching the father node. The location information of the source file identity is stored in a basic information file of the source file, where the basic information file of the source file is described in detail in the first embodiment, and will not be described again.
In summary, the third embodiment of the present invention provides a data visualization positioning system, which is configured to store structured data and location information in a coverage index file and an extension information file respectively, and cooperate with location information of a module stored in an index file in the coverage index file and location information of the module stored in the extension information file, so that not only can the purpose of accurately positioning a location in a source file according to user specification be achieved, but also only a corresponding design module needs to be loaded in a loading process, so that the amount of loaded data is reduced, and occupation of memory resources is reduced. Meanwhile, the structured data and the position information are respectively stored in the coverage index file and the extension information file, so that irrelevant extension information does not need to be loaded in the coverage index integration (merge) process, the loaded data volume is reduced, the waste of memory resources is reduced, and the loading efficiency is improved.
When the database is accessed according to the object specified by the user, the whole database file needs to be loaded when the UCIS standard database comprises a large amount of redundant information irrelevant to the object specified by the user, so that the data loading is slow.
Example IV
A fourth embodiment provides a database partial loading system, the system comprising a database, a processor and a memory storing a computer program, the database comprising a mapping file sdb, an index file metrindex and a target file.
Further, the sdb includes a design module, a design module identity, an instance, and a mapping relationship between instance identities. The mapping file sdb is the same as that in the second embodiment, and will not be described again.
Further, metarindex includes N index files { metarindex, classified by coverage index 1 ,metrindex 2 ,…,metrindex g ,…,metrindex N },metrindex g Is the g-th coverage index metric g The value range of g is 1 to N; metrindex g Includes M1 design module index data blocks pos, pos= { pos 1 ,pos 2 ,…,pos r ,…,pos R },pos r Indexing a data block for an R design module, wherein the value range of R is 1 to R; pos r Design module identification information rid including an r-th design module r And the location information loc of the r design module in the target file r The method comprises the steps of carrying out a first treatment on the surface of the Wherein the f-th design module indexes the data block pos f Identity information rid of design module of (a) f ≠rid r The value of f ranges from 1 to R and f is not equal to R.
The type of the coverage index (metric) includes a conditional coverage index, a line coverage index, an assertion coverage index, or a finite state machine coverage index, a flip coverage index, or a function coverage index, etc.
Further, referring to fig. 4, the following steps are implemented when the computer program is executed by the processor:
and C100, loading the mapping file sdb and the index file metrindex when the user selects partial loading.
C200 obtaining the coverage index type meta specified by the user according to the first target object specified by the user g And design module identity identification rid r
Optionally, searching the sdb according to the first target object to obtain the identity of the design module of the target design module. Optionally, the first target object is a design module or an instance. It should be noted that, when the object specified by the user is a design module or an instance, the method for obtaining the identity of the design module is already described in detail in step a300 of the second embodiment, which is not described in detail.
C300 according to meta g Searching all index files in metarindex to obtain meta g Index file metarindex g
C400, designing module identity mark rid according to target design module r Search for metrindex g The design module indexes the data block to obtain the target position information loc of the target design module in the target file r
Optionally, a standard interface function is invoked, and the entry parameters of the standard interface function include the identity of the design module and the first target object, and the target location information acquired by the query is returned. Wherein the standard interface function meets the UCIS standard.
Optionally, the target file is an overlay index file, or an overlay index file and an extension information file.
Optionally, when the target file is a coverage index file, each coverage index data block in the coverage index file includes a design module identity and position information of the design module in the source file; loc r And (5) designing the position information of the module in the coverage index file for the r-th design module. As one example, when the design module is in the coverage index file with a line range of 3 to 13 lines, the location information in the design module index data block includes two key-value pairs, one key is the start line and the key-value is 3, and the other key is the end line and the key-value is 13. It should be noted that, when the target file is the coverage index file, the coverage index file is the same as that in the second embodiment, and the coverage index file is already described in detail in the second embodiment and is not described again.
It should be noted that, the location information of the design module in the source file is not equal to the location information of the design module in the coverage index file. The source file is a code source file, the coverage index file is in a text format or a binary format, and data blocks of a plurality of objects are defined in the coverage index file, wherein each data block comprises structural information and position information of the corresponding object in the source file. The position information of the design module in the coverage index refers to the row range of the data blocks corresponding to all nodes taking the design module as a father node in the tree structure in the coverage index file.
Optionally, when the target file is a coverage index file and an extension information file, each coverage index data block in the coverage index file includes a design module identity, and each extension information data block in the extension information file includes an associated identity and position information of the object in the source file; loc r And (5) respectively setting position information of the r design module in the coverage index file and the extension information file. As an example, when the design module has a line range of 3 to 13 lines in the coverage index file, and a line range of 3 to 13 lines in the extension information file, The location information in the design module index data block includes four key value pairs, respectively: the start line and key value in the overlay index file is 3, the end line and key value in the overlay index file is 13, the start line and key value in the extension information file is 3, and the end line and key value in the extension information file is 13. It should be noted that, when the target file is the coverage index file and the extension information file, the coverage index file and the extension information file are the same as those in the third embodiment, and will not be described again. Compared with the mode that all the position information and the structured information are placed in the same data block, the position information and the structured information are placed in two different files, so that the position information and the structured information can be loaded according to the needs, the position information does not need to be loaded when the coverage rate needs to be calculated, the loading data quantity is reduced, the loading efficiency is improved, and meanwhile, the memory load is reduced.
C500, the information loc of the target position in the target file r And loading the data blocks in the range into the memory.
Optionally, the target file is an overlay index file or an extension file.
As a preferred embodiment, when the target file is in text format, loc r Including the line number of the start line and the line number of the end line. It should be noted that the line number of the start line and the line number of the end line are both in the form of key value pairs appearing in loc r In (a) and (b) are provided.
As a preferred embodiment, when the target file is in binary format, loc r Including the start position offset and the data length. It should be noted that the initial position offset and the data length are both in the form of key value pairs in loc r In (a) and (b) are provided.
In summary, the fourth embodiment provides a database partial loading system, by configuring the position of each design module in the target file in the index file indxf corresponding to different coverage indexes, when a user designates a corresponding design module or instance, the user can quickly obtain the position range of the corresponding design module in the target file through the index file corresponding to the corresponding coverage index, and then load the data block in the position range, and the purpose of partial loading is achieved through the cooperation between the index file and the coverage index file, so that the data volume loaded is greatly reduced, and the technical problem of slow data loading when the user accesses the database according to the designated object is solved. Meanwhile, the corresponding position information is stored according to the coverage index classification, so that the whole data size of the index file is reduced, and the technical problem of large data size and slow loading of the index file is solved.
Example five
A fifth embodiment provides a target file partial loading system comprising a database comprising a mapping file sdb, an index file modidx, and a target file, a processor, and a memory storing a computer program.
Further, the sdb includes a design module, a design module identity, an instance, and a mapping relationship between instance identities. The mapping file sdb is the same as that in the second embodiment, and will not be described again.
Further, modidx includes M1 index modules { modidx 1 ,modidx 2 ,…,modidx m1 ,…,modidx M1 },modidx m1 For the M1 index module, the value range of M1 is 1 to M1; modidx m1 Including design module identity identification rid m1 And N1 coverage index groups metric x, metric x= { metric x 1 ,metridx 2 ,…,metridx n1 ,…,metridx N1 },metridx n1 For the N1-th coverage index group, the value range of N1 is 1 to N1; metridx n1 Information lloc including the type of overlay index and the location of the module in the target file n1 Wherein the f1 st index module modidx f1 Module identity identification rid of (2) f1 ≠rid m1 The value of f ranges from 1 to M1 and f noteq M.
It should be noted that, in the first embodiment, the coverage index type is already described in detail and will not be described again.
Optionally, when the target file is an overlay index file, the location information lloc n1 And (5) designing row range information of the module in the coverage index file. It should be noted that, the coverage index file is the same as that in the second embodiment, and will not be described again.
Optionally, when the target file is the coverage index file and the extension information file, the location information in the index data block of the design module is row range information of the corresponding design module in the coverage index file and the extension information file respectively. It should be noted that, the coverage index file and the extension information file are the same as those in the third embodiment, and will not be described again.
As an example, taking the target file as an overlay index file, the target file is divided into different index modules according to the module identification in the same index file. modidx m1 The method comprises { rid:5, "FSM": { start:1, end:12}, COND } { start:13, end:25} … }, wherein "rid:5" is the module identity of 5, FSM and COND are respectively coverage index types, and "start:1, end:12" is the row range of the design module with the module identity of 5 in the coverage index file. Wherein COND is a conditional coverage index.
Further, referring to fig. 5, when the computer program is executed by the processor, the following steps are implemented:
d100, when the user selects partial loading, the mapping file sdb and the index file modidx are loaded.
The map1 comprises the map1 of Q1 first map1 and the map2 of Q2 second map1, and the map1 comprises the map between Q1 design modules and the identity of the design modules; map2 includes the mapping between Q2 instances, instance identities, and design module identities. Note that, in the fifth embodiment, the sdb is the same as the sdb in the second embodiment, and will not be described again.
D200, obtaining a first target object designated by a user to search sdb to obtain a module identity id m1 . Wherein the first target object is a module or instance. Optionally, when the first target object is an instance, acquiring the module identity according to map 2; and when the first target object is a module, acquiring the module identity according to the map 1.
D300, according to module identity id rid m1 And searching modidx by the first target object to obtain position information lloc of the first target object in the target file designated by the user n1
Optionally, D300 further includes:
d310, according to module identity id m1 Finding modidx to obtain a target index module modidx m1
D320, searching modidx according to the coverage index type of the first target object m1 Metridx of (2) to obtain Metridx n1 . It should be noted that, in the first embodiment, the coverage index type is already described in detail, and will not be described again. The first target object specified by the user is a memory object, and related attributes of the object are already bound in the memory of the system, wherein the related attributes comprise the coverage index type.
Optionally, the step of finding modidx in D300 further includes: calling a query interface function of UCIS standard, wherein the entry parameter of the query interface function comprises a module identity mark rid m1 And a first target object, returning target position information lloc obtained by inquiry n1
D330, according to metric n1 Obtaining the position information lloc of the first target object in the target file n1
As a preferred embodiment, when the target file is in text format, lloc n1 Including the line number of the start line and the line number of the end line. It should be noted that the line number of the start line and the line number of the end line are both in the form of key value pairs appearing in lloc n1 In (a) and (b) are provided.
As a preferred embodiment, when the target file is in binary format, lloc n1 Including the start position offset and the data length. It should be noted that the initial position offset and the data length are both in the form of key value pairs in the lloc n1 In (a) and (b) are provided.
D400, the position information lloc in the target file is obtained n1 And loading the data blocks in the range into the memory.
In summary, the fifth embodiment provides a database partial loading system, by loading an index file modidx, and configuring the position of the corresponding coverage index in the target file for each design module in the index file by using the design module identity identification basic unit, the loading occupies only one IO interface, and the user can quickly acquire the position range of the corresponding design module in the target file when designating the corresponding design module or instance, and further load the data block in the position range, through the cooperation between the index file and the coverage index file, the purpose of partial loading is achieved, the loaded data volume is greatly reduced, and the technical problem of slow data loading when accessing the database according to the user designated object is solved. Only one file is needed to be searched during searching, and the searching efficiency is high. And according to the classification of the identity of the design module, the coverage index groups with the identity of the same design module can share the identity of the same design module, so that a large amount of the same information stored in the index file is reduced, and the technical problem of large data volume and slow loading in the index file is solved.
Example six
Referring to fig. 6, a sixth embodiment provides a method for partially loading a target file, the method including the following steps:
e100, loading a mapping file sdb and an index file mmetrindex when a user selects partial loading; the sdb comprises a design module, a design module identity, an instance and a mapping relation among instance identities.
It should be noted that, the mapping file sdb is the same as that in the second embodiment, and will not be described again.
Wherein, the mmetrindex comprises N coverage index units { mmetrindex } 1 ,mmetrindex 2 ,…,mmetrindex n1 ,…,mmetrindex N },mmetrindex n1 The N1-th coverage index unit is provided with a value range of 1 to N; mmetrindex n1 Includes coverage index type and N1 module information groups { modx ] 1 ,modx 2 ,…,modx n1 ,…,modx N1 },modx n1 For the N1-th module information group, the value range of N1 is 1 to N1; modx n1 Comprising a module identity mark rid m1 And design the location information mloc of the module in the object file n1 Wherein the f1 st module information group mod x f1 Module identity identification rid of (2) f1 ≠rid m1 F1 ranges from 1 to N1 and f1+.m1. Wherein the coverage index type is in realThe first embodiment is described in detail and will not be described in detail.
It should be noted that, in the sixth embodiment of the present invention, the index file mmetrindex is a file, and only occupies one IO interface when the index file is loaded. The index file is divided into a plurality of different index units by the type of the coverage index.
Optionally, when the target file is an overlay index file, the location information lloc n1 And (5) designing row range information of the module in the coverage index file. It should be noted that, the coverage index file is the same as that in the second embodiment, and will not be described again.
Optionally, when the target file is the coverage index file and the extension information file, the location information in the index data block of the design module includes row range information of the design module in the coverage index file and the extension information file, respectively. As a preferred embodiment, when ext i When the file corresponding to the condition coverage index is provided, the expanding data block also comprises key value pairs of the condition and the parameter, wherein the key in the key value pair of the condition is named as the condition, and the key value is the condition; the keys in the parameter key value pair are named parameters, and the key value is an array of a plurality of parameters. It should be noted that, the coverage index file and the extension information file are the same as those in the third embodiment, and will not be described again.
As an example, taking the target file as the coverage index file, four coverage index units are included in the same index file, which are a first coverage index unit corresponding to the conditional coverage index, a second coverage index unit corresponding to the line coverage index, a third coverage index unit corresponding to the asserted coverage index, and a fourth coverage index unit corresponding to the finite state machine coverage index. The fourth coverage index unit comprises { "FSM" [ { rid:5, start:1, end:12}, { rid:6, start:13, end:25} … }, where FSM is the coverage index type, "rid:5" is the module identity of 5, where "start:1, end:12" is the row range of the design module with the module identity of 5 in the coverage index file.
E200, obtaining the module identity id according to the first target object specified by the user m1 And an overlay indicator type. It should be noted that the first target object is a design module or an instance. The first target object designated by the user is a memory object, and the identity, the type identifier, the name, the father node information and the like of the object are bound on the first target object.
E300, according to the module identity mark rid m1 And searching an index file mmetrindex by covering the index type to obtain target position information mloc of the design module specified by the user in the target file n1 . It should be noted that, the object file includes a plurality of data blocks of the design modules, the data blocks in the starting line and the ending line of each design module belong to the same data block, and the data blocks are continuously adjacent to each other.
E400, loading information mloc at target position in target file n1 Data blocks within range. Namely, only the module corresponding to the first target object designated by the user is loaded, other modules are not loaded, the purpose of partial loading is achieved, the data volume of loading is reduced, the loading efficiency is improved, and meanwhile, the space occupied by the memory is reduced.
As a preferred embodiment, mloc when the target file is in text format n1 Including the line number of the start line and the line number of the end line. It should be noted that the line number of the start line and the line number of the end line are both in the form of key value pairs appearing in mloc n1 In (a) and (b) are provided.
As a preferred embodiment, mloc when the target file is in binary format n1 Including the start position offset and the data length. It should be noted that the initial position offset and the data length are both in the form of key value pairs in mloc n1 In (a) and (b) are provided.
In summary, the embodiment of the invention provides a method for partially loading a target file, by loading an index file mmetrindex, each type of coverage index in the index file is an index unit, each index unit includes N1 module information groups based on design module identity as grouping basis, when loading the index file, only one index file is needed, and when a user designates a design module or an instance, the position range of the design module in the target file can be quickly obtained, so that data blocks in the position range can be loaded when loading, the purpose of partial loading is achieved through cooperation between the index file and the coverage index file, the loaded data volume is greatly reduced, and the technical problem of slow data loading when accessing a database according to the user designated object is solved. Only one index file needs to be loaded during loading, the occupation of an IO interface is small, and the searching efficiency is high; meanwhile, a large amount of identical information stored in the index file is reduced, and the technical problem of large data volume and slow loading in the index file is solved.
Because the standard UCIS database is adopted, the coverage status data obtained by the test cases are required to be updated to the UCIS standard database every time the user executes each time, namely, the database files are required to be read into the memory and updated once every time the test cases are executed, a large amount of memory resources are occupied, and the structured data of the coverage index are easy to tamper, in order to solve the problems, the invention provides an embodiment seven and an embodiment eight.
Example seven
A seventh embodiment provides a coverage rate storage system, where the coverage rate storage system includes a database, a processor, and a memory storing a computer program, where the database includes N types of coverage indicators, where N types of coverage indicators correspond to N coverage data files fdat, where an h coverage data file fdat in fdat h Comprising the following steps: coverage data block inst of T instances h ={inst h,1 ,inst h,2 ,…,inst h,t ,…,inst h,T }, wherein inst h,t The coverage rate data block of the T-th example is that the value range of T is 1 to T; wherein inst h,t Including instance identity instid h,t Full pathname instNa of instance h,t And overwrite data h,t ,data h,t Including the overlay item type identification (IType) h,t Field Sum of all coverage item numbers h,t And a coverage value field Val h,t ,Val h,t The number of binary digits equals Sum h,t And each binary bit corresponds to an overlay state identifier of an overlay item. After compiling the source fileAfter the coverage index file, when a user tests coverage rates of different coverage indexes by using a test case, corresponding coverage data is generated; the coverage data is classified according to the types of the coverage indexes, the coverage data corresponding to one type of coverage indexes is stored in each coverage data file, the aim of separating and storing the compiled coverage index structured data from the tested coverage data is fulfilled, the compiled coverage index structured data is prevented from being damaged, and meanwhile, the problem that the compiled data is frequently overloaded due to the fact that the compiled data and the test data are put into the same file in the UCIS standard is solved.
Each instance has a unique identity, that is, the identity of the same instance is the same in the same coverage data file or different coverage data files, and the identities of different instances are different. The identity of the instance is used to associate the coverage indicator in the data block to which it belongs with the module data block in the coverage indicator file, so as to calculate the coverage rate of the corresponding module.
Wherein the full pathname of the instance is instNa h,t The file naming format in the uci standard is met. Wherein inst h,t Global identity Sig of module data blocks h,t . Wherein the global identities of the data blocks belonging to the same module are identical. The coverage item type identifier is used for indicating the type of the current coverage data in the tree structure of the coverage index, and in the UCIS standard, the coverage item type can indicate the coverage index and the coverage item to which the current coverage data belongs because the type identifiers of the coverage items in the tree structures of different coverage indexes are different. In the binary data of the coverage value, 0 indicates that the corresponding coverage item is not covered by the test case, and 1 indicates that the corresponding coverage item is covered by the test case. The number of coverage items is used to represent the number of all coverage items covered by the current coverage data, including all coverage items to be tested, including all coverage items that are uncovered and covered. The coverage data can be represented by three fields, so that the coverage state of the memory object established in each data block in the item file can be accurately represented.
Further, referring to fig. 7, the database further includes a mapping file sdb, an index file, and an coverage index file, and when the computer program is executed by the processor, the following steps are implemented:
And F100, loading a mapping file sdb and an index file, wherein the sdb comprises a design module, a design module identity, an instance and a mapping relation between instance identities.
Optionally, when the coverage data block in the coverage index file includes the identity of the design module and the location information of the module in the source file, the index data in the index file includes the identity of the design module, the coverage index, and the location information of the design module in the coverage index file. It should be noted that, the coverage index file and the index file in this embodiment are already described in detail in the second embodiment, and will not be described again.
Optionally, when the coverage rate data block in the coverage index file includes the identity of the design module, and does not include the location information; the index data block in the index file comprises a module identity, a coverage index, position information of the design module in the coverage index file and position information of the design module in the extension information file. It should be noted that, the coverage index file and the index file in this embodiment are already described in detail in the third embodiment, and will not be described again. Because the coverage index file does not comprise the position information of the object in the source file, and the position of the object in the source file does not need to be positioned when the association between the coverage index file and the coverage data is established, the loading of the extension information file is not needed, the loaded data volume can be reduced, the consumption of memory resources is reduced, and the loading efficiency is improved.
F200, load and cover the data file fdat h Will fdat h And establishing a one-to-one association relation between the coverage value data in all coverage data blocks and the coverage item data blocks in the coverage index file. And after the association relation between the coverage value data and the coverage item is established, the whole coverage rate is convenient to calculate.
Wherein inst h,t The establishing step of the association relation of the (a) comprises the following steps:
f210, get inst h,t Instance identity identifier of (a) h,t
F220 find and instid in sdb h,t Design module identity mark rid for forming mapping relation m1
F230 find rid in index file m1 The corresponding design module is in the target position range in the coverage index file. Wherein prior to searching the index file, further comprises: identifying an itype from an overlay type h,t Acquiring a coverage index type, and according to the coverage index type and rid m1 Searching the index file to obtain a position range. It should be noted that, in the uci standard, the coverage item type identifier is globally unique, and after the coverage item type identifier is obtained, the corresponding coverage index type may be obtained.
F240, obtaining the coverage item type identifier as the type in the target position range in the coverage index file h,t The target of (a) covering item data blocks.
F250, get inst h,t Val of (C) h,t Associated with the target coverage item data chunk. Specifically, val h,t It is necessary to convert to binary data, and each binary bit is associated with the target coverage item data block in sequence.
Alternatively, when Val h,t In the case of binary data, each binary bit corresponds to an overlay state identifier of an overlay item.
As a preferred embodiment, when Val h,t For hexadecimal data, val is calculated h,t And converting the data into binary data, wherein each binary bit corresponds to an overlay state identifier of an overlay item.
In summary, the seventh embodiment of the present invention provides a coverage rate storage system, where when coverage rate data is stored, the coverage rate storage system stores a coverage value in the coverage rate data, establishes a mapping relationship among a coverage item type identifier, the number of coverage items, and a coverage value field, and determines, through the coverage rate and the coverage number, which bits of valid data are in the coverage rate and the coverage status of each bit, where the coverage type identifier explicitly indicates a coverage index to which the current coverage rate belongs; and the coverage rate data block also comprises an instance identity, and the corresponding design module identity can be uniquely determined through the instance identity, so that the coverage rate can be calculated by establishing the association relationship between the coverage index file and the coverage data file, and the technical problem that the whole standard UCIS database needs to be reloaded and updated every time the test case is executed is solved.
Example eight
Referring to fig. 8, an eighth embodiment provides a coverage rate obtaining method, which includes the steps of:
g200, obtaining the h coverage rate data file fdat h Wherein, fdat h Comprising the following steps: coverage data block inst of T instances h ,inst h Coverage data block inst of the t-th instance in (b) h,t Including instance identity instid h,t And overwrite data h,t ,data h,t Including an overlay item type identification (IType) h,t Field Sum of all coverage item numbers h,t And a coverage value field Val h,t ,Val h,t The number of binary digits equals Sum h,t And each binary bit corresponds to an overlay state identifier of an overlay item.
G400 according to instid h,t Searching a mapping file sdb, wherein the sdb comprises a mapping relation between a module identity and an instance identity, and acquiring an instid h,t Corresponding module identity id m1
G600 according to the type h,t Obtaining data h,t Coverage indicator type of (c).
G800 according to data h,t Coverage index type acquisition of (i) type coverage index file item i Wherein item i The overlay item data block also comprises an overlay item type identifier and an index identifier, and the index identifier in the overlay item data block belonging to the same father node is unique. Wherein the index identification is unique under the same father node, which means that the index identifications are independently numbered and are different from each other under the father node. Wherein item i The details of the file in the first embodiment are not repeated.
G1000 according to the type h,t Searching item i And obtaining all target coverage item data blocks.
G1200 sequentially from data according to index identification in the target overlay item data block h,t And (5) extracting the coverage state identifier corresponding to each data block. The function of the index identifier is equivalent to the offset in the coverage value data, so that the corresponding coverage state identifier can be quickly bound into the corresponding target data block, and the parent node can be quickly searched during searching. Compared with a method for arranging and searching according to the identity of the coverage item data block, the searching efficiency is improved. It should be noted that, since the index identifier of the overlay item data block under each parent node is unique, the number of parent nodes determines the data h,t Is divided into several segments, each segment corresponding to an index coverage domain of a parent node.
And G1400, calculating coverage rate according to the coverage state identification of each data block. It should be noted that, when binding the coverage status data to the coverage index file item i After the coverage data blocks in the database, calculating the overall coverage rate according to the coverage state of each coverage data block.
As a preferred embodiment, the item i No extension information is included for display on the graphical user interface. Optionally, the extension information is location information of the object in the source file. Alternatively, when item i When the index file is covered for the condition, the expansion information is key value pairs of the condition and the parameter and position information of the object in the source file. By the method, the data volume loaded can be further reduced, related data irrelevant to the calculation coverage rate is not loaded, wherein the expansion information can be stored in an expansion information file, and the third embodiment has detailed description of related embodiments and is not repeated.
As a preferred embodiment, the inst h,t Full pathname instNa also including instance h,t
The invention can also load the coverage index file in a partial loading mode so as to reduce the loaded data quantity and reduce the occupation of memory resources. Methods of partial loading include, but are not limited to, the following three ways:
the first way, before G1000, further includes:
g900, partially loaded item i Medium design module identity mark rid m1 A corresponding target design module comprising:
g910 according to data h,t Searching index files of all the coverage index files according to the coverage index types to obtain target index files, wherein the index files are classified according to the coverage index, and each index file comprises design module identification information and position information of the design module identification information in the coverage index file.
G920, according to the identity mark rid of the design module m1 Searching the index data block of the design module in the target index file to obtain the item of the target design module i Target position information in (a) is provided.
G930, item i And loading the data blocks in the target position information range into the memory.
It should be noted that, in the fourth embodiment, related embodiments have been described in detail, and will not be described in detail.
In a second manner, the G1000 further includes:
g900, partially loaded item i Medium design module identity mark rid m1 A corresponding target design module comprising:
g901, according to the module identity id rid m1 Searching an index file to obtain a target index module; the index file comprises M1 index modules, each index module comprises a design module identity and N1 coverage index groups grouped according to the coverage index, and each coverage index group comprises the type of the coverage index and the position information of the design module in the coverage index file.
G902 according to data h,t And (3) searching the coverage index group in the target index module to obtain a target coverage index group.
G903, obtaining the target design module in item according to the target coverage index group i Target position information in (a) is provided.
G904, item i And loading the data blocks in the target position information range into the memory.
It should be noted that, in the fifth embodiment, related embodiments have been described in detail, and will not be described in detail.
In a third manner, the G1000 further includes:
g900, partially loaded item i Medium design module identity mark rid m1 A corresponding target design module comprising:
g9001, according to module identity id m1 And data h,t Searching index file by coverage index type to obtain target design module in item i Target position information in (a); the index file comprises N coverage index units divided according to the types of the coverage indexes, the coverage index units comprise the types of the coverage indexes and N1 module information groups divided according to the identities of the design modules, and the module information groups comprise the identities of the design modules and the position information of the design modules in the coverage index file.
G9002, load item i In target position information mloc n1 Data blocks within range.
It should be noted that, in the sixth embodiment, related embodiments have been described in detail, and will not be described in detail.
As a preferred embodiment, before G1200, further includes:
g1101 obtaining item i The target of which covers a plurality of parent nodes to which the item data block belongs.
G1102, dividing the target coverage item data blocks belonging to the same parent node into the same data group.
G1103, according to parent node in item i The order of occurrence of (c) orders the data sets.
As a preferred embodiment, when Val h,t For hexadecimal data, val is calculated h,t And converting the data into binary data, wherein each binary bit corresponds to an overlay state identifier of an overlay item.
In summary, according to the embodiment of the invention, the coverage status identifier is accurately obtained from the coverage data block of the coverage data file through the index identifier configured by the coverage index file, and the coverage is calculated according to the coverage status identifier, so that not only the structured data and the coverage data of the coverage index can be stored separately, but also the coverage can be calculated by accurately associating the separately stored structured data and the coverage data, only the coverage data file is required to be updated when each test case is executed, but not all files in the whole database, and the technical problem that each test case is required to be reloaded and the whole standard UCIS database is required to be updated is solved.

Claims (10)

1. A data visualization positioning system, the system comprising a database, a processor and a memory storing a computer program, the database comprising a mapping file sdb, an index file indxf, an overlay index file item and an extension information file ext, wherein:
The sdb comprises a design module, a design module identity, an instance and a mapping relation among instance identities;
the indxf comprises a plurality of index data blocks, wherein each index data block comprises a module identity, a coverage index, position information iline1 of a design module in a coverage index file and position information eline2 of the design module in an extension information file;
the item includes N coverage index files, wherein the ith coverage index file item i Comprises M coverage index data blocks, wherein the mth coverage index data block comprises the identity id of the object m
ext includes N extension information files, wherein the ith extension information file ext i Comprises M extended data blocks, wherein the mth extended data block comprises an associated identity and position information slot of an object in a source file m
The computer program, when executed by a processor, performs the steps of:
b100, reading the mapping file sdb and the index file indxf into a memory;
b200, acquiring a first target object selected by a user, wherein the first target object is a design module or an instance; searching the sdb in the memory according to the first target object to obtain a first target object correspondenceDesign module identity identification rid of (2) m1
B300, obtain the inclusion rid according to indxf m1 Obtaining the item of the design module in the index data block i The position information iline1 in the expansion information file and the position information eline2 of the design module;
b400, item i Loading the data blocks in the middle line1 range to a memory, establishing a memory object and binding the identity of the object;
b500, loading the expansion data block in the eline2 range in the ext to the memory, and according to the association identity in the expansion data block, loading the position information slot of the object in the source file m Binding with the memory object;
b600, searching the object identity and the position information of the object in the source file, which are bound by the memory object, according to the identity of the second target object designated by the user to obtain the position information of the second target object in the source file;
and B700, positioning and visually displaying the second target object in the source file according to the position information of the second target object in the source file.
2. The system of claim 1, wherein iline1 includes a start position and an end position of the associated data block corresponding to each design module in the coverage index file, and eline2 includes a start position and an end position of the location information corresponding to the design module in the extension information file.
3. The system of claim 1, wherein the ext is i Excluding items i An extended data block corresponding to the coverage item data block.
4. The system of claim 1, wherein when item i The object identity identifier described by all data blocks in the list is globally unique, and the associated identity identifier and item of the extended data block in the ext i Corresponding object identities in the database are the same.
5. The system of claim 1, wherein when item i In the extension data block of ext, the design module identity is globally unique, the index coverage domain identity is unique under the same father node, and the coverage item identity is unique under the same father node, the association identity and item corresponding to the design module in the extension data block of ext i The identity of the design modules in the system are the same, and the associated identity corresponding to the index coverage domain and the coverage item are item respectively i Full path name of corresponding object identity.
6. The system of claim 5, wherein the step of obtaining the full pathname comprises: at item i The data blocks of the target object are searched under the design module in the (a), and object identification marks on the paths of the nodes where the data blocks of the target object are searched by the index coverage domain nodes are spliced in sequence to obtain the full path names.
7. The system of claim 1, wherein when item i The identity of all design modules in the extension data block of ext is globally unique, the identity corresponding to the index coverage domain is globally unique, and when the identity of the coverage item is unique under the same father node, the associated identity and item corresponding to the design module in the extension data block of ext i The identity of the design module in the overlay domain is the same, and the associated identity corresponding to the overlay domain is the item i The identity of the coverage area in the method is the same, and the associated identity corresponding to the coverage item comprises item i The overlay item identity and the overlay item binding identity.
8. The system of claim 1 wherein when all design module identities are globally unique, the identity corresponding to the index overlay domain is globally unique, and all overlay item identities are globally unique, and the ext file does not include an extension data block of an overlay item, the extension data block in ext is associated with the identity and item i Corresponding object identities in the database are the same.
9. The system of claim 1, wherein when item i When the module identity is globally unique, the index coverage area is globally unique and the coverage item is globally unique, and the ext file comprises the extended data block of the coverage item, the association identity and item corresponding to the design module are designed i The identity of the design modules in the system is the same; associated identity and item corresponding to coverage domain i The identity of the coverage area in the network is the same; the associated identity corresponding to the coverage item comprises item i The overlay identity and the overlay type identity in the database.
10. The system of claim 1, wherein when item i When the module identity identifier is globally unique, the index coverage domain is globally unique and the coverage item is globally unique, and the ext file comprises the extended data block of the coverage item, the associated identity identifier corresponding to the coverage domain comprises item i The overlay domain identity and the overlay domain type identity in the network; associated identity and item corresponding to design module i The identity of the design modules in the system is the same; associated identity and item corresponding to coverage item i The identity of the overlay item in the database is the same.
CN202310597909.9A 2023-05-25 2023-05-25 Visual positioning system of data Active CN116627568B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310597909.9A CN116627568B (en) 2023-05-25 2023-05-25 Visual positioning system of data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310597909.9A CN116627568B (en) 2023-05-25 2023-05-25 Visual positioning system of data

Publications (2)

Publication Number Publication Date
CN116627568A true CN116627568A (en) 2023-08-22
CN116627568B CN116627568B (en) 2024-02-20

Family

ID=87620881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310597909.9A Active CN116627568B (en) 2023-05-25 2023-05-25 Visual positioning system of data

Country Status (1)

Country Link
CN (1) CN116627568B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117331827A (en) * 2023-09-28 2024-01-02 北京云枢创新软件技术有限公司 Method for matching coverage objects in verification plan, storage medium and electronic device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306957A (en) * 2019-07-30 2021-02-02 华为技术有限公司 Method and device for acquiring index node number, computing equipment and storage medium
CN113110944A (en) * 2021-03-31 2021-07-13 北京达佳互联信息技术有限公司 Information searching method, device, server, readable storage medium and program product
CN115237853A (en) * 2021-04-22 2022-10-25 腾讯科技(深圳)有限公司 Data query method and device, electronic equipment and storage medium
CN115858460A (en) * 2022-12-29 2023-03-28 本源科仪(成都)科技有限公司 File storage method and device, file reading method and device, medium and equipment
CN116010348A (en) * 2023-01-31 2023-04-25 北京基调网络股份有限公司 Distributed mass object management method and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306957A (en) * 2019-07-30 2021-02-02 华为技术有限公司 Method and device for acquiring index node number, computing equipment and storage medium
CN113110944A (en) * 2021-03-31 2021-07-13 北京达佳互联信息技术有限公司 Information searching method, device, server, readable storage medium and program product
CN115237853A (en) * 2021-04-22 2022-10-25 腾讯科技(深圳)有限公司 Data query method and device, electronic equipment and storage medium
CN115858460A (en) * 2022-12-29 2023-03-28 本源科仪(成都)科技有限公司 File storage method and device, file reading method and device, medium and equipment
CN116010348A (en) * 2023-01-31 2023-04-25 北京基调网络股份有限公司 Distributed mass object management method and device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117331827A (en) * 2023-09-28 2024-01-02 北京云枢创新软件技术有限公司 Method for matching coverage objects in verification plan, storage medium and electronic device

Also Published As

Publication number Publication date
CN116627568B (en) 2024-02-20

Similar Documents

Publication Publication Date Title
CN116627972B (en) Structured data discrete storage system for covering index
EP3513315A1 (en) System for data management in a large scale data repository
CN116627568B (en) Visual positioning system of data
CN108681556B (en) Distributed instruction domain data access method and system
CN108388640B (en) Data conversion method and device and data processing system
US11334549B2 (en) Semantic, single-column identifiers for data entries
CN104699613B (en) A kind of spacecraft-testing demand automatic creation system and its method
JP6530829B2 (en) Data multidimensional model generation system and data multidimensional model generation method
CN115129736B (en) Rule event dynamic loading and updating method based on rule engine and related equipment
Sundarmurthy et al. m-tables: Representing missing data
CN113535788B (en) Ocean environment data-oriented retrieval method, system, equipment and medium
CN114168705B (en) Chinese address matching method based on address element index
CN113821554B (en) Method for realizing heterogeneous database data acquisition
CN116954745B (en) Target file partial loading system
CN116610577B (en) Coverage rate acquisition method
CN116627974B (en) Coverage rate storage system
CN116610383B (en) Method for partially loading target file
CN116627973B (en) Data positioning system
CN116820602B (en) Database partial loading system
CN113297171A (en) Database migration method and device and database cluster
CN116820602A (en) Database partial loading system
RU2393536C2 (en) Method of unified semantic processing of information, which provides for, within limits of single formal model, presentation, control of semantic accuracy, search and identification of objects description
CN116775431A (en) Automatic driving application calculation performance measurement method, device, equipment and storage medium
CN108090034B (en) Cluster-based uniform document code coding generation method and system
CN109522311A (en) Date storage method, device, server and 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
GR01 Patent grant
GR01 Patent grant