CN112083947A - 一种供应链多语言环境的软件包发布方法 - Google Patents

一种供应链多语言环境的软件包发布方法 Download PDF

Info

Publication number
CN112083947A
CN112083947A CN202010730048.3A CN202010730048A CN112083947A CN 112083947 A CN112083947 A CN 112083947A CN 202010730048 A CN202010730048 A CN 202010730048A CN 112083947 A CN112083947 A CN 112083947A
Authority
CN
China
Prior art keywords
software
server
code
software package
job
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
CN202010730048.3A
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.)
Shanghai Yuncha Technology Co ltd
Original Assignee
Shanghai Yuncha 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 Shanghai Yuncha Technology Co ltd filed Critical Shanghai Yuncha Technology Co ltd
Priority to CN202010730048.3A priority Critical patent/CN112083947A/zh
Publication of CN112083947A publication Critical patent/CN112083947A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

本发明属于多语言环境软件包发布领域,具体公开了一种供应链多语言环境的软件包发布方法,包括如下步骤:项目管理人员安装和配置SVN/GIT服务器;项目管理人员在Jenkins服务器中添加和配置Job,并对每一Job配置编译软件、编译环境以及打包发送;项目管理人员配置本地和远程maven仓库,并用于存放构架完成后的软件包及代码在编译过程中需要用到的相关依赖包;开发人员通过将本地开发机中的代码从开发工具中提交到SVN/GIT服务器;将打包完成的软件包发送到相应的应用服务器上;在远程主机上执行shell脚本进行软件版本更新;代码更新发布完后,测试人员进行功能验证及验收。本发明可根据需要进行软件包的发布、软件版本的回退、对已经在发布或回退过程中进行状态检查。

Description

一种供应链多语言环境的软件包发布方法
技术领域
本发明涉及多语言环境软件包发布领域,具体为一种供应链多语言环境的软件包发布方法。
背景技术
随着软件需求的增大,技术的发展,以及人们对软件的应用或者产品的特定设置的要求的提高,各种应用或产品或软件功能的完善不断推陈出新。现有的多语言环境的软件包发布通过相关开发人员将各自的最新代码提交的到SVN/GIT等代码管理工具上,然后根据不同的语言,在各自的开发工具上分别从SVN/GIT等代码管理工具上拉取最新的代码,然后在该工具上代码进行编译并进行打包,然后将打包好的软件包,手工上传到指定应用服务器上,再替换掉老版本的软件包,最后启动应用程序,通过一系列的操作最终完成软件包的发布。
现有的发布流程存在以下缺陷:
1、发布涉及的过程比较复杂,并且在操作的过程中可能会由于操作人员的疏忽大意,将打包好的软件包上传到错误的应用服务器上,从而导致软件发布失败;
2、在操作人员进行最新代码的拉取和打包的过程可能会花费很长时间,浪费时间,工作效率低下;
3、操作人员需要直接接触应用服务器,可能会带来一定安全风险,如误删除文件,执行误操作命令,导致应用服务器异常;
4、现有发布流程一个人员同时只能执行一个环境的软件包的打包和法布,无法做大并发执行该操作,该方式效率比较低。
发明内容
本发明的目的在于提供一种供应链多语言环境的软件包发布方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种供应链多语言环境的软件包发布方法,包括如下步骤:
S1:项目管理人员安装和配置SVN/GIT服务器;
S2:项目管理人员在Jenkins服务器中添加和配置Job,且每一个Job对应一个产品项目,并对每一Job配置编译软件、编译环境以及打包发送;
S3:项目管理人员配置本地和远程maven仓库,并用于存放构架完成后的软件包及代码在编译过程中需要用到的相关依赖包,便于后期代码的编译及版本追溯;
S4:开发人员通过将本地开发机中的代码从开发工具中提交到SVN/GIT服务器,便于代码的集中式版本控制;
S5:将打包完成的软件包发送到相应的应用服务器上,可同时将打包好的软件包发送到多台应用服务器,实现一次更新相同应用的多个服务器上的软件包;
S6:在远程主机上执行shell脚本进行软件版本更新;
S7:代码更新发布完后,测试人员进行功能验证及验收。
优选的,S1中安装和配置SVN/GIT服务器的主要作用是用来进行代码的版本管理,记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
优选的,S2中具体包括:S21:在Jenkins服务器中添加和配置Job,并根据每一Job中不同的开发语言配置使用不同的编译软件和编译环境,以及使用不同的SVN/GIT地址;S22:配置打包后的软件包发送至指定应用服务器的执行路径;S23:配置需要执行的shell脚本;S24:根据需求对Job进行维护管理。
优选的,S4中开发工具包括但不限于Eclipse。
优选的,S2中在Jenkins服务器进行代码构建时,jenkins服务器还会通过配置中SVN/GIT的地址去拉取SVN/GIT中最新的代码,并执行最新代码拉取,编译,测试,软件打包,且如果在(拉取,编译,测试,软件打包)中任一步骤出错都会导致整个过程执行失败。
优选的,S5中还包括S5a:将打包好的软件包发送到Maven仓库,进行软件版本的管理,实现软件包的回滚操作及版本追溯。
优选的,Jenkins服务器中配置有远程主机的用户名和密码,S6中在远程主机上执行shell脚本进行软件版本更新可在Jenkins服务器上直接执行命令,不再需要开发和运维人员手工登录到应用服务器上执行相关命令,只要配置正确,那么这样就能有效的减少误操作的风险。
优选的,S2中在Jenkins服务器进行代码构建时,开发人员还可以根据需求手动从SVN/GIT地址更新最新的代码到自己本地的开发环境,保持代码处于较新的版本。
优选的,S23中shell脚本为更新脚本以及回滚脚本。
优选的,S24中根据需求对Job进行维护管理包括:删除Job、更新Job的配置、删除构建历史文件、设置构建文件的保留策略。
优选的,S21中添加和配置Job时,可根据需求制定自动更新软件版本的策略,防止由于本地代码版本太老,在进行代码合并时产生新老代码的冲突,这可避免不必要的问题。
与现有技术相比,本发明的有益效果是:
1、本发明的发布方法包括从代码管理工具上拉取最新的代码已经编译打包,以及将得到的软件包分发到指定应用服务器上,利用位于应用服务器上的shell脚本,通过在开源jenkins系统上远程调用应用服务器上的shell脚本来分别实现软件包的更新发布和失败回退操作,且支持目前绝大部分的代码管理工具。
2、本发明可根据需要进行软件包的发布、软件版本的回退、对已经在发布或回退过程中进行引用状态检查,同时结合告警邮件还可以迅速的知晓软件包是否更新或回退完成,保证在发布和回退软件包的过程中相关人员能准确知晓相关应用的运行情况,且不同语言环境会使用不同的shell脚本。
附图说明
图1为本发明的发布流程图;
图2为本发明的流程框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-2,本发明提供一种技术方案:一种供应链多语言环境的软件包发布方法,包括如下步骤:
S1:项目管理人员安装和配置SVN/GIT服务器;
S2:项目管理人员在Jenkins服务器中添加和配置Job,且每一个Job对应一个产品项目,并对每一Job配置编译软件、编译环境以及打包发送;
S3:项目管理人员配置本地和远程maven仓库,并用于存放构架完成后的软件包及代码在编译过程中需要用到的相关依赖包,便于后期代码的编译及版本追溯;
S4:开发人员通过将本地开发机中的代码从开发工具中提交到SVN/GIT服务器,便于代码的集中式版本控制;
S5:将打包完成的软件包发送到相应的应用服务器上,可同时将打包好的软件包发送到多台应用服务器,实现一次更新相同应用的多个服务器上的软件包;
S6:在远程主机上执行shell脚本进行软件版本更新;
S7:代码更新发布完后,测试人员进行功能验证及验收。
在本实施例中,S1中安装和配置SVN/GIT服务器的主要作用是用来进行代码的版本管理,记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
在本实施例中,S2中具体包括:S21:在Jenkins服务器中添加和配置Job,并根据每一Job中不同的开发语言配置使用不同的编译软件和编译环境,以及使用不同的SVN/GIT地址;S22:配置打包后的软件包发送至指定应用服务器的执行路径;S23:配置需要执行的shell脚本;S24:根据需求对Job进行维护管理。
在本实施例中,S4中开发工具包括但不限于Eclipse。
在本实施例中,S2中在Jenkins服务器进行代码构建时,jenkins服务器还会通过配置中SVN/GIT的地址去拉取SVN/GIT中最新的代码,并执行最新代码拉取,编译,测试,软件打包,且如果在(拉取,编译,测试,软件打包)中任一步骤出错都会导致整个过程执行失败。
在本实施例中,S5中还包括S5a:将打包好的软件包发送到Maven仓库,进行软件版本的管理,实现软件包的回滚操作及版本追溯。
在本实施例中,Jenkins服务器中配置有远程主机的用户名和密码,S6中在远程主机上执行shell脚本进行软件版本更新可在Jenkins服务器上直接执行命令,不再需要开发和运维人员手工登录到应用服务器上执行相关命令,只要配置正确,那么这样就能有效的减少误操作的风险。
在本实施例中,S2中在Jenkins服务器进行代码构建时,开发人员还可以根据需求手动从SVN/GIT地址更新最新的代码到自己本地的开发环境,保持代码处于较新的版本。
在本实施例中,S23中shell脚本为更新脚本以及回滚脚本。
在本实施例中,更新shell脚本的执行逻辑包括:参数定义部分、定义启动和关闭应用的函数、定义应用的监控函数、定义更新代码包的函数与执行代码更新发布的过程,其中参数定义部分由于每个系统的代码打包后的文件名称不同,会包含项目名称,脚本可以根据远程服务器的IP或者服务器主机名判断当前主机属于哪个应用系统,不同的系统定义的时候设置不同的参数值;定义用于检测应用是否发布完成的检查链接,因为没有系统和IP不同,所以不同的服务器需要定义不同的参数值;定义shell脚本的home目录,以及定义老代码文件的备份文件等其他参数;而定义启动和关闭应用的函数则是用于在发布代码之前先调用关闭函数关闭应用以及在代码发布完成后调用启动函数启动应用;
定义应用的监控函数是使用curl命令直接访问定义的监控url,并对返回的结果进行过滤,最终得到一个状态码,然后对这个状态码进行判断,如果状态码为200表示应用已经发布完成并成功启动,然后在控制台输出应用发布完成。如果过滤后的状态码不是200,那么就输出应用正在启动中,并且会提示等待30s(不同的系统可能等待的时间有所差别)后再执行curl命令,重复上面的过程,如果返回的结果依然不是200,那么就在控制台输出程序启动失败,然后提示发布人员执行相关检查命令以及手工启动应用的命令,并且会有邮件将上面输出的相关命令发送给相关人员,提示代码发布失败需人工介入处理;
定义更新代码包的函数则是在发布的时候在关闭应用后,将老代码包和相关目录进行一个备份的操作,以便在代码发布失败的时候使用老代码快速的恢复应用系统,尽量的缩短因代码更新发布失败而导致业务中断停机的时间。其主要是将老代码的war包和jar包,移动到一个指定的备份目录下,并且移动完成老代码文件后,将新代码文件拷贝到相应的工作目录下,并且根据应用的需求规范将新代码文件进行重命名。该函数还会在执行的过程中判断相关的代码文件是否存在,如果不存在就终止发布程序,并且调用启用应用的函数启动应用程序,并在控制台中提示相关目录或文件不存在,建议发布人员对相关文件和目录进行人工介入检查;
而最终执行代码更新发布的过程是通过首先调用关闭应用的函数,关闭应用程序,调用完关闭应用的函数后等待5s,确保应用完全关闭。接着就是调用更新代码包的函数,此时才会实际去更新应用代码,代码先进行备份然后在进行替换,更新完代码后会调用启动应用的函数,启动应用程序,由于各个应用程序启动的实际时间与应用规模的大小,以及应用服务器的性能不同,在启动程序后会等待不同的时间之后再去检查应用是否启动完成,这个检查的过程就是调用监控函数,这个监控函数最多会别调用2次,如果2次检查应用程序还未启动成功,那么就会触发相关的邮件告警,通知相关人员手工介入处理问题,如果监控函数在2次内监控到应用程序成功启动,那么就会发送一封邮件提示相关人员应用更新成功。最后就是删除脚本在执行过程中生成的临文件,然后退出程序。
在本实施例中,回滚脚本主要作用是如果在代码发布完成后或者在代码发布的过程中发布过程出现了错误时,使用该脚本可以快速的回退代码,该脚本可以列出当前系统中存在的所有历史版本,然后根据需要去回滚到指定的版本。
回滚脚本执行逻辑包括:在核心(更新)shell脚本中定义了备份老代码包的目录,备份的老代码包的文件名带有时间属性标识,shell脚本在执行的过程中会去扫描存放老代码目录,并按老代码包文件名的时间标识对老代码包进行排序,然后依次在控制台输出所有找到的老代码包供发布人员选择想要回滚的代码版本,选择要回滚的版本后,会调用类似核心脚本中更新代码包的函数,完成代码包的更新,接着就会调用启动应用程序的函数,启动应用程序,由于各个应用程序启动的实际时间与应用规模的大小,以及应用服务器的性能不同,在启动程序后会等待不同的时间之后再去检查应用是否启动完成,检查的过程为调用监控函数,监控函数最多会调用2次,如果2次检查应用程序还未启动成功,那么就会触发相关的邮件告警,通知相关人员手工介入处理问题,如果监控函数在2次内监控到应用程序成功启动,那么就会发送一封邮件提示相关人员应用回滚成功,而最后就是删除脚本在执行过程中生成的临文件,然后退出程序。
在本实施例中,S24中根据需求对Job进行维护管理包括:删除Job、更新Job的配置、删除构建历史文件、设置构建文件的保留策略。
在本实施例中,S21中添加和配置Job时,可根据需求制定自动更新软件版本的策略,防止由于本地代码版本太老,在进行代码合并时产生新老代码的冲突,这可避免不必要的问题。
本发明的发布方法发布人员不需要登录到应用服务器上执行任何操作系统级别的命令,减少了因代码发布更新所产生的误操作几率;而且发布人员可以同步发布多个语言环境的多个系统,可以实现批量发布,大大节省了发布时间,能极大的提高软件包的打包和发布效率。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (10)

