CN102298634B - Structural reorganization method for Sqlite deletion record - Google Patents
Structural reorganization method for Sqlite deletion record Download PDFInfo
- Publication number
- CN102298634B CN102298634B CN 201110266852 CN201110266852A CN102298634B CN 102298634 B CN102298634 B CN 102298634B CN 201110266852 CN201110266852 CN 201110266852 CN 201110266852 A CN201110266852 A CN 201110266852A CN 102298634 B CN102298634 B CN 102298634B
- Authority
- CN
- China
- Prior art keywords
- record
- moving window
- sqlite
- value
- reorganized
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention provides a structural reorganization method for a Sqlite deletion record. The method comprises the following steps of: 1, setting an initial offset value of a sliding window to be 5; 2, learning the structure of a datasheet to which a record to be reorganized belongs and thereby defining the sliding window; 3, computing a value of the sliding window and the size of an entire data domain in the record to be reorganized; and 4, judging whether the two values computed by the step 3 are equal to each other; if the two values are equal to each other, reorganizing a deleted record according to the position of a final small window in the sliding window and the structure of the record to be reorganized, ending a flow, otherwise judging whether the offset value reaches the predetermined upper limit of the value, trying to reorganize fragments and ending the flow if the offset value reaches the predetermined upper limit; and otherwise, making offset be equal to the sum of offset and 1, and returning to perform the step 3. The structural reorganization method for the Sqlite deletion record provided by the invention has the advantages of high accuracy of reorganization result and high practicability and can be suitable for all Sqlite databases.
Description
Technical field
The present invention relates to computer realm, relate in particular to a kind of Sqlite deletion record structural rearrangement method.
Background technology
The Sqlite database is the correlation data base management system (DBMS) of observing ACID, its design object is Embedded, and in a lot of embedded products, used it at present, it takies very low of resource, can support the operating system of Windows/Linux/Unix etc. main flow, can combine with a lot of program languages simultaneously, also has the ODBC interface, compared with this two world-renowned data base management system (DBMS) of increasing income of Mysql, PostgreSQL, its processing speed is all faster than them equally.Therefore, the Sqlite database is widely used in computer realm.
In computer realm, sometimes need the data of the having deleted recovery of recombinating, the research and comparison of the outer general parsing for Sqlite database deletion data of Present Domestic is few, working solution division product in the market have significant limitation, below for making explanation clearer, briefly introduce by reference to the accompanying drawings the structure of Sqlite deletion record front and back.
Figure 1 shows that not deleted Sqlite interrecord structure synoptic diagram.To afterbody, this record comprises successively by head: record total length 11, ROWID12, head index total length 13, a N index territory 14 and N data field 15.Wherein, record total length 11 and ROWID12 are variable length integers, and the space size that takies is the 1-9 byte, and head index total length 13 is that the space that takies of N index 14 and head index total length 13 is always big or small.N data field 15 is corresponding one by one with N index territory 14, that is: i (i=1,2 ..., the N) index in the index territory 14
The data in i the data field have been recorded
The space size that takies.
Figure 2 shows that the Sqlite interrecord structure synoptic diagram after the deletion.After the deletion record, this deletion record be called idle node, front 4 bytes of record will not rewritten before the deletion, as shown in Figure 2, the first two byte of the Sqlite record after the deletion is rewritten as the pointer 21 that points to next idle node, 3-4 byte then is used for the size 22 (hereinafter being designated as FTL) of this idle node of expression, and since the 5th byte, the 5th byte content afterwards is constant in the content of Sqlite record and the deleted front record.Obviously, why the interrecord structure of deletion can be reorganized, is because behind the record deletion, only have front 4 bytes to cover in the former record, and the content of the 4th byte back is not rewritten or emptied.
As seen from the above description: the deletion of record may cause the index 1 in the former Sqlite record capped or partly capped, therefore, existing Sqlite deletion record structural rearrangement method can only be resolved the complete deletion record of form, and when the head index is capped or has pseudo index, the method deletion record of can't normally recombinating has affected the accuracy of deletion record restructuring and comprehensive like this.In addition, do not have relevant public technology document or patent to mention and to address this problem at present, therefore need a kind of have high accuracy and comprehensive Sqlite deletion record structural rearrangement method.
Summary of the invention
The object of the present invention is to provide a kind of Sqlite deletion record structural rearrangement method, can only resolve the complete deletion record of form in order to solve existing deletion record structural rearrangement method, and the head index of can not normally recombinating is capped or exist in the index situation the problem of deletion record.The invention provides a kind of structural rearrangement method of brand-new deletion record, the method accuracy is high, practical, go for all Sqlite databases.
To achieve these goals, the invention provides a kind of Sqlite deletion record structural rearrangement method, the method may further comprise the steps:
Step 1: it is 5 that moving window initial offset values offset is set;
Step 2: read the number N of data field in the record to be reorganized and the variable length integer value in each data field, and define moving window; Wherein, described moving window is an interval of setting on the data stream, and the wicket number of described moving window is set to described N, and specifies each wicket of described moving window just can hold a variable length integer, sets the value upper limit of described offset;
Step 3: the value of calculating described moving window
Size with whole data field in the described record to be reorganized
Step 4: judge described
With
Value whether equate, if, execution in step A then, otherwise execution in step B;
Steps A: according to the deletion record of structural rearrangement of the position of last wicket in the described moving window and described record to be reorganized, process ends;
Step B: judge whether described offset value has reached its predetermined upper limit, if then attempt fragment restructuring and process ends; Otherwise, make offset=offset+1, make whole moving window move a wicket position along the direction that first wicket points to last wicket, and return execution in step three;
Wherein, described N is the positive integer more than or equal to 2, and the 1st to N wicket of described moving window arranged according to the direction identical with byte ordering in the described record to be reorganized; The value of described moving window
The space size sum that takies for data field corresponding to all wickets in the described moving window.
The size of whole data field in the described record to be reorganized
Satisfy relational expression:
Wherein, FTL is the numerical value of the 3rd to 4 byte representation in the described record to be reorganized,
Whole sizes values for described moving window.
Preferably, in above-mentioned Sqlite deletion record structural rearrangement method, preset the filtercondition of structural constraint; Before described steps A, also comprise: judge all wickets in the described moving window
Whether satisfy the filtercondition of described structural constraint, if execution in step A then, otherwise execution in step B.Attempt fragment restructuring and process ends described in the step B, comprising: step B1: the restructuring of head fragment is attempted in the integrated structure constraint; Step B2: judge whether success of head fragment restructuring, if, process ends then, otherwise the restructuring of afterbody fragment is attempted in the integrated structure constraint, has attempted rear process ends.
The filtercondition of described structural constraint comprises: what the constraint that Sqlite page or leaf size is brought, Sqlite types value retrained, data type retrains and character code is intrafascicular approximately is one or more.
The elongated sliding window mechanism of the creationary introducing of Sqlite deletion record structural rearrangement method provided by the invention and sub-sliding window mechanism are used for the deletion record restructuring, need not manual analysis gets involved, can automatic decision be whether record be fragment, accurately locate index and content, and the deletion record of recombinating exactly.For the method for having added structural constraint, in moving window, introduce extendible constraint set, the relatively complete deletion record of can not only recombinating, also can the recombinate record of head fragment and the record of afterbody fragment.The Sqlite deletion record structural rearrangement method that the embodiment of the invention provides is very high to the accuracy of deletion record structural rearrangement, realize simple, environmental suitability is strong, and the method is not limited to some databases, but the deletion record structural rearrangement of all databases all is suitable for, have very strong versatility.
Because the use of Sqlite is extensiveization trend, the importance of the method is self-evident, estimates that the method will produce certain influence to data library information safety technique, also recovers to provide brand-new thinking for deletion record restructuring even the data of other type of database.
Description of drawings
Fig. 1 is not deleted Sqlite interrecord structure synoptic diagram;
Fig. 2 is the Sqlite interrecord structure synoptic diagram after deleting;
The elongated moving window structural representation that Fig. 3 analyzes for a kind of based on data that the embodiment of the invention provides;
A kind of Sqlite deletion record structural rearrangement method flow diagram based on moving window shown in Figure 3 that Fig. 4 provides for the embodiment of the invention;
A kind of Sqlite deletion record structural rearrangement method flow diagram based on elongated moving window and structural constraint that Fig. 5 provides for the embodiment of the invention.
Embodiment
For solving problems of the prior art, the embodiment of the invention provides a kind of Sqlite deletion record structural rearrangement method, and be capped or exist the situation of pseudo index for the head index, introduced the structural constraint of Sqlite tables of data, to improve the accuracy of Sqlite deletion record restructuring.
Below briefly introduce first the elongated sliding window mechanism based on the Sqlite interrecord structure.
Moving window refers to an interval setting in data stream, and this interval includes only the nearest partial data of data stream, and along with the arrival of new data, window moves forward, with the old data of new data replacement.No matter be traditional fixed length sliding window mechanism based on actual and tuple, or existing elongated sliding window mechanism based on system resource, all be to be applied in the flow control and analysis and Control of data stream, be difficult to be applied in the data analysis of data stream, particularly according to the distribution situation of data and adjust in real time the size of moving window.Therefore, the embodiment of the invention has proposed the elongated moving window that a kind of based on data is analyzed, and is used for analyzing and restructuring Sqlite deletion record.
Specify the embodiment of the invention below in conjunction with accompanying drawing.
The elongated moving window structural representation that Fig. 3 analyzes for a kind of based on data that the embodiment of the invention provides, as shown in Figure 3, this moving window (below be designated as window) is divided into N fenestella (N for more than or equal to 2 positive integer), arrange this N wicket according to the direction identical with byte ordering in the record to be reorganized, namely according to record to be reorganized in byte identical this N of the direction fenestella that sorts sequentially be designated as
,
...,
, each wicket
All be elongated, wherein, i is value between 1 to N.Implement for convenient, if specify each
Just hold a variable length integer, then can calculate value and the size of whole moving window.The value of whole moving window is:
The size of whole moving window is:
Here set each
Represent the index in the former Sqlite record
, and set
For
Corresponding data
The size in shared space.So just can calculate the size of whole data field:
4 are expressed as deleted rear capped front 4 bytes of record in the formula (3).If satisfy relational expression
(4)
A kind of Sqlite deletion record structural rearrangement method flow diagram based on moving window shown in Figure 3 that Fig. 4 provides for the embodiment of the invention, the method may further comprise the steps:
S401: it is 5 that moving window initial offset values offset is set.In this step, because front 4 bytes of deletion record are inconsistent with former record, and the content of the 5th byte of deletion record after beginning is consistent with former record, therefore, the initial offset values offset=5 of moving window is set herein.
S402: data list structure also defines moving window according to this under learning record to be reorganized." defining " in this step refers to read value and the variable length integer value of data N in the record to be reorganized, and defines moving window according to described N value and variable length integer characteristic, that is: the fenestella number of moving window is set to described N value, and specifies each fenestella
Just can hold a variable length integer.In addition, also define the offset value upper limit of moving window.
S403: calculate
With
Value.Calculate according to formula noted earlier (1) to (3) in this step
With
Value.
S405: according to current moving window
The interrecord structure to be reorganized deletion record structure of recombinating of in advance study among value and the S402, process ends.
S407: judge whether current offset value has reached its predetermined upper limit, if then carry out S408, otherwise carry out S410.
S408: attempt the fragment restructuring, attempted rear process ends.
S410: make offset=offset+1, return and carry out S403.In this step, make offset=offset+1 namely: last wicket that makes whole moving window
Move forward to
The place, and other each fenestellas to
Direction moves a wicket position, that is: first wicket of final moving window
Be retracted into forward
Locate, and redistribute the name of sub-moving window
, i=[1 ..., N].
The Sqlite deletion record although method shown in Figure 4 can be recombinated only passes through that complete fulfillment formula (4) obtains
Be worth accuracy possible not high enough, for further strengthening the accuracy of Sqlite deletion record restructuring, the embodiment of the invention is introduced structural constraint mechanism on the basis of elongated moving window, further strengthened accuracy and the reliability of Sqlite deletion record restructuring.
The structural constraint mechanism that the embodiment of the invention is introduced refers to the set of an extendible structural constraint, can not only be used for strengthening the accuracy of deletion record restructuring, but also can attempt the record fragment that restructuring has been capped in the situation as much as possible, comprise record fragment and the capped record fragment of afterbody that head is capped.Adoptable structural constraint can be the constraint of: the constraint that Sqlite page or leaf size is brought, the constraint of Sqlite types value, data type constraint or other expansions.
Wherein, the constraint that Sqlite page or leaf size is brought refers to that all types are corresponding because the size of Sqlite page or leaf limits
The space size that takies also will be subject to corresponding restriction.Because the size that has defined the Sqlite page or leaf is arranged in Sqlite file initial page, this value represents with 2 bytes, so unless record uses overflow page, otherwise
The maximal value of size will be 2.The constraint of Sqlite types value refers to that all types are corresponding
Raw value can not be current undefined value, such as 10,11 etc.The data type constraint refers to the constraint of the types such as INTEGER type constraint, TEXT type constraint, BLOB type constraint.Other expansion constraints are such as the character code constraint etc., follow-uply in addition can continue to expand relevant constraint.
A kind of Sqlite deletion record structural rearrangement method flow diagram based on elongated moving window and structural constraint that Fig. 5 provides for the embodiment of the invention, the method may further comprise the steps:
S401: it is 5 that moving window initial offset values offset is set.
S402: the learning data list structure also defines moving window according to this.
S501: judge current moving window
Whether value satisfies the filtercondition of structural constraint, if then carry out S405, otherwise carries out S407.
S405: according to current moving window
The in advance data list structure of study restructuring deletion record structure among value and the S402, process ends.
S407: judge whether current offset value has reached its predetermined upper limit, if then carry out S503, otherwise carry out S410.
S410: make offset=offset+1, return and carry out S403.
S503: the restructuring of head fragment is attempted in the integrated structure constraint.
S504: judge whether success of head fragment restructuring, if, process ends then, otherwise, S505 carried out.
S505: the restructuring of afterbody fragment is attempted in the integrated structure constraint, has attempted rear process ends.
Among Fig. 5, the embodiment that has this step among the step of same reference numerals and Fig. 4 with Fig. 4 is identical, repeats no more herein.
Among the above-mentioned steps S503, the restructuring of head fragment can be divided into two kinds of situations, and a kind of is to determine that afterbody is capped, and another kind is to can not determine whether afterbody is capped.For the first situation, can utilize the elongated moving window that dwindles lattice to attempt determining
The position, this moment moving window in Fig. 3, be expressed as from
Arrive
Part.This moment, the value of whole moving window was:
This moment, the size of whole moving window was:
Then remaining space is:
(7)
The LeftSpace that will calculate gained according to formula (7) with calculate according to formula (5)
Relatively judge to meet high-order coverage criterion or meet whole position coverage criterion, and utilize structural constraint to filter to determine
Position and restructuring record fragment.Wherein the high-order most significant digit that refers to multibyte variable length integer that covers is capped, and it is capped that whole position covers the variable length integer that refers to byte.
Can't satisfy for the first situation of the head fragment of front restructuring that restructuring requires, can conclude that this end of record is capped.Be among the above-mentioned steps S505, need to consider the high-order covering of head, the situation that the whole position of head covers and head is capped.During implementation, consider first the situation that head is not capped, repeatedly attempt the elongated moving window supposition with the N lattice
The position, and filter to judge whether to satisfy the restructuring condition with structural constraint, if discontented lumping weight set condition is considered front two kinds of situations again, suppose with the elongated moving window among the foregoing S503 successively
The position, and filter to judge whether to satisfy the restructuring condition with structural constraint, if satisfy the restructuring condition, then restructuring record and process ends, otherwise direct process ends.
The elongated sliding window mechanism of the creationary introducing of Sqlite deletion record structural rearrangement method that the embodiment of the invention provides and sub-sliding window mechanism are used for the deletion record restructuring, need not manual analysis gets involved, can automatic decision be whether record be fragment, accurately locate index and content, and the deletion record of recombinating exactly.For the method for having added structural constraint, in moving window, introduce extendible constraint set, the relatively complete deletion record of can not only recombinating, also can the recombinate record of head fragment and the record of afterbody fragment.The Sqlite deletion record structural rearrangement method that the embodiment of the invention provides is very high to the accuracy of deletion record structural rearrangement, realize simple, environmental suitability is strong, and the method is not limited to some databases, but the deletion record structural rearrangement of all databases all is suitable for, have very strong versatility.
Because the use of Sqlite is extensiveization trend, the importance of the method is self-evident, estimates that the method will produce certain influence to data library information safety technique, also recovers to provide brand-new thinking for deletion record restructuring even the data of other type of database.
Obviously, those skilled in the art can carry out various changes and modification to the present invention and not break away from the spirit and scope of the present invention.Like this, if of the present invention these are revised and modification belongs within the scope of claim of the present invention and equivalent technologies thereof, then the present invention also is intended to comprise these changes and modification interior.
Claims (4)
1. Sqlite deletion record structural rearrangement method is characterized in that the method may further comprise the steps:
Step 1: it is 5 that moving window initial offset values offset is set;
Step 2: read the number N of data field in the record to be reorganized and the variable length integer value in each data field, and define moving window; Wherein, described moving window is an interval of setting on the data stream, and the wicket number of described moving window is set to described N, and specifies each wicket of described moving window just can hold a variable length integer, sets the value upper limit of described offset;
Step 3: the value of calculating described moving window
Size with whole data field in the described record to be reorganized
Step 4: judge described
With
Value whether equate, if, execution in step A then, otherwise execution in step B;
Steps A: according to the deletion record of structural rearrangement of the position of last wicket in the described moving window and described record to be reorganized, process ends;
Step B: judge whether described offset value has reached its predetermined upper limit, if then attempt fragment restructuring and process ends; Otherwise, make offset=offset+1, make whole moving window move a wicket position along the direction that first wicket points to last wicket, and return execution in step three;
Wherein, described N is the positive integer more than or equal to 2, and the 1st to N wicket of described moving window arranged according to the direction identical with byte ordering in the described record to be reorganized; The value of described moving window
The space size sum that takies for data field corresponding to all wickets in the described moving window.
2. the method for claim 1 is characterized in that, the size of whole data field in the described record to be reorganized
Satisfy relational expression:
3. method as claimed in claim 1 or 2 is characterized in that, presets the filtercondition of structural constraint;
Before described steps A, also comprise: judge whether all wickets in the described moving window satisfy the filtercondition of described structural constraint, if execution in step A then, otherwise execution in step B;
Attempt fragment restructuring and process ends described in the step B, may further comprise the steps:
Step B1: the restructuring of head fragment is attempted in the integrated structure constraint;
Step B2: judge whether success of head fragment restructuring, if, process ends then, otherwise the restructuring of afterbody fragment is attempted in the integrated structure constraint, has attempted rear process ends.
4. method as claimed in claim 3 is characterized in that, the filtercondition of described structural constraint comprises: what the constraint that Sqlite page or leaf size is brought, Sqlite types value retrained, data type retrains and character code is intrafascicular approximately is one or more.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110266852 CN102298634B (en) | 2011-09-09 | 2011-09-09 | Structural reorganization method for Sqlite deletion record |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110266852 CN102298634B (en) | 2011-09-09 | 2011-09-09 | Structural reorganization method for Sqlite deletion record |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102298634A CN102298634A (en) | 2011-12-28 |
CN102298634B true CN102298634B (en) | 2013-05-29 |
Family
ID=45359048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110266852 Active CN102298634B (en) | 2011-09-09 | 2011-09-09 | Structural reorganization method for Sqlite deletion record |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102298634B (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591979A (en) * | 2012-01-05 | 2012-07-18 | 厦门市美亚柏科信息股份有限公司 | Method and system for mining deleted records of free space of sqlite |
CN102937926B (en) * | 2012-10-30 | 2015-05-20 | 厦门市美亚柏科信息股份有限公司 | Method and device for recovering deleted sqlite files on mobile terminal |
CN103064764A (en) * | 2012-12-28 | 2013-04-24 | 盘石软件(上海)有限公司 | Evidence obtaining method capable of rapidly recovering messages deleted by Android mobile phone |
CN103218423B (en) * | 2013-04-02 | 2016-09-07 | 中国科学院信息工程研究所 | Data query method and device |
CN104021217B (en) * | 2014-06-23 | 2017-02-15 | 四川效率源信息安全技术股份有限公司 | System and method for extracting fragment file and deleted file of mobile phone |
CN104376091B (en) * | 2014-11-20 | 2017-08-01 | 厦门市美亚柏科信息股份有限公司 | The method and device that the data deleted in SQLite are recovered |
CN104866610B (en) * | 2015-06-04 | 2018-05-08 | 东南大学 | A kind of SQLite based on similar type matching estimation deletes data reconstruction method |
CN107193871B (en) * | 2017-04-12 | 2018-10-16 | 腾讯科技(深圳)有限公司 | Database recovering method and device |
CN108052417B (en) * | 2017-12-20 | 2021-10-01 | 公安部第三研究所 | SQLite data deletion recovery method |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL156123A0 (en) * | 2000-11-29 | 2003-12-23 | Lafayette Software Inc | Methods of organizing data and processing queries in a database system, and database system and software product for implementing such methods |
EP3726396A3 (en) * | 2003-05-19 | 2020-12-09 | Huawei Technologies Co., Ltd. | Limiting scans of loosely ordered and/or grouped relations using nearly ordered maps |
CN100544277C (en) * | 2006-03-25 | 2009-09-23 | 中兴通讯股份有限公司 | A kind of method and apparatus that improves data-handling efficiency of network management system |
CN101482839B (en) * | 2009-02-26 | 2010-09-29 | 北京世纪互联宽带数据中心有限公司 | Electronic document increment memory processing method |
CN101650730B (en) * | 2009-09-08 | 2012-07-11 | 中国科学院计算技术研究所 | Method and system for discovering weighted-value frequent-item in data flow |
-
2011
- 2011-09-09 CN CN 201110266852 patent/CN102298634B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN102298634A (en) | 2011-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102298634B (en) | Structural reorganization method for Sqlite deletion record | |
EP3308303B1 (en) | Mechanisms for merging index structures in molap while preserving query consistency | |
US9953051B2 (en) | Multi-version concurrency control method in database and database system | |
CN103123618B (en) | Text similarity acquisition methods and device | |
CN106462592B (en) | System and method for optimizing multi-version support for indexes | |
US20190286625A1 (en) | Transactional access to records on secondary storage in an in-memory database | |
CN104866610B (en) | A kind of SQLite based on similar type matching estimation deletes data reconstruction method | |
CN104866580A (en) | Method for quickly detecting impact caused by database modification to current service | |
CN102567409A (en) | Method and device for providing retrieval associated word | |
CN109408589A (en) | Method of data synchronization and device | |
CN105589894B (en) | Document index establishing method and device and document retrieval method and device | |
CN106484730A (en) | Character string matching method and device | |
CN107463711A (en) | A kind of tag match method and device of data | |
CN102231168A (en) | Method for quickly retrieving resume from resume database | |
JP2014527660A (en) | Method and apparatus for acquiring structured information in layout file | |
CN107844493A (en) | A kind of file association method and system | |
CN105095091A (en) | Software defect code file locating method based on reverse index technology | |
US9400817B2 (en) | In-place index repair | |
CN103412942B (en) | A kind of voltage dip data analysing method based on cloud computing technology | |
CN102591941B (en) | Analysis method and analysis device for SQLite idle struct nodes | |
CN103309888A (en) | Method and device for verifying data of electronic map | |
CN102591979A (en) | Method and system for mining deleted records of free space of sqlite | |
CN104679856A (en) | Combination rule constraint-based spacecraft test data extracting method | |
CN102663045B (en) | Method and system for processing data information | |
CN108564101A (en) | A kind of data fusion method and device based on more hierarchical cluster attributes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |