CN117234762A - 一种异常处理方法及系统 - Google Patents

一种异常处理方法及系统 Download PDF

Info

Publication number
CN117234762A
CN117234762A CN202210628812.5A CN202210628812A CN117234762A CN 117234762 A CN117234762 A CN 117234762A CN 202210628812 A CN202210628812 A CN 202210628812A CN 117234762 A CN117234762 A CN 117234762A
Authority
CN
China
Prior art keywords
information
file
log
exception
position information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210628812.5A
Other languages
English (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.)
Beijing Yunyou Interactive Network Technology Co ltd
Online Tuyoo Beijing Technology Co ltd
Original Assignee
Beijing Yunyou Interactive Network Technology Co ltd
Online Tuyoo Beijing 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 Beijing Yunyou Interactive Network Technology Co ltd, Online Tuyoo Beijing Technology Co ltd filed Critical Beijing Yunyou Interactive Network Technology Co ltd
Priority to CN202210628812.5A priority Critical patent/CN117234762A/zh
Publication of CN117234762A publication Critical patent/CN117234762A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种异常处理方法及系统,方法包括:统计异常数据的异常日志;对所述异常日志进行调用堆栈并解析,获取堆栈对应的工程文件内的位置信息;根据工程文件内的位置信息,获取位置信息中的维护人员信息;根据所述维护人员信息,通知维护人员进行异常处理。本申请中,根据获取的异常日志,自动化完成异常日志的调用堆栈解析、维护人员解析和维护人员通知,无需占用人力成本,极大的提高了效率。

Description