1.一种供应链多语言环境的软件包发布方法,其特征在于,包括如下步骤:
S1:项目管理人员安装和配置SVN/GIT服务器;
S2:项目管理人员在Jenkins服务器中添加和配置Job,且每一个Job对应一个产品项目,并对每一Job配置编译软件、编译环境以及打包发送;
S3:项目管理人员配置本地和远程maven仓库,并用于存放构架完成后的软件包及代码在编译过程中需要用到的相关依赖包;
S4:开发人员通过将本地开发机中的代码从开发工具中提交到SVN/GIT服务器,便于代码的集中式版本控制;
S5:将打包完成的软件包发送到相应的应用服务器上,可同时将打包好的软件包发送到多台应用服务器,实现一次更新相同应用的多个服务器上的软件包;
S6:在远程主机上执行shell脚本进行软件版本更新;
S7:代码更新发布完后,测试人员进行功能验证及验收。
2.根据权利要求1所述的一种供应链多语言环境的软件包发布方法,其特征在于,所述S2中具体包括:S21:在Jenkins服务器中添加和配置Job,并根据每一Job中不同的开发语言配置使用不同的编译软件和编译环境,以及使用不同的SVN/GIT地址;S22:配置打包后的软件包发送至指定应用服务器的执行路径;S23:配置需要执行的shell脚本;S24:根据需求对Job进行维护管理。
3.根据权利要求1所述的一种供应链多语言环境的软件包发布方法,其特征在于,所述S4中开发工具包括但不限于Eclipse。
4.根据权利要求1所述的一种供应链多语言环境的软件包发布方法,其特征在于,所述S2中在Jenkins服务器进行代码构建时,jenkins服务器还会通过配置中SVN/GIT的地址去拉取SVN/GIT中最新的代码,并执行最新代码拉取,编译,测试,软件打包。
5.根据权利要求1所述的一种供应链多语言环境的软件包发布方法,其特征在于,所述S5中还包括S5a:将打包好的软件包发送到Maven仓库,进行软件版本的管理,实现软件包的回滚操作及版本追溯。
6.根据权利要求1所述的一种供应链多语言环境的软件包发布方法,其特征在于,所述Jenkins服务器中配置有远程主机的用户名和密码,S6中在远程主机上执行shell脚本进行软件版本更新可在Jenkins服务器上直接执行命令。
7.根据权利要求1所述的一种供应链多语言环境的软件包发布方法,其特征在于,所述S2中在Jenkins服务器进行代码构建时,开发人员还可以根据需求手动从SVN/GIT地址更新最新的代码到自己本地的开发环境,保持代码处于较新的版本。
8.根据权利要求2所述的一种供应链多语言环境的软件包发布方法,其特征在于,所述S23中shell脚本为更新脚本以及回滚脚本。
9.根据权利要求2所述的一种供应链多语言环境的软件包发布方法,其特征在于,所述S24中根据需求对Job进行维护管理包括:删除Job、更新Job的配置、删除构建历史文件、设置构建文件的保留策略。
10.根据权利要求2所述的一种供应链多语言环境的软件包发布方法,其特征在于,所述S21中添加和配置Job时,可根据需求制定自动更新软件版本的策略。
CN202010730048.3A 2020-07-27 2020-07-27 一种供应链多语言环境的软件包发布方法 Pending CN112083947A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010730048.3A CN112083947A (zh) 2020-07-27 2020-07-27 一种供应链多语言环境的软件包发布方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010730048.3A CN112083947A (zh) 2020-07-27 2020-07-27 一种供应链多语言环境的软件包发布方法

