CN105512324A - Front end module loader for partial renewal of package file - Google Patents
Front end module loader for partial renewal of package file Download PDFInfo
- Publication number
- CN105512324A CN105512324A CN201510962752.0A CN201510962752A CN105512324A CN 105512324 A CN105512324 A CN 105512324A CN 201510962752 A CN201510962752 A CN 201510962752A CN 105512324 A CN105512324 A CN 105512324A
- Authority
- CN
- China
- Prior art keywords
- javascript
- dynamic
- module
- loader
- java script
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Abstract
The invention relates to a front end module loader for partial renewal of a package file. The module loader comprises a static loader and a dynamic loader. The dynamic loader is composed of a front end loader and a back buffer computing element Dynamic Js Servlet. The dynamic loader is used for loading a dynamic JavaScript. The dynamic JavaScript is a JavaScript with high renewal frequency. The static loader is used for loading a static JavaScript, and the static JavaScript is the JavaScript which does not renew regularly. The partial renewal of a package script is achieved indirectly through the combination of the static loading and the dynamic loading. According to the front end module loader, the browser caching can be utilized fully, and the front end module loader can adapt to the frequent change of a website and achieve the purpose of optimizing website performance and flow.
Description
Technical field
The present invention relates to networking technology area, particularly relate to a kind of front-end module loader of packaging file local updating.
Background technology
Along with the develop rapidly of internet, it is more and more important and complicated that front end exploitation becomes.Traditional front end script development scheme can bring the problem such as naming conflict, files loading order dependent, and most website all introduces modular solution.Solution popular at present has AMD(AsynchronousModuleDefinition), CMD(CommonModuleDefinition), representational instrument is requirejs and seaJavaScript respectively.
In traditional website; in order to solve the too much problem of front end JavaScript script request quantity; usual meeting is a file multiple js Piece file mergence; this file is removed to blank character, shortens the process such as variable name simultaneously; the quantity that calls request and volume can be made like this to reduce, improve the loading performance of front end.After introducing modularization, requirejs etc. provide r.JavaScript to carry out this work.
But if a JavaScript file is changed, the JavaScript after will causing packing changes, and the buffer memory of browser also will lose efficacy.In internet project, the renewal of website and the shortest renewal that just may have a version for several days of iteration, the JavaScript quantity that packing merges may be tens, even up to a hundred, the change of such JavaScript will cause reloading of whole packing JavaScript, and this not only have impact on performance and wastes flow.
In prior art, applicant: Alibaba Group Holdings Limited has applied for " a kind of management method of JavaScript file, device and system ", application number is: 200910249840.0, which disclose a kind of management method of JavaScript file, device and system, the method comprises the following steps: receive and the JavaScript resolved from client asks, obtain described JavaScript and ask corresponding file array, according to described file array traversal file dependence structural drawing, search described JavaScript and ask corresponding JavaScript file and the file set with described JavaScript file Existence dependency relationship, if find described JavaScript to ask corresponding JavaScript file and the file set with described JavaScript file Existence dependency relationship, then described JavaScript file and described file set are sent to described client.This invention only improve only the speed that the page is loaded into, the speed accelerating page download.And script file upgrade after the packaging file that brings again all loading problem be not resolved.
Summary of the invention
The object of the invention is to: for the above-mentioned technical matters existed in prior art, the front-end module loader of packaging file local updating is proposed, make fully can to utilize browser rs cache in script loading procedure, reach the object of saving flow optimization performance.
The present invention is achieved by the following technical solutions: a kind of front-end module loader of packaging file local updating, and module loader comprises static loading device and dynamic load device; Described dynamic load device is made up of front end loaders and backstage buffer memory computation module DynamicJsServlet;
Described dynamic load device is in order to load Dynamic Java Script; Described Dynamic Java Script is the JavaScript that renewal frequency is higher;
Described static loading device is in order to load static JavaScript; Described static JavaScript is the JavaScript infrequently upgraded.
Further, described dynamic load device makes full use of the local cache localstorage of browser, and time described dynamic load device loads Dynamic Java Script, the buffer memory computation module servelet on backstage determines whether allowing browser upgrade corresponding script by its Uique Resource Identity tag generated of comparison.
Further, the combination of described static loading device and dynamic load device, achieves the local updating of packing script indirectly.
Further, the building process of described packing script is as follows:
First, all JavaScript are read;
Secondly, the JavaScript of reading is classified, is divided into Dynamic Java Script and static JavaScript;
Again, the packing JavaScript of current programme is built;
Finally, the list of Dynamic Java Script is written in packing JavaScript.
Further, static JavaScript packing scheme is traditionally packed by the packing JavaScript of described structure current programme, is added by Dynamic Java Script in Dynamic Java Script list.
Further, the Data Structures of the module file of described JavaScript comprises: ID, Deps, Url and Cache strategy; Described ID is mark; Described Deps is a dependence array that will load; Described Url is file path; Described Cache strategy is cache policy.
Further, the load and execution process of described module loader is:
(1) load and execution packing JavaScript, described packing JavaScript contains the code of static JavaScript and the list of Dynamic Java ScriptID;
(2) module information of static JavaScript is generated;
(3) Dynamic Java Script list is read;
(4) dynamic load device loads Dynamic Java Script;
(5) the Dynamic Java Script in local cache localstorage is read;
(6) the Dynamic Java Script performed in localstorage generates the module information of Dynamic Java Script;
(7) dependency tiee between a module is built according to static JavaScript module information and Dynamic Java Script module information;
(8) according to the order execution module code of postorder traversal.
Further, described Dynamic Java Script module information comprises Tag and Content; Described Tag is that server end calculates the uniform resource identifier generated; Described Content is file content.
Further, the implementation of described dynamic load device is: the JavaScript listed files needing to load and corresponding tag are sent to backstage buffer memory computation module DynamicJsServlet by dynamic load device, backstage buffer memory computation module DynamicJsServlet adopts hash algorithm, calculates the tag value of each JavaScript; Then compare this tag value and front end loaders passes the tag value of coming, represent JavaScript code if equal and do not make amendment, if unequal, represent JavaScript code and revised; For the JavaScript revised, new tag value and JavaScript code content are passed to front end loaders, tag value only need be passed back by unmodified JavaScript; After front end loaders receives information, the content revised is write back in local cache localstorage.
In sum, owing to have employed technique scheme, the invention has the beneficial effects as follows: the load mechanism that the present invention proposes a kind of local updating packaging file, existing merging compress mode is adopted for some JavaScript files infrequently changed, the JavaScript that can often change is adopted to the local cache mode of a kind of dynamic calculation tag, by static loading and dynamic combination, indirectly achieve the local updating of packing script.Front end loaders of the present invention can make full use of the buffer memory of browser, enough adapts to the regular change of website, reaches the object optimizing web site performance and flow.
Accompanying drawing explanation
Examples of the present invention will be described by way of reference to the accompanying drawings, wherein:
Fig. 1 is the schematic diagram of module loader of the present invention;
Fig. 2 is that packing script of the present invention builds schematic flow sheet;
Fig. 3 is the Data Structures table of JavaScript module file of the present invention;
Fig. 4 is the load and execution procedure chart of module loader of the present invention;
Fig. 5 is Dynamic Java Script module information data structure table of the present invention
Fig. 6 is dynamic load implementation schematic diagram of the present invention.
Embodiment
All features disclosed in this instructions, or the step in disclosed all methods or process, except mutually exclusive feature and/or step, all can combine by any way.
Arbitrary feature disclosed in this instructions (comprising any accessory claim, summary and accompanying drawing), unless specifically stated otherwise, all can be replaced by other equivalences or the alternative features with similar object.That is, unless specifically stated otherwise, each feature is an example in a series of equivalence or similar characteristics.
Embodiment, all script files are synthesized a script by order line by the r.JavaScript of the requireJavaScript of current trend, when front end browser loads time, only need load a JavaScript.For in the JavaScript that website is a large amount of, the frequency that JavaScript greatly upgrades may not be very high.
Therefore, this patent proposes a kind of scheme distinguishing loading, and the JavaScript infrequently upgraded for major part adopts existing scheme, and the JavaScript that the renewal frequency for fraction is higher adopts a kind of new scheme.This fraction JavaScript we become for Dynamic Java Script, its load mechanism is called dynamic load; The JavaScript that corresponding major part infrequently upgrades is called static JavaScript, and load mechanism is static loading.
The ultimate principle of dynamic load is the local cache (localstorage) taking full advantage of browser, and when loading Dynamic Java Script, the buffer memory computation module DynamicJsServlet Uique Resource Identity (tag) that its generates by comparison in backstage determines whether allowing browser upgrade corresponding script.
By static loading and dynamic combination, indirectly achieve the local updating of packing script
As shown in Figure 1, a kind of front-end module loader of packaging file local updating, module loader comprises static loading device and dynamic load device; Described dynamic load device is made up of front end loaders and backstage buffer memory computation module DynamicJsServlet.
Particularly, described dynamic load device makes full use of the local cache localstorage of browser, and time described dynamic load device loads Dynamic Java Script, the buffer memory computation module servelet on backstage determines whether allowing browser upgrade corresponding script by its Uique Resource Identity tag generated of comparison.
Particularly, the combination of described static loading device and dynamic load device, achieves the local updating of packing script indirectly.
Particularly, the building process of described packing script is as follows:
First, all JavaScript are read;
Secondly, the JavaScript of reading is classified, is divided into Dynamic Java Script and static JavaScript;
Again, the packing JavaScript of current programme is built;
Finally, the list of Dynamic Java Script is written in packing JavaScript.
Particularly, static JavaScript packing scheme is traditionally packed by the packing JavaScript of described structure current programme, is added by Dynamic Java Script in Dynamic Java Script list.
Particularly, the Data Structures of the module file of described JavaScript comprises: ID, Deps, Url and Cache strategy; Described ID is mark; Described Deps is a dependence array that will load; Described Url is file path; Described Cache strategy is cache policy.
Particularly, the load and execution process of described module loader is:
(1) load and execution packing JavaScript, described packing JavaScript contains the code of static JavaScript and the list of Dynamic Java ScriptID;
(2) module information of static JavaScript is generated;
(3) Dynamic Java Script list is read;
(4) dynamic load device loads Dynamic Java Script;
(5) the Dynamic Java Script in local cache localstorage is read;
(6) the Dynamic Java Script performed in localstorage generates the module information of Dynamic Java Script;
(7) dependency tiee between a module is built according to static JavaScript module information and Dynamic Java Script module information;
(8) according to the order execution module code of postorder traversal.
Particularly, described Dynamic Java Script module information comprises Tag and Content; Described Tag is that server end calculates the uniform resource identifier generated; Described Content is file content.
Particularly, the implementation of described dynamic load device is: the JavaScript listed files needing to load and corresponding tag are sent to backstage buffer memory computation module DynamicJsServlet by dynamic load device, backstage buffer memory computation module DynamicJsServlet adopts hash algorithm, calculates the tag value of each JavaScript; Then compare this tag value and front end loaders passes the tag value of coming, represent JavaScript code if equal and do not make amendment, if unequal, represent JavaScript code and revised; For the JavaScript revised, new tag value and JavaScript code content are passed to front end loaders, tag value only need be passed back by unmodified JavaScript; After front end loaders receives information, the content revised is write back in local cache localstorage
Above-described specific embodiment, further describes object of the present invention, technical scheme and beneficial effect, and institute it should be understood that and the foregoing is only specific embodiments of the invention, is not limited to the present invention.The present invention expands to any new feature of disclosing in this manual or any combination newly, and the step of the arbitrary new method disclosed or process or any combination newly.
Claims (9)
1. a front-end module loader for packaging file local updating, is characterized in that: module loader comprises static loading device and dynamic load device; Described dynamic load device is made up of front end loaders and backstage buffer memory computation module DynamicJsServlet;
Described dynamic load device is in order to load Dynamic Java Script; Described Dynamic Java Script is the JavaScript that renewal frequency is higher;
Described static loading device is in order to load static JavaScript; Described static JavaScript is the JavaScript infrequently upgraded.
2. the front-end module loader of packaging file local updating according to claim 1, it is characterized in that, described dynamic load device makes full use of the local cache localstorage of browser, and time described dynamic load device loads Dynamic Java Script, the buffer memory computation module servelet on backstage determines whether allowing browser upgrade corresponding script by its Uique Resource Identity tag generated of comparison.
3. the front-end module loader of packaging file local updating according to claim 1, is characterized in that, the combination of described static loading device and dynamic load device, indirectly achieves the local updating of packing script.
4. the front-end module loader of packaging file local updating according to claim 3, is characterized in that, the building process of described packing script is as follows:
First, all JavaScript are read;
Secondly, the JavaScript of reading is classified, is divided into Dynamic Java Script and static JavaScript;
Again, the packing JavaScript of current programme is built;
Finally, the list of Dynamic Java Script is written in packing JavaScript.
5. the front-end module loader of packaging file local updating according to claim 4, it is characterized in that, static JavaScript packing scheme is traditionally packed by the packing JavaScript of described structure current programme, is added by Dynamic Java Script in Dynamic Java Script list.
6. the front-end module loader of packaging file local updating according to claim 1, is characterized in that, the Data Structures of the module file of described JavaScript comprises: ID, Deps, Url and Cache strategy; Described ID is mark; Described Deps is a dependence array that will load; Described Url is file path; Described Cache strategy is cache policy.
7. the front-end module loader of packaging file local updating according to claim 1, is characterized in that, the load and execution process of described module loader is:
(1) load and execution packing JavaScript, described packing JavaScript contains the code of static JavaScript and the list of Dynamic Java ScriptID;
(2) module information of static JavaScript is generated;
(3) Dynamic Java Script list is read;
(4) dynamic load device loads Dynamic Java Script;
(5) the Dynamic Java Script in local cache localstorage is read;
(6) the Dynamic Java Script performed in localstorage generates the module information of Dynamic Java Script;
(7) dependency tiee between a module is built according to static JavaScript module information and Dynamic Java Script module information;
(8) according to the order execution module code of postorder traversal.
8. the front-end module loader of packaging file local updating according to claim 7, is characterized in that, described Dynamic Java Script module information comprises Tag and Content; Described Tag is that server end calculates the uniform resource identifier generated; Described Content is file content.
9. the front-end module loader of packaging file local updating according to claim 7, it is characterized in that, the implementation of described dynamic load device is: the JavaScript listed files needing to load and corresponding tag are sent to backstage buffer memory computation module DynamicJsServlet by dynamic load device, backstage buffer memory computation module DynamicJsServlet adopts hash algorithm, calculates the tag value of each JavaScript; Then compare this tag value and front end loaders passes the tag value of coming, represent JavaScript code if equal and do not make amendment, if unequal, represent JavaScript code and revised; For the JavaScript revised, new tag value and JavaScript code content are passed to front end loaders, tag value only need be passed back by unmodified JavaScript; After front end loaders receives information, the content revised is write back in local cache localstorage.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510962752.0A CN105512324B (en) | 2015-12-21 | 2015-12-21 | A kind of front-end module loader of packaging file local updating |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510962752.0A CN105512324B (en) | 2015-12-21 | 2015-12-21 | A kind of front-end module loader of packaging file local updating |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105512324A true CN105512324A (en) | 2016-04-20 |
CN105512324B CN105512324B (en) | 2019-01-15 |
Family
ID=55720304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510962752.0A Active CN105512324B (en) | 2015-12-21 | 2015-12-21 | A kind of front-end module loader of packaging file local updating |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105512324B (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020891A (en) * | 2016-05-25 | 2016-10-12 | 大唐网络有限公司 | Page loading method and device |
CN106294777A (en) * | 2016-08-12 | 2017-01-04 | 福建天晴数码有限公司 | The caching method of browser script and system |
CN106293855A (en) * | 2016-08-23 | 2017-01-04 | 上海创景计算机系统有限公司 | The loading method of dependent file |
CN106294597A (en) * | 2016-07-28 | 2017-01-04 | 百度在线网络技术(北京)有限公司 | For the method and apparatus that the static resource of webpage is grouped |
CN106354533A (en) * | 2016-08-29 | 2017-01-25 | 北京恒华伟业科技股份有限公司 | Dynamic module loading method and device |
CN107329785A (en) * | 2017-06-27 | 2017-11-07 | 郑州云海信息技术有限公司 | A kind of method and system of dynamic load JavaScript modules |
CN108132954A (en) * | 2016-11-30 | 2018-06-08 | 深圳联友科技有限公司 | The localization loading method and device of a kind of html page |
CN109165055A (en) * | 2018-08-30 | 2019-01-08 | 百度在线网络技术(北京)有限公司 | A kind of component loading method, device, computer equipment and storage medium |
CN109324881A (en) * | 2018-08-22 | 2019-02-12 | 深圳点猫科技有限公司 | A kind of packaging method and electronic equipment of front end programming project |
CN110020297A (en) * | 2017-10-31 | 2019-07-16 | 北京国双科技有限公司 | A kind of loading method of web page contents, apparatus and system |
CN110096315A (en) * | 2019-03-22 | 2019-08-06 | 华为技术有限公司 | A kind of component loading method and device |
CN110287433A (en) * | 2019-06-28 | 2019-09-27 | 北京金山安全软件有限公司 | Network information processing method and device and electronic equipment |
CN111596935A (en) * | 2020-04-27 | 2020-08-28 | 五八有限公司 | Script packing method and device, electronic equipment and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100262785A1 (en) * | 2002-12-13 | 2010-10-14 | Rajkumar N Isaac | Method and System for an Extensible Caching Framework |
CN103020155A (en) * | 2012-11-23 | 2013-04-03 | 中国电信股份有限公司云计算分公司 | Web front end resource request processing method and device |
CN104283947A (en) * | 2014-09-28 | 2015-01-14 | 深圳市中科无软件有限公司 | Java script dynamic consolidated server and work process thereof |
-
2015
- 2015-12-21 CN CN201510962752.0A patent/CN105512324B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100262785A1 (en) * | 2002-12-13 | 2010-10-14 | Rajkumar N Isaac | Method and System for an Extensible Caching Framework |
CN103020155A (en) * | 2012-11-23 | 2013-04-03 | 中国电信股份有限公司云计算分公司 | Web front end resource request processing method and device |
CN104283947A (en) * | 2014-09-28 | 2015-01-14 | 深圳市中科无软件有限公司 | Java script dynamic consolidated server and work process thereof |
Non-Patent Citations (1)
Title |
---|
SZJIAN: "网站的高性能架构", 《ITEYE博客》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020891A (en) * | 2016-05-25 | 2016-10-12 | 大唐网络有限公司 | Page loading method and device |
CN106294597B (en) * | 2016-07-28 | 2019-09-20 | 百度在线网络技术(北京)有限公司 | The method and apparatus being grouped for the static resource to webpage |
CN106294597A (en) * | 2016-07-28 | 2017-01-04 | 百度在线网络技术(北京)有限公司 | For the method and apparatus that the static resource of webpage is grouped |
CN106294777A (en) * | 2016-08-12 | 2017-01-04 | 福建天晴数码有限公司 | The caching method of browser script and system |
CN106293855A (en) * | 2016-08-23 | 2017-01-04 | 上海创景计算机系统有限公司 | The loading method of dependent file |
CN106354533A (en) * | 2016-08-29 | 2017-01-25 | 北京恒华伟业科技股份有限公司 | Dynamic module loading method and device |
CN108132954A (en) * | 2016-11-30 | 2018-06-08 | 深圳联友科技有限公司 | The localization loading method and device of a kind of html page |
CN108132954B (en) * | 2016-11-30 | 2021-12-28 | 深圳联友科技有限公司 | Localized loading method and device for HTML (Hypertext markup language) page |
CN107329785A (en) * | 2017-06-27 | 2017-11-07 | 郑州云海信息技术有限公司 | A kind of method and system of dynamic load JavaScript modules |
CN110020297A (en) * | 2017-10-31 | 2019-07-16 | 北京国双科技有限公司 | A kind of loading method of web page contents, apparatus and system |
CN109324881A (en) * | 2018-08-22 | 2019-02-12 | 深圳点猫科技有限公司 | A kind of packaging method and electronic equipment of front end programming project |
CN109165055A (en) * | 2018-08-30 | 2019-01-08 | 百度在线网络技术(北京)有限公司 | A kind of component loading method, device, computer equipment and storage medium |
CN110096315A (en) * | 2019-03-22 | 2019-08-06 | 华为技术有限公司 | A kind of component loading method and device |
CN110096315B (en) * | 2019-03-22 | 2020-09-04 | 华为技术有限公司 | Component loading method and device |
CN110287433A (en) * | 2019-06-28 | 2019-09-27 | 北京金山安全软件有限公司 | Network information processing method and device and electronic equipment |
CN111596935A (en) * | 2020-04-27 | 2020-08-28 | 五八有限公司 | Script packing method and device, electronic equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN105512324B (en) | 2019-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105512324A (en) | Front end module loader for partial renewal of package file | |
CN109388766B (en) | Page loading method and device | |
US9003381B2 (en) | Context-specific optimized code | |
US9146759B2 (en) | Assumption-based compilation | |
US8887127B2 (en) | Web browsing apparatus and method through storing and optimizing JAVASCRIPT® code | |
US20100153929A1 (en) | Converting javascript into a device-independent representation | |
EP3254191B1 (en) | Apparatus and method for using parameterized intermediate representation for just-in-time compilation in database query execution engine | |
CN110032388B (en) | Incremental file construction, publishing and downloading method and device | |
CN103984582A (en) | Method and device for hot updating | |
US20170300306A1 (en) | Accelerated parsing in a virtual machine for similar javascript codes in webpages | |
CN105045631A (en) | Method and device for upgrading client-side applications | |
US11169796B2 (en) | Methods and systems for remote software update | |
CN104182234A (en) | Business processing method and business system | |
US11474796B1 (en) | Build system for distributed applications | |
CN103412754A (en) | Dynamic language code execution method and device | |
US7472391B2 (en) | Resource loader for applications that utilize relative uniform resource identifiers | |
CN105577813A (en) | Update method and system for web hybrid application | |
CN112835975A (en) | Method for deploying, updating and calling intelligent contracts in block chain | |
CN103488517B (en) | PHP code Compilation Method, PHP code operation method and device | |
CN103077011B (en) | A kind of method and apparatus of pre-generatmg machine code instruction in JavaScript script | |
CN106020891A (en) | Page loading method and device | |
CN111291083B (en) | Webpage source code data processing method and device and computer equipment | |
CN104866312A (en) | ASP.NET-based pseudo static page implementation method | |
CN106775826B (en) | Method and system for loading code file by annotation mode | |
CN106406920A (en) | Terminal equipment and execution method of application program of terminal equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |