CN105512324A - Front end module loader for partial renewal of package file - Google Patents

Front end module loader for partial renewal of package file Download PDF

Info

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
Application number
CN201510962752.0A
Other languages
Chinese (zh)
Other versions
CN105512324B (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.)
Yonyou Network Technology Co Ltd
Original Assignee
Yonyou Network Technology 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 Yonyou Network Technology Co Ltd filed Critical Yonyou Network Technology Co Ltd
Priority to CN201510962752.0A priority Critical patent/CN105512324B/en
Publication of CN105512324A publication Critical patent/CN105512324A/en
Application granted granted Critical
Publication of CN105512324B publication Critical patent/CN105512324B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • 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

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

A kind of front-end module loader of packaging file local updating
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.
CN201510962752.0A 2015-12-21 2015-12-21 A kind of front-end module loader of packaging file local updating Active CN105512324B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
SZJIAN: "网站的高性能架构", 《ITEYE博客》 *

Cited By (16)

* Cited by examiner, † Cited by third party
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