Publications (1)

Publication Number Publication Date
CN112083947A true CN112083947A (zh) 2020-12-15

Family

ID=73735726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010730048.3A Pending CN112083947A (zh) 2020-07-27 2020-07-27 一种供应链多语言环境的软件包发布方法

Country Status (1)

Country Link
CN (1) CN112083947A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817598A (zh) * 2021-01-13 2021-05-18 浙江华云信息科技有限公司 编译期的代码注入方法
WO2023045849A1 (zh) * 2021-09-23 2023-03-30 北京车和家信息技术有限公司 软件包处理方法、装置、系统、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10108533B1 (en) * 2017-09-25 2018-10-23 Bank Of America Corporation Enterprise framework for efficient software deployment
CN108984193A (zh) * 2018-06-21 2018-12-11 深圳伊泉净品科技有限公司 软件服务部署方法
CN110727446A (zh) * 2019-09-25 2020-01-24 光通天下网络科技股份有限公司 自动部署方法、装置、设备及介质
CN111026403A (zh) * 2019-12-10 2020-04-17 北京锐安科技有限公司 一种打包部署方法、装置、计算机设备及存储介质
CN111078265A (zh) * 2019-11-28 2020-04-28 上海三零卫士信息安全有限公司 一种基于jenkins的web项目更新补丁生成方法
CN111309336A (zh) * 2020-01-21 2020-06-19 浪潮软件股份有限公司 分布式应用的部署方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10108533B1 (en) * 2017-09-25 2018-10-23 Bank Of America Corporation Enterprise framework for efficient software deployment
CN108984193A (zh) * 2018-06-21 2018-12-11 深圳伊泉净品科技有限公司 软件服务部署方法
CN110727446A (zh) * 2019-09-25 2020-01-24 光通天下网络科技股份有限公司 自动部署方法、装置、设备及介质
CN111078265A (zh) * 2019-11-28 2020-04-28 上海三零卫士信息安全有限公司 一种基于jenkins的web项目更新补丁生成方法
CN111026403A (zh) * 2019-12-10 2020-04-17 北京锐安科技有限公司 一种打包部署方法、装置、计算机设备及存储介质
CN111309336A (zh) * 2020-01-21 2020-06-19 浪潮软件股份有限公司 分布式应用的部署方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817598A (zh) * 2021-01-13 2021-05-18 浙江华云信息科技有限公司 编译期的代码注入方法
WO2023045849A1 (zh) * 2021-09-23 2023-03-30 北京车和家信息技术有限公司 软件包处理方法、装置、系统、设备及介质