一种异常处理方法及系统
技术领域
本申请涉及数据查询技术领域,特别涉及一种异常处理方法及系统。
背景技术
对于软件产品来说,系统的稳定性是产品可用性原则的体现,为保证系统的稳定性,则必须做好系统的监控与日志功能。对于更新迭代快速的产品而言,线上异常的及时修复显得更为重要。
目前,通过统计线上异常数据,利用人工分析异常数据对应的异常日志,以指定修复人员,进而推进异常问题的修复,这对于小规模团队来说可行,但对于大规模团队来说,人工分析耗时耗力,并且指定异常的修复人员往往不够准确,导致异常的捕获到修复上线周期会很长,给产品带来更大的影响。
因此,如何解决上述问题成为本领域技术人员亟待解决的技术问题。
发明内容
本发明的目的是提供一种异常处理方法、系统和计算机可读存储介质,。
为解决上述问题,本发明的第一方面提供了一种异常处理方法,包括:
统计异常数据的异常日志;
对所述异常日志进行调用堆栈并解析,获取堆栈对应的工程文件内的位置信息;
根据工程文件内的位置信息,获取位置信息中的维护人员信息;
根据所述维护人员信息,通知维护人员进行异常处理。
一些实施例中,所述获取异常数据的异常日志之前,包括:利用kibana统计线上的异常数据。
一些实施例中,所述获取异常数据的异常日志,包括:对异常日志进行分类处理和过滤处理。
一些实施例中,利用python爬虫对异常日志进行分类处理和过滤处理。
一些实施例中,所述分类处理的分类条件包括代码文件名称和或模块关键字。
一些实施例中,所述过滤处理的过滤条件包括时间和或关键字。
一些实施例中,所述对所述异常日志进行调用堆栈并解析,获取堆栈对应的工程文件的位置信息,包括:
从JavaScript的异常日志里获取调用堆栈,以解析出异常日志的线上位置信息;
通过SourceMap和线上位置信息,获取该异常对应的线下工程文件的位置信息。
一些实施例中,所述工程文件内的位置信息包括异常日志的具体文件路径和行列号。
一些实施例中,所述根据所述工程文件内的位置信息,获取所述位置信息中的维护人员信息,包括:
根据工程文件内的位置信息,获取具体文件头部的注释读取该文件的维护人员信息。
一些实施例中,所述根据工程文件内的位置信息,获取所述位置信息中的维护人员信息,包括:
根据工程文件内的位置信息,获取包含有维护人员的映射文件,利用查询工具从映射文件中查询维护人员信息。
根据本发明的另一个方面,提供了一种异常处理系统,包括:
统计模块,用于统计异常数据中的异常日志;
解析模块,对所述异常日志进行调用堆栈并解析,获取堆栈对应的工程文件内的位置信息;
获取模块,根据工程文件内的位置信息,获取位置信息中的维护人员信息;
通知模块,根据所述维护人员信息,通知维护人员进行异常处理。
根据本发明的又一方面,提供了一种计算机可读存储介质,其中,该指令被处理器执行时实现上述任意一项所述方法的步骤。
本发明的上述技术方案具有如下有益的技术效果:
本申请中,根据获取的异常日志,自动化完成异常日志的调用堆栈解析、维护人员解析和维护人员通知,无需占用人力成本,极大的提高了效率。
附图说明
图1是根据本发明第一实施方式的异常处理方法流程图;
图2是根据本发明第一实施方式的异常处理系统结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“响应于确定”。
对于较大规模的技术开发团队,线上每天触发的代码异常种类多、数量也多,人工对这些异常进行分析和修复推进,成本太高,效率却不高。对于周更新(甚至日更新)的小游戏产品来说,对线上异常的快速修复要求极高,因此需要自动化工具,实现线上任意异常的解析及维护人员的指定,加快修复效率。
对于软件产品来说,系统的稳定性是产品可用性原则的体现,为保证系统的稳定性,则必须做好系统的监控与日志功能。对于更新迭代快速的游戏产品而言,线上异常的及时修复显得更为重要。传统的游戏开发团队,通过统计线上异常,再用人工分析异常日志,指定修复人员,进而推进问题的修复,这对于小规模团队来说可行,但对于大规模团队来说,人为分析耗时耗力,并且指定异常的修复人员往往不够准确,异常的捕获到修复上线周期会拉的很长,给产品带来更大的影响。
参考图1,本申请提供了一种异常处理方法,包括:
S101、统计异常数据的异常日志;
进一步,利用kibana统计线上的异常数据。程序运行时出现异常后,对kibana统计的异常数据进行打包形成异常日志,并进行异上报和存储;其中,上报给异常统计服务器进行存储。Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。
本申请采用kibana统计线上异常数据,一方面,可以通过各种图表进行高级数据分析及展示。二方面,Kibana让海量数据更容易理解,其操作简单,基于浏览器的用户界面可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态。因此,使用Kibana可以方便的管理线上异常数据,可以方便的管理线上异常数据。
进一步,获取异常数据的异常日志,包括:
对异常日志进行分类处理和过滤处理。
本申请中,通过对异常日志进行分类处理和过滤处理,可以快速筛选出需要处理的异常日志。
一些实施例中,通过编写脚本过滤出需要关注的异常数据,得到对应的异常日志。脚本包括利用python爬虫对异常日志进行分类处理和过滤处理。python爬虫也称网络爬虫(又被称为网页蜘蛛,网络机器人)用于模拟浏览器发送网络请求,及接收请求响应,是一种按照一定的规则,自动地抓取互联网信息的程序。
进一步,分类处理的分类条件包括代码文件名称和或模块关键字。过滤处理的过滤条件包括时间和或关键字。
可以理解的是,对存储日志进行分类和过滤包括:根据代码文件名称和或模块关键字把同一个文件内不同行列的异常日志进行分类,在需要关注的分类中,根据时间和或关键字把一些无关紧要的异常进行过滤,从而得到需要关注的异常日志。一些实施例中,可以用python爬虫操作kibana网页处理,也可以直接构建链接操作kibana服务器处理例如nodejs、shell等脚本。
本申请中,利用python爬虫对异常日志进行分类处理和过滤处理可快速筛选出需要关注的异常日志,显著提升异常日志的提取速度。且基于代码文件名称和或模块关键字的分类条件对异常日志进行分类处理,可快速筛选需要关注的代码文件,而进一步对代码文件进行基于时间和或关键字的过滤处理,可高效率的确定出要处理的异常日志,从而显著提升异常日志的查询速度。
S102、对异常日志进行调用堆栈并解析,获取堆栈对应的工程文件内的位置信息;
考虑到代码的发布一般都会进行打包处理,而打包一般伴随着代码去重、合并、混淆等操作,因此实际运行时报异常代码(线上运行代码)的文件、行列信息会和实际开发工程文件(即源代码)中的文件和行列信息不一致,因此,需要这一步将线上环境的文件、行列信息转化成实际开发环境的文件、行列信息。
另一方面讲,在项目进行打包后,会将开发中的多个文件代码打包到一个文件中,并且经过压缩,去掉多余的空格,且babel编译化后,最终会用于线上环境,那么这样处理后的代码和源代码会有很大的差别,当有bug的时候,只能定位到压缩处理后的代码位置(线上运行代码),无法定位到开发环境中的代码(源代码),对于开发不好调试。
本申请提供的实施例中,通过JavaScript引擎对异常日志进行调用堆栈,以解析出异常日志的线上位置信息;根据SourceMap和线上位置信息,获取该异常(该异常为线上报错的代码)对应的工程文件内的位置信息。可以理解的是,JavaScript程序出现异常时,异常日志里包含了调用堆栈信息,通过对字符串处理可以摘取出调用堆栈信息,调用堆栈信息包括线上文件路径和代码行列号等信息。
进一步,通过从JavaScript的异常日志进行调用堆栈,查询通堆栈里面的数据,定位到出现问题的代码行数,以及相关代码的上下文,即获得了异常日志的线上位置信息。进一步,根据SourceMap和线上位置信息获取堆栈对应的工程文件内的位置信息;其中,该工程文件内的位置信息记录了转换压缩后的代码所对应的转换前的源代码位置,是源代码和线上代码的映射。
示例性的,通过JavaScript的解释器可以解析异常日志的线上位置信息(线上运行代码),即第几行第几列代码出现错误。
可以理解的是,不同的系统中对应于不同的代码运行引擎,代码运行引擎用于运行前端代码(即线上代码)。具体的,代码运行引擎可以为JavaScript(以下简称JS)引擎,开发的前端代码(线上运行代码)可以为基于JS语法规范的代码。不同的前端代码可以对应于不同的业务需求,例如,在业务需求为开发一个网页的情况下,该前端代码可以为需要开发的网页对应的代码;在业务需求为开发一个应用程序的情况下,该前端代码可以为需要开发的应用程序对应的代码;其中,应用程序包括游戏。
进一步,前端代码可以包括多行多列的代码,行列位置信息能够指示前端代码中的各个代码在前端代码中的行列位置。
在利用部署在客户端的JS引擎运行前端代码的过程中,如果前端代码中的某个位置的代码运行出错,JS引擎可以确定出运行出错的异常前端代码在前端代码中的对应的行列位置信息,具体的,可以通过对异常日志进行调用堆栈,以解析出线上位置信息,线上位置信息可以为行列号,例如,3行5列,10行30列等等。
再进一步,行列位置转换关系可以为源代码和前端代码(即上述的线上运行代码)之间的sourcemap文件。
前端代码中的各个代码的位置均通过sourcemap文件中映射到对应的源代码。即,sourcemap文件记载了前端代码中各个代码与其相匹配的源代码之间的映射关系。
本申请中,利用JavaScript(简称JS)能够将异常日志进行调用堆栈,以解析出线上代码报错的线上位置信息,在利用SourceMap和该线上位置信息,从而获取异常日志源代码转译出工程文件内的位置信息及字符变更信息等;即在错误发生时,通过SourceMap存在的线上代码和源代码间的映射关系,反向编译出源代码,从而精准定位错误所在文件的实际行列位置(即源代码的报错位置)。
进一步,工程文件内的位置信息包括异常日志的具体文件路径和行列号。
根据异常日志的具体文件路径和行列号,可快速确定出具体异常文件。
S103、根据工程文件内的位置信息,获取位置信息中的维护人员信息;
一些实施例中,根据工程文件内的位置信息,获取具体文件头部的注释读取该文件的维护人员信息。
进一步,根据具体文件路径和行列号确定源代码文件,通过该文件头部注释标明的维护人员姓名、邮箱和电话等信息获取维护人员信息。其中,文件头部的注释,可利用代码编辑器生成,包括但不限于vscode的koroFileHeader插件。
另一实施例中,根据工程文件内的位置信息,获取包含有维护人员的映射文件,利用查询工具从映射文件中查询维护人员信息。
进一步,根据具体文件路径,获取维护人员映射文件,维护人员文件包括但不限于excel和json等文件,通过python、lua和shell等查询工具进行维护人员查询。查询方式包括输入文件名从维护人员文件中查到维护人员信息并输出。
S104、根据维护人员信息,通知维护人员进行异常处理。
进一步,根据已经获取的每条异常日志对应的代码文件信息,以及每条代码文件信息中维护人员信息,可直接输出报告或者使用插件进行通知;其中,插件包括钉钉,例如钉钉群里输出异常信息并且@对应维护人。
一个示例性实施例中,本申请提供了如下示例;
根据具体文件路径,获取一个json映射文件,其文件内容为:
{
"a/a1/a2/a3/a.js":"zhangsan@tuyoogame.com",
"b/b1/b.js":"lisi@tuyoogame.com",
"c/":"wangwu@tuyoogame.com"
}
当a/a1/a2/a3/a.js文件出现异常时,通过脚本(脚本包括上述的python、lua和shell等查询工具)查询该文件,获取到zhangsan的信息,即可自动向该联系方式发送异常信息。可以理解的是,本实施例示意的是邮件地址,但本申请的发明构思包括但不限于邮件地址,也可以是维护人员的电话、QQ或钉钉等联系信息。同样,b/b1/b.js出现异常则自动通知lisi,目录c/下任意代码文件出现异常都会通知wangwu。
本申请中,自动化根据获取的异常日志,自动化完成异常日志的调用堆栈解析、维护人员解析和维护人员通知,无需占用人力成本,极大的提高了效率。
参考图2,本申请提供了一种异常处理系统,包括:
统计模块,用户统计异常数据中的异常日志;
解析模块,对所述异常日志进行调用堆栈解析,获取堆栈对应的工程文件的位置信息;
获取模块,根据所述文件位置信息,获取所述文件位置信息中的维护人员信息;
通知模块,根据所述维护人员信息,通知维护人员进行异常处理。
本申请中,异常处理系统还包括上报模块,其用于对异常述进行捕获并上报,统计模块用于对上报模块捕获的异常数据进行统计,以获取需要关注的异常日志,解析模块自动化完成异常日志的调用堆栈解析,获取模块根据解析模块的工程文件内的位置信息获取维护人员信息,通知模块根据获取模块的维护人员信息对维护人员进行通知。本申请中,基于统计模块、解析模块、获取模块和通知模块自动化执行,无需占用人力成本,极大的提高了故障解决效率。
根据本发明的又一方面,提供了一种计算机可读存储介质,其中,该指令被处理器执行时实现上述任意一项所述方法的步骤。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的一种用于保证企业登录凭证安全的方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述一种用于保证企业登录凭证安全的方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
计算机指令包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (11)