Similar Documents

Publication Publication Date Title
US10585656B1 (en) Event manager for software deployment
US9311064B1 (en) Systems and methods for automated centralized build/merge management
US8640098B2 (en) Offline configuration and download approach
CN101477543A (zh) 用于自动化etl应用的系统和方法
US20200382365A1 (en) Updating software in cloud gateways
CN112083947A (zh) 一种供应链多语言环境的软件包发布方法
CN103530150A (zh) 一种Linux操作系统远程更新的方法
CN111258561A (zh) 一种软件自动化编译部署启动监控的方法
CN106874050A (zh) 一种系统自动升级方法
CN112099825B (zh) 组件进行升级的方法、装置、设备及存储介质
CN111078265B (zh) 一种基于jenkins的web项目更新补丁生成方法
CN113434180B (zh) 应用的数据处理方法、装置、服务器和存储介质
JP2007102625A (ja) Nc工作機械の制御プログラムの更新方法及び装置
CN110895490A (zh) 一种数据批量处理系统、方法、设备和存储介质
CN111984373B (zh) 一种Kubernetes容器环境下保证环境一致性的方法及系统
US9760364B2 (en) Checks for software extensions
US8689048B1 (en) Non-logging resumable distributed cluster
CN115202680A (zh) 在线远程自动升级本地客户端的系统及方法
CN113805925A (zh) 分布式集群管理软件的在线升级方法、装置、设备及介质
CN110764785B (zh) 基于开源组件的电力行业云平台工具链及云平台运维方法
EP3734445A1 (en) Secure and reliable remote update of a control device in an elevator
CN112764789A (zh) 一种分布式软件升级方法及节点
CN115827055A (zh) 一种基于Gitlab CI落地DevOps的方法和系统
CN114879977A (zh) 应用部署方法、装置及存储介质
CN115756553B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201215

RJ01 Rejection of invention patent application after publication