1.一种异常处理方法,其特征在于,包括:
统计异常数据的异常日志;
对所述异常日志进行调用堆栈并解析,获取堆栈对应的工程文件内的位置信息;
根据工程文件内的位置信息,获取位置信息中的维护人员信息;
根据所述维护人员信息,通知维护人员进行异常处理。
2.根据权利要求1所述的方法,其特征在于,所述获取异常数据的异常日志之前,包括:
利用kibana统计线上的异常数据。
3.根据权利要求1所述的方法,其特征在于,所述获取异常数据的异常日志,包括:
对异常日志进行分类处理和过滤处理。
4.根据权利要求3所述的方法,其特征在于,
利用python爬虫对异常日志进行分类处理和过滤处理。
5.根据权利要求4所述的方法,其特征在于,
所述分类处理的分类条件包括代码文件名称和或模块关键字。
6.根据权利要求4所述的方法,其特征在于,
所述过滤处理的过滤条件包括时间和或关键字。
7.根据权利要求1所述的方法,其特征在于,所述对所述异常日志进行调用堆栈并解析,获取堆栈对应的工程文件的位置信息,包括:
从JavaScript的异常日志里获取调用堆栈,以解析出异常日志的线上位置信息;
通过SourceMap和线上位置信息,获取该异常对应的线下工程文件的位置信息。
8.根据权利要求7所述的方法,其特征在于,
所述工程文件内的位置信息包括异常日志的具体文件路径和行列号。
9.根据权利要求7所述的方法,其特征在于,所述根据所述工程文件内的位置信息,获取所述位置信息中的维护人员信息,包括:
根据工程文件内的位置信息,获取具体文件头部的注释读取该文件的维护人员信息。
10.根据权利要求7所述的方法,其特征在于,所述根据工程文件内的位置信息,获取所述位置信息中的维护人员信息,包括:
根据工程文件内的位置信息,获取包含有维护人员的映射文件,利用查询工具从映射文件中查询维护人员信息。
11.一种异常处理系统,其特征在于,
统计模块,用于统计异常数据中的异常日志;
解析模块,对所述异常日志进行调用堆栈并解析,获取堆栈对应的工程文件内的位置信息;
获取模块,根据工程文件内的位置信息,获取位置信息中的维护人员信息;
通知模块,根据所述维护人员信息,通知维护人员进行异常处理。
CN202210628812.5A 2022-06-06 2022-06-06 一种异常处理方法及系统 Pending CN117234762A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210628812.5A CN117234762A (zh) 2022-06-06 2022-06-06 一种异常处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210628812.5A CN117234762A (zh) 2022-06-06 2022-06-06 一种异常处理方法及系统

Publications (1)

Publication Number Publication Date
CN117234762A true CN117234762A (zh) 2023-12-15

Family

ID=89095357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210628812.5A Pending CN117234762A (zh) 2022-06-06 2022-06-06 一种异常处理方法及系统

Country Status (1)

Country Link
CN (1) CN117234762A (zh)

Similar Documents

Publication Publication Date Title
CN107665171B (zh) 自动回归测试方法及装置
CN106656536B (zh) 一种用于处理服务调用信息的方法与设备
CN112395170A (zh) 智能故障分析方法、装置、设备及存储介质
US20180046956A1 (en) Warning About Steps That Lead to an Unsuccessful Execution of a Business Process
CN108108445A (zh) 一种智能数据处理方法和系统
US20230092559A1 (en) Systems and methods for unstructured data processing
CN115408370B (zh) 数据库迁移评估方法和系统、计算机设备、存储介质
CN110806966A (zh) 日志管理方法、装置、电子设备及计算机存储介质
CN112163017A (zh) 一种知识挖掘系统及方法
CN116383742B (zh) 基于特征分类的规则链设置处理方法、系统及介质
CN117194255A (zh) 测试数据维护方法、装置、设备及存储介质
CN111767213A (zh) 数据库检查点的测试方法、装置、电子设备及存储介质
CN117234762A (zh) 一种异常处理方法及系统
CN116955071A (zh) 故障分类方法、装置、设备及存储介质
CN116069628A (zh) 一种智能处置的软件自动化回归测试方法、系统及设备
CN114880239A (zh) 一种基于数据驱动的接口自动化测试框架及方法
CN113781068A (zh) 线上问题解决方法、装置、电子设备和存储介质
CN115422427A (zh) 就业技能需求分析系统
US20220292053A1 (en) Method for generating a coherent representation for at least two log files
KR102349495B1 (ko) 가상 서버들로부터 대용량 로그 파일들을 프로세싱하는 컴퓨터 시스템 및 방법.
CN115225470A (zh) 一种业务异常监测方法、装置、电子设备及存储介质
CN113868137A (zh) 埋点数据的处理方法、装置、系统和服务器
CN117215964B (zh) 一种业务系统的程序异常观测方法和装置
CN111830931B (zh) 一种dcs系统的故障诊断方法
CN116303104B (zh) 自动化流程缺陷筛查管理方法、系统和可读存储介质

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