WO2016179957A1 - 一种应用程序的修复方法、装置和存储介质 - Google Patents

一种应用程序的修复方法、装置和存储介质 Download PDF

Info

Publication number
WO2016179957A1
WO2016179957A1 PCT/CN2015/092066 CN2015092066W WO2016179957A1 WO 2016179957 A1 WO2016179957 A1 WO 2016179957A1 CN 2015092066 W CN2015092066 W CN 2015092066W WO 2016179957 A1 WO2016179957 A1 WO 2016179957A1
Authority
WO
WIPO (PCT)
Prior art keywords
script
plugin
application
version number
valid
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.)
Ceased
Application number
PCT/CN2015/092066
Other languages
English (en)
French (fr)
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.)
Baidu Online Network Technology Beijing Co Ltd
Original Assignee
Baidu Online Network Technology Beijing 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 Baidu Online Network Technology Beijing Co Ltd filed Critical Baidu Online Network Technology Beijing Co Ltd
Priority to KR1020177004172A priority Critical patent/KR101952225B1/ko
Priority to JP2017508621A priority patent/JP6458133B2/ja
Publication of WO2016179957A1 publication Critical patent/WO2016179957A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/44526Plug-ins; Add-ons

Definitions

  • the present invention relates to the field of computer technologies, and in particular, to a method, an apparatus, and a storage medium for repairing an application.
  • the iOS system is the most popular mobile operating system launched by Apple Inc. in the United States.
  • the number of iOS-based applications developed based on the iOS system has exceeded one million.
  • the competition among products is fierce, and the requirements for users are constantly improving.
  • product quality is a big challenge for application developers.
  • the main purpose of the embodiments of the present invention is to provide a method, an apparatus, and a storage medium for repairing an application program, so that the application problem can be repaired in a timely and convenient manner.
  • an embodiment of the present invention provides a method for repairing an application, including
  • the active script plugin is launched to repair the application during the running of the application.
  • an embodiment of the present invention further provides an application repair apparatus, including:
  • the receiving module is configured to receive configuration information of a script plug-in delivered by the server;
  • a script obtaining module configured to obtain a corresponding valid script plugin according to the configuration information
  • a program repair module configured to start the valid script plugin to repair the application during the running of the application.
  • an embodiment of the present invention provides a non-volatile computer storage medium, where the computer storage medium stores one or more modules, when the one or more modules are executed by an application repair method.
  • the device is executed, the device is caused to perform the following operations:
  • the active script plugin is launched to repair the application during the running of the application.
  • the server sends a configuration information of the script plugin for repairing the problem to the client, the client According to the configuration information, the corresponding script plug-in can be automatically obtained, started, and executed, thereby fixing the problem without affecting the user's use.
  • FIG. 1 is a flowchart of a method for repairing an application according to Embodiment 1 of the present invention
  • FIG. 2 is a flowchart of a method for repairing an application program according to Embodiment 2 of the present invention
  • FIG. 3 is a flowchart of a method for repairing an application program according to Embodiment 3 of the present invention.
  • FIG. 4 is a flowchart of a method for repairing an application according to Embodiment 4 of the present invention.
  • FIG. 5 is a schematic structural diagram of an apparatus for repairing an application according to Embodiment 5 of the present invention.
  • FIG. 1 is a flowchart of a method for repairing an application program according to Embodiment 1 of the present invention.
  • the embodiment is applicable to a scenario for dynamically repairing an installed application, specifically, the server is controlled by the server.
  • the client application is dynamically modified.
  • the method is performed by a repair device of an application, and the device can be implemented in the form of software and configured on a user terminal where the client is located. As shown in Figure 1, the method includes:
  • the script plugin is used to fix problems in the client application. Generally, when the developer finds that there is a problem in the application, the script plugin is developed for repair or updated in the existing script plugin.
  • the server first sends the configuration information of the script plugin to the client.
  • the configuration information may be sent to the client to prompt the update of the script plug-in, or the configuration information may be delivered by the update request initiated by the client.
  • the configuration information includes basic information of the script plug-in, for example, at least the version number of the script plug-in, and may further include a download address and verification information.
  • Each time the updated script plugin can be one or more, the configuration information delivered at one time can include one or more version numbers.
  • the server can issue the version number of the corresponding script plugin to the client according to the version of the client.
  • the client After receiving the configuration information, the client can know which script plugin is to be updated, and obtain the corresponding valid script plugin accordingly. Specifically, you can download it from the server or find it locally.
  • the operation of the S120 may be: obtaining the version number of the script plug-in from the configuration information; if the script plug-in corresponding to the version number is locally queried, it is used as a valid script plug-in; if not in the local query When the script plugin corresponding to the version number is stored, the corresponding valid script plugin is downloaded from the server.
  • the client can store multiple script plugins, and determine which script plugin is valid according to the configuration information of the server, so that the effective script plugin is started to fix the problem. This can prevent the client from repeatedly downloading the script plug-in, and also allows the server to use the existing script plug-in of the client to modify the problem according to the needs, and the method is more flexible.
  • the server can also be configured to make the existing script plugin on the client side and the newly issued script plugin take effect at the same time, which can reduce the size of the new script plugin and save the traffic consumed by the transfer.
  • a script plug-in is a patch file that dynamically fixes problems in an application, can run in a program environment supported by the application, and dynamically fix problems in the running of the application without changing the original code of the application.
  • the operation of S130 may preferably be an application repair by:
  • the objective function is usually the problematic function, replacing the function with a replacement function, which can fix problems in the application. Or, it can be a feature that enriches the application in this way.
  • the above-mentioned application repair method is especially suitable for the case where the application is a closed code program developed based on the iOS system.
  • the developer can fix the problem without changing the original application in the form of a script plugin, so there is no need to go through the iOS app store for review.
  • the programming language used by the script plug-in is a language that the application can support its running environment and can be replaced by its function.
  • the programming language of the script plug-in is Lua language.
  • Lua language is a lightweight language, small size, fast startup, easy to embed in other applications, and has good extensibility, you can easily use the functions provided by the host language, just like using the built-in The same function.
  • the configuration information of the script plug-in for repairing the problem is sent by the server to the client, and the client can automatically acquire, start, and execute according to the configuration information.
  • the script plugin to fix the problem without affecting user usage.
  • the client can further report the running log. For example, after the script plug-in is successfully downloaded, or after the script plug-in is successfully executed, the running log is reported to the server, so that the developer can understand the request, download, and execution of the script plug-in, which is convenient for statistics. , problem positioning and code optimization for script plugins.
  • Validation can be done in a number of ways, preferably through the version number and verification information of the script plugin.
  • FIG. 2 is a flowchart of a method for repairing an application program according to Embodiment 2 of the present invention.
  • the embodiment is based on the foregoing embodiment, and specifically, the operation of obtaining a corresponding valid script plug-in according to the configuration information is optimized.
  • the method of this embodiment includes:
  • the first version number is the version number of the script plug-in that needs to be in effect for the server configuration
  • the second version number of the client local is the version number of the script plug-in that the client has in effect.
  • FIG. 3 is a flowchart of a method for repairing an application program according to Embodiment 3 of the present invention.
  • the embodiment is based on the foregoing embodiment, and specifically, a solution for obtaining an effective script plug-in by downloading is optimized.
  • the method of this embodiment includes:
  • S310 Receive configuration information of a script plug-in delivered by the server.
  • the digest algorithm of the MD5 may be used.
  • the first digest algorithm value is a digest algorithm value obtained by the server for calculating the complete script plug-in, and the digest algorithm value is used as the verification information; the second digest algorithm value is that the client downloads the script plug-in.
  • the two digest algorithm values are the same, and the downloaded script plug-in is valid.
  • the script plugin is verified based on the digest algorithm to ensure the integrity of the download.
  • FIG. 4 is a flowchart of a method for repairing an application according to Embodiment 4 of the present invention.
  • the embodiment provides an application example based on the foregoing embodiment.
  • the method specifically includes:
  • the developer creates a Lua script plugin for fixing the client problem and deploys it on the server side;
  • the configuration information includes a version number of the script plug-in, a download address on the server, and an MD5 value.
  • the server delivers configuration information of a script plugin applicable to the client according to the version of the client.
  • the client receives configuration information of a script plugin delivered by the server.
  • the client replaces the version number of the currently active script plugin.
  • the client can be deleted or stored for later use.
  • the client After receiving the configuration information, the client can directly perform the validity verification and download operation, or after receiving the configuration information and verifying the validity, the client can prompt the user to perform the download operation according to the user's instruction.
  • the client reports the log to the server after the download succeeds.
  • the client verifies the MD5 value of the downloaded script plugin, that is, compares the MD5 value in the configuration information. Whether it is consistent with the MD5 value obtained by the download script plugin, if yes, it is a valid script plugin, and S410 is executed; otherwise, the process ends;
  • the client reports the log to the server.
  • the technical solution of the embodiment of the present invention can use the Lua+Wax framework to dynamically and quickly repair problems existing in the iOS client through cooperation between the client and the server, thereby avoiding submitting a new version or affecting normal use of the user.
  • the problem can bring the following benefits to the product:
  • FIG. 5 is a schematic structural diagram of an apparatus for repairing an application program according to Embodiment 5 of the present invention.
  • the apparatus includes: a configuration receiving module 510, a script obtaining module 520, and a program repairing module 530.
  • the configuration receiving module 510 is configured to receive configuration information of a script plug-in that is sent by the server, and the script obtaining module 520 is configured to obtain a corresponding valid script plug-in according to the configuration information, and the program repairing module 530 is configured to run the application. During the process, the valid script plugin is launched to repair the application.
  • the program repair module 530 can include: a stack listening unit 531 and a program replacing unit 532.
  • the stacking unit 531 is configured to start the function script plug-in to listen to the function stacking operation of the application in the process of running the application, and the program replacing unit 532 is configured to listen to the valid script.
  • a push request of the target function set in the plugin performing a push operation in place of the target function with a replacement function in the valid script plugin, to run the replacement function to repair the application.
  • the application program may be a closed code program developed based on an iOS system, and the programming language of the script plug-in is preferably a Lua language.
  • the script acquisition module may specifically include: a first version number acquisition unit, a second version number acquisition unit, a validity verification unit, and a script acquisition unit.
  • the first version number obtaining unit is configured to obtain a first version number of the script plugin from the configuration information
  • the second version number obtaining unit is configured to obtain a second version number of the valid script plugin currently used locally
  • a verification unit configured to compare the first version number and the second version number, verify validity of the first version number
  • a script obtaining unit configured to acquire a corresponding one if the first version number is valid Valid script plugin.
  • the script obtaining module may further include: a version number obtaining unit, a local obtaining unit, and a download obtaining unit.
  • the version number obtaining unit obtains the version number of the script plug-in from the configuration information, and the local obtaining unit is configured to: if the script plug-in corresponding to the version number is stored locally, the effective plug-in plug-in; And a downloading unit, configured to download a corresponding valid script plugin from the server if the script plugin corresponding to the version number is not queried locally.
  • the device may further include: a digest verification module, configured to: after downloading the corresponding valid script plug-in from the server, obtain the first digest algorithm value of the script plug-in from the configuration information; a second digest algorithm value of the script plugin; comparing the first digest algorithm value and the second digest algorithm value to verify validity of the downloaded script plugin.
  • a digest verification module configured to: after downloading the corresponding valid script plug-in from the server, obtain the first digest algorithm value of the script plug-in from the configuration information; a second digest algorithm value of the script plugin; comparing the first digest algorithm value and the second digest algorithm value to verify validity of the downloaded script plugin.
  • the repairing device of the above application can perform the repairing method of the application program provided by any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the executing method.
  • the configuration information of the script plug-in for repairing the problem is sent by the server to the client, and the client can automatically acquire, start, and execute according to the configuration information.
  • the script plugin to fix the problem without affecting user usage.
  • the embodiment provides a non-volatile computer storage medium storing one or more modules, when the one or more modules are executed by a device executing a repair method of an application, The device performs the following operations:
  • the active script plugin is launched to repair the application during the running of the application.
  • starting the valid script plugin to repair the application may include: starting the valid script during running the application The plugin pushes the function to listen to the application;
  • the method may include:
  • the application is a closed code program developed based on the iOS system, and the programming language of the script plugin is Lua language.
  • obtaining a corresponding valid script plug-in according to the configuration information may include:
  • Verifying the validity of the first version number by comparing the first version number and the second version number
  • the corresponding valid script plugin is obtained.
  • obtaining a corresponding valid script plug-in according to the configuration information may include:
  • script plugin corresponding to the version number is stored locally, it is used as a valid script plugin
  • the script plugin corresponding to the version number is not queried locally, the corresponding valid script plugin is downloaded from the server.
  • the method may further include:
  • the first digest algorithm value and the second digest algorithm value are compared to verify the validity of the downloaded script plugin.
  • the present invention can be implemented by software and necessary general hardware, and can also be implemented by hardware, but in many cases, the former is a better implementation. .
  • the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product, which may be stored in a computer readable storage medium, such as a floppy disk of a computer. , Read-Only Memory (ROM), Random Access Memory (RAM), Flash (FLASH), hard disk or optical disk, etc., including a number of instructions to make a computer device (can be a personal computer)
  • the server, or network device, etc. performs the methods described in various embodiments of the present invention.
  • each unit and module included is only divided according to functional logic, but is not limited to the above division, as long as the corresponding function can be implemented;
  • the specific names of the functional units are also only for convenience of distinguishing from each other, and are not intended to limit the scope of protection of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种应用程序的修复方法、装置和存储介质。该方法包括:接收服务端下发的脚本插件的配置信息(110);根据所述配置信息获取对应的有效脚本插件(120);在运行应用程序的过程中,启动所述有效脚本插件以修复所述应用程序(130)。针对客户端应用程序中的问题,由服务端向客户端下发用于修复问题的脚本插件的配置信息,客户端根据配置信息能够自动获取、启动、执行对应脚本插件,从而在不影响用户使用的情况下修复问题。

Description

一种应用程序的修复方法、装置和存储介质
本专利申请要求于2015年5月14日提交的、申请号为201510246297.4、申请人为百度在线网络技术(北京)有限公司、发明名称为“一种应用程序的修复方法和装置”的中国专利申请的优先权,该申请的全文以引用的方式并入本申请中。
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用程序的修复方法、装置和存储介质。
背景技术
iOS系统是由美国苹果公司推出的当下最流行的移动操作系统,基于iOS系统开发的iOS端应用程序数量已逾百万,产品间竞争激烈,用户对产品的要求也不断提高。尤其是用户量较大的应用程序,产品质量对应用开发者是很大的挑战。
现有iOS端应用程序在遇到较为严重,或急需修复的问题时,通常需要将应用程序进行修改后,重新打包提交给苹果公司的应用商店(App Store)审核、再更新,或者部分应用程序可通过服务端控制停止存在问题的功能。由于审核时间通常无法控制,所以带有问题的应用程序或者停用某些功能的应用程序都会影响用户使用,且带来较大损失。
现有解决方式存在下述多种缺陷:
(1)局限性,无法依赖服务端解决应用程序的所有问题,问题的存在可能带来严重的损失;
(2)时效性差,由于应用商店的审核时间无法预估,重新提交审核往往无法及时解决应用程序的线上问题;
(3)影响用户体验,由于线上问题的存在,导致用户无法正常使用应用程序客户端的功能;
(4)增加开发量,对线上问题的修复会增加开发人员工作量。
发明内容
本发明实施例的主要目的在于,提供一种应用程序的修复方法、装置和存储介质,以实现应用程序问题能够及时、便捷地修复。
本发明实施例采用如下技术方案:
第一方面,本发明实施例提供了一种应用程序的修复方法,包括
接收服务端下发的脚本插件的配置信息;
根据所述配置信息获取对应的有效脚本插件;
在运行应用程序的过程中,启动所述有效脚本插件以修复所述应用程序。
第二方面,本发明实施例还提供了一种应用程序的修复装置,包括:
配置接收模块,用于接收服务端下发的脚本插件的配置信息;
脚本获取模块,用于根据所述配置信息获取对应的有效脚本插件;
程序修复模块,用于在运行应用程序的过程中,启动所述有效脚本插件以修复所述应用程序。
第三方面,本发明实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有一个或者多个模块,当所述一个或者多个模块被一个执行应用程序的修复方法的设备执行时,使得所述设备执行如下操作:
接收服务端下发的脚本插件的配置信息;
根据所述配置信息获取对应的有效脚本插件;
在运行应用程序的过程中,启动所述有效脚本插件以修复所述应用程序。
本发明实施例中提供的一种应用程序的修复方法、装置和存储介质,针对客户端应用程序中的问题,由服务端向客户端下发用于修复问题的脚本插件的配置信息,客户端根据配置信息能够自动获取、启动、执行对应脚本插件,从而在不影响用户使用的情况下修复问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需使用的附图作简单地介绍,当然,以下描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以对这些附图进行修改和替换。
图1为本发明实施例一提供的一种应用程序的修复方法的流程图;
图2为本发明实施例二提供的一种应用程序的修复方法的流程图;
图3为本发明实施例三提供的一种应用程序的修复方法的流程图;
图4为本发明实施例四提供的一种应用程序的修复方法的流程图;
图5为本发明实施例五提供的一种应用程序的修复装置的结构示意图。
具体实施方式
下面将结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例,是为了阐述本发明的原理,而不是要将本发明限制于这些具体的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例一提供的一种应用程序的修复方法的流程图,本实施例可适用于对已安装运行的应用程序进行动态修复的场景,具体是由服务端控制用户终端上运行的客户端应用程序,进行动态修改。该方法由应用程序的修复装置来执行,该装置可以采用软件的形式实现,配置在客户端所在用户终端上。如图1所示,该方法包括:
S110、接收服务端下发的脚本插件的配置信息;
脚本插件是用于修复客户端应用程序中问题的,一般在程序开发者发现应用程序存在问题时,就会开发用于修复的脚本插件,或者在已有的脚本插件中进行更新。服务端在需要修复问题时,先向客户端下发脚本插件的配置信息, 可以是主动向客户端下发配置信息,以提示有脚本插件的更新,也可以是应客户端发起的更新请求下发配置信息。配置信息中包括了脚本插件的基本信息,例如至少包括脚本插件的版本号,还可以进一步包括下载地址和验证信息等。每次更新的脚本插件可以为一个或多个,因此一次下发的配置信息可包括一个或多个版本号。服务端可以根据客户端的版本,向其下发相应的脚本插件的版本号。
S120、根据所述配置信息获取对应的有效脚本插件;
客户端在接收到配置信息之后可获知待更新的是哪个脚本插件,据此获取对应的有效脚本插件。具体可以从服务端下载,或者在本地查找是否已存在。即S120的操作具体可以为:从所述配置信息中获取所述脚本插件的版本号;如果在本地查询到存储有所述版本号对应的脚本插件,则作为有效脚本插件;如果在本地未查询到存储有所述版本号对应的脚本插件,则从所述服务端下载对应的有效脚本插件。
在客户端可以存储多个脚本插件,并根据服务端的配置信息确定当前哪个脚本插件有效,从而启动有效脚本插件进行问题修复。这样可以避免客户端重复下载脚本插件,也使得服务端可以根据需要,利用客户端的已有脚本插件进行问题修改,方式更为灵活。服务端还可以配置使得客户端侧的已有脚本插件和新下发的脚本插件同时生效,这样可以减少新脚本插件的大小,节省传输所消耗的流量。
S130、在运行应用程序的过程中,启动所述有效脚本插件以修复所述应用程序。
脚本插件是能够动态修复应用程序中问题的一种补丁文件,其能够在应用程序所支持的程序环境中运行,并且在不更改应用程序原有代码的情况下动态修复应用程序运行中的问题。
S130的操作优选可以是通过如下方式进行应用程序地修复:
在运行应用程序的过程中,启动所述有效脚本插件以监听所述应用程序的函数入栈操作;
在监听到所述有效脚本插件中设置的目标函数的入栈请求时,以所述有效 脚本插件中的替换函数,代替所述目标函数执行入栈操作,以运行所述替换函数来修复所述应用程序。
在脚本插件中确定有要替换的目标函数,可以是该目标函数的函数名称,并且脚本插件中提供了代替目标函数执行的替换函数。目标函数通常就是有问题的函数,以替换函数代替其执行,能够修复应用程序中存在的问题。或者,也可以是采用此方式丰富应用程序的功能。
上述应用程序的修复方式,尤为适用于应用程序是基于iOS系统开发的封闭代码程序的情况。当应用程序存在问题时,开发者可通过脚本插件的形式,在不改变原应用程序的情况下修复问题,因此无需经过iOS系统应用商店的审核。脚本插件所采用的编程语言,是应用程序能够支持其运行环境,且能够替代其函数运行的语言,优选的,所述脚本插件的编程语言为Lua语言。Lua语言是一种轻量语言,体积小、启动速度快,可以很方便地嵌入别的应用程序中运行,并且拥有很好的扩展性,可以方便地使用宿主语言提供的功能,就像使用内置功能一样。在Lua语言的脚本插件下载到客户端后,运行客户端应用程序时,客户端将自动启动Lua引擎,使执行环境生效,脚本插件的代码生效,达到修复客户端应用程序问题的目的。
采用本发明实施例提供的技术方案,针对客户端应用程序中的问题,由服务端向客户端下发用于修复问题的脚本插件的配置信息,客户端根据配置信息能够自动获取、启动、执行对应脚本插件,从而在不影响用户使用的情况下修复问题。
客户端还可以进一步上报运行日志,例如在脚本插件下载成功后,或运行脚本插件成功后,上报运行日志给服务端,以便开发者能够了解脚本插件的请求、下载、执行等全过程,便于统计,进行问题定位及脚本插件的代码优化。
在上述技术方案的基础上,优选是基于配置信息对脚本插件进行有效性验证,以提高问题修复的可靠性。有效性验证可以从多方面进行,优选是通过脚本插件的版本号和验证信息来实现。
实施例二
图2为本发明实施例二提供的一种应用程序的修复方法的流程图,本实施例以上述实施例为基础,且具体是优化了根据所述配置信息获取对应的有效脚本插件的操作。本实施例的方法包括:
S210、接收服务端下发的脚本插件的配置信息;
S220、从所述配置信息中获取脚本插件的第一版本号;
S230、获取本地当前采用的有效脚本插件的第二版本号;
S240、比对所述第一版本号和第二版本号,验证所述第一版本号的有效性;
S250、如果所述第一版本号有效,则获取对应的有效脚本插件;
S260、在运行应用程序的过程中,启动所述有效脚本插件以修复所述应用程序。
上述方案中,第一版本号是服务端配置的需要生效使用的脚本插件的版本号,客户端本地的第二版本号是客户端已生效正在使用的脚本插件的版本号。可以通过比较两个版本号的方式来验证当前配置的脚本插件的有效性。例如,当第一版本号的排序高于第二版本号,则确定第一版本号有效。否则,客户端实际上已更新至较新的版本,无需再进行脚本插件的更新。
实施例三
图3为本发明实施例三提供的一种应用程序的修复方法的流程图,本实施例以上述实施例为基础,且具体是优化了通过下载方式获取有效脚本插件的方案。本实施例的方法包括:
S310、接收服务端下发的脚本插件的配置信息;
S320、根据所述配置信息下载对应的有效脚本插件;
S330、从所述配置信息中获取所述脚本插件的第一摘要算法值;
S340、计算下载完成的所述脚本插件的第二摘要算法值;
S350、比对所述第一摘要算法值和第二摘要算法值,以验证下载的所述脚本插件的有效性,如果有效,则执行S360,如果无效,则重复执行S320,或者结束本次操作,提示出现异常;
S360、在运行应用程序的过程中,启动所述有效脚本插件以修复所述应用程序。
上述方案中,可以采用MD5的摘要算法,第一摘要算法值是服务端对完整的脚本插件进行计算获取的摘要算法值,作为验证信息;第二摘要算法值是客户端在将脚本插件下载完成后计算获取的摘要算法值,若脚本插件下载完整且正确,则两个摘要算法值相同,下载的脚本插件有效。基于摘要算法对脚本插件进行验证,可以保证下载的完整性。
实施例四
图4为本发明实施例四提供的一种应用程序的修复方法的流程图,该实施例以前述实施例为基础,提供一应用实例。该方法具体包括:
S401、开发者创建用于修复客户端问题的Lua脚本插件,部署在服务端;
S402、生成对应上述Lua脚本插件的配置信息,存储在服务端,配置信息包括该脚本插件的版本号、在服务端的下载地址、以及MD5值;
S403、服务端按照客户端的版本,下发适用于该客户端的脚本插件的配置信息;
S404、客户端接收服务端下发的脚本插件的配置信息;
S405、客户端校验脚本插件的版本信息,判断下发的版本号是否高于当前生效脚本插件的版本号,若是,则有效,执行S406,否则,结束流程;
S406、配置信息有效时,客户端重置生效的配置信息;
具体是,客户端将当前生效脚本插件的版本号进行替换。对于已存在的其他脚本插件,客户端可以删除,也可以存储以备后续使用。
客户端可以在接收到配置信息后,直接执行有效性验证和下载操作,也可以在接收到配置信息并验证有效后,提示用户,根据用户的指令执行下载操作。
S407、客户端重新下载配置的脚本插件,下载成功则执行S408,否则,结束流程;
S408、客户端在下载成功后上报日志到服务端;
S409、客户端校验已下载脚本插件的MD5值,即比较配置信息中的MD5值 与下载脚本插件计算获得的MD5值是否一致,若是,则为有效脚本插件,执行S410,否则,结束流程;
S410、脚本插件有效时,启动Lua引擎,使Lua脚本插件执行环境生效,若启动成功则执行S411,否则,结束流程;
S411、Lua引擎启动成功后,客户端上报日志至服务端。
S412、当客户端运行到问题所在部分时,触发Lua脚本插件执行生效,修复问题。
本发明实施例的技术方案,可以使用Lua+Wax框架,通过客户端与服务端协作,动态的对iOS客户端中存在的问题进行动态、快速的修复,从而避免提交新版本或影响用户正常使用的问题,可为产品带来如下收益:
1、可以动态、快速、灵活地修复部分iOS应用程序问题,无需再次打包提交审核,且不影响用户正常使用;
2、整个修复过程完全可控,风险低;
3、Lua脚本体积小,节约用户数据流量;
4、扩展性强,可同步、高效修复多个问题。
实施例五
图5为本发明实施例五提供的一种应用程序的修复装置的结构示意图,该装置包括:配置接收模块510、脚本获取模块520和程序修复模块530。
其中,配置接收模块510,用于接收服务端下发的脚本插件的配置信息;脚本获取模块520,用于根据所述配置信息获取对应的有效脚本插件;程序修复模块530,用于在运行应用程序的过程中,启动所述有效脚本插件以修复所述应用程序。
具体的,程序修复模块530可包括:入栈监听单元531和程序替换单元532。
其中,入栈监听单元531,用于在运行应用程序的过程中,启动所述有效脚本插件以监听所述应用程序的函数入栈操作;程序替换单元532,用于在监听到所述有效脚本插件中设置的目标函数的入栈请求时,以所述有效脚本插件中的替换函数,代替所述目标函数执行入栈操作,以运行所述替换函数来修复所述 应用程序。
本发明实施例的技术方案中,所述应用程序可以为基于iOS系统开发的封闭代码程序,所述脚本插件的编程语言优选为Lua语言。
上述技术方案中,优选是进一步对脚本插件进行有效性验证。
则脚本获取模块具体可包括:第一版本号获取单元、第二版本号获取单元、有效性验证单元和脚本获取单元。
其中,第一版本号获取单元,用于从所述配置信息中获取脚本插件的第一版本号;第二版本号获取单元,用于获取本地当前采用的有效脚本插件的第二版本号;有效性验证单元,用于比对所述第一版本号和第二版本号,验证所述第一版本号的有效性;脚本获取单元,用于如果所述第一版本号有效,则获取对应的有效脚本插件。
此外,脚本获取模块还可以具体包括:版本号获取单元、本地获取单元和下载获取单元。其中,版本号获取单元,从所述配置信息中获取所述脚本插件的版本号;本地获取单元,用于如果在本地查询到存储有所述版本号对应的脚本插件,则作为有效脚本插件;下载获取单元,用于如果在本地未查询到存储有所述版本号对应的脚本插件,则从所述服务端下载对应的有效脚本插件。
进一步的,该装置还可以包括:摘要验证模块,用于从所述服务端下载对应的有效脚本插件之后,从所述配置信息中获取所述脚本插件的第一摘要算法值;计算下载完成的所述脚本插件的第二摘要算法值;比对所述第一摘要算法值和第二摘要算法值,以验证下载的所述脚本插件的有效性。
上述应用程序的修复装置可执行本发明任意实施例所提供的应用程序的修复方法,具备执行方法相应的功能模块和有益效果。
采用本发明实施例提供的技术方案,针对客户端应用程序中的问题,由服务端向客户端下发用于修复问题的脚本插件的配置信息,客户端根据配置信息能够自动获取、启动、执行对应脚本插件,从而在不影响用户使用的情况下修复问题。
实施例六
本实施例提供一种非易失性计算机存储介质,所述计算机存储介质存储有一个或者多个模块,当所述一个或者多个模块被一个执行应用程序的修复方法的设备执行时,使得所述设备执行如下操作:
接收服务端下发的脚本插件的配置信息;
根据所述配置信息获取对应的有效脚本插件;
在运行应用程序的过程中,启动所述有效脚本插件以修复所述应用程序。
上述存储介质中存储的模块被所述设备执行时,在运行应用程序的过程中,启动所述有效脚本插件以修复所述应用程序可包括:在运行应用程序的过程中,启动所述有效脚本插件以监听所述应用程序的函数入栈操作;
在监听到所述有效脚本插件中设置的目标函数的入栈请求时,以所述有效脚本插件中的替换函数,代替所述目标函数执行入栈操作,以运行所述替换函数来修复所述应用程序。
上述存储介质中存储的模块被所述设备执行时,可包括:
所述应用程序为基于iOS系统开发的封闭代码程序,所述脚本插件的编程语言为Lua语言。
上述存储介质中存储的模块被所述设备执行时,根据所述配置信息获取对应的有效脚本插件可包括:
从所述配置信息中获取脚本插件的第一版本号;
获取本地当前采用的有效脚本插件的第二版本号;
比对所述第一版本号和第二版本号,验证所述第一版本号的有效性;
如果所述第一版本号有效,则获取对应的有效脚本插件。
上述存储介质中存储的模块被所述设备执行时,根据所述配置信息获取对应的有效脚本插件可包括:
从所述配置信息中获取所述脚本插件的版本号;
如果在本地查询到存储有所述版本号对应的脚本插件,则作为有效脚本插件;
如果在本地未查询到存储有所述版本号对应的脚本插件,则从所述服务端下载对应的有效脚本插件。
上述存储介质中存储的模块被所述设备执行时,从所述服务端下载对应的有效脚本插件之后,还可包括:
从所述配置信息中获取所述脚本插件的第一摘要算法值;
计算下载完成的所述脚本插件的第二摘要算法值;
比对所述第一摘要算法值和第二摘要算法值,以验证下载的所述脚本插件的有效性。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述应用程序的修复装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (13)

  1. 一种应用程序的修复方法,其特征在于,包括:
    接收服务端下发的脚本插件的配置信息;
    根据所述配置信息获取对应的有效脚本插件;
    在运行应用程序的过程中,启动所述有效脚本插件以修复所述应用程序。
  2. 根据权利要求1所述的方法,其特征在于:在运行应用程序的过程中,启动所述有效脚本插件以修复所述应用程序包括:
    在运行应用程序的过程中,启动所述有效脚本插件以监听所述应用程序的函数入栈操作;
    在监听到所述有效脚本插件中设置的目标函数的入栈请求时,以所述有效脚本插件中的替换函数,代替所述目标函数执行入栈操作,以运行所述替换函数来修复所述应用程序。
  3. 根据权利要求2所述的方法,其特征在于:
    所述应用程序为基于iOS系统开发的封闭代码程序,所述脚本插件的编程语言为Lua语言。
  4. 根据权利要求1-3任一所述的方法,其特征在于,根据所述配置信息获取对应的有效脚本插件包括:
    从所述配置信息中获取脚本插件的第一版本号;
    获取本地当前采用的有效脚本插件的第二版本号;
    比对所述第一版本号和第二版本号,验证所述第一版本号的有效性;
    如果所述第一版本号有效,则获取对应的有效脚本插件。
  5. 根据权利要求1-3任一所述的方法,其特征在于,根据所述配置信息获取对应的有效脚本插件包括:
    从所述配置信息中获取所述脚本插件的版本号;
    如果在本地查询到存储有所述版本号对应的脚本插件,则作为有效脚本插件;
    如果在本地未查询到存储有所述版本号对应的脚本插件,则从所述服务端下载对应的有效脚本插件。
  6. 根据权利要求5所述的方法,其特征在于,从所述服务端下载对应的有 效脚本插件之后,还包括:
    从所述配置信息中获取所述脚本插件的第一摘要算法值;
    计算下载完成的所述脚本插件的第二摘要算法值;
    比对所述第一摘要算法值和第二摘要算法值,以验证下载的所述脚本插件的有效性。
  7. 一种应用程序的修复装置,其特征在于,包括:
    配置接收模块,用于接收服务端下发的脚本插件的配置信息;
    脚本获取模块,用于根据所述配置信息获取对应的有效脚本插件;
    程序修复模块,用于在运行应用程序的过程中,启动所述有效脚本插件以修复所述应用程序。
  8. 根据权利要求7所述的装置,其特征在于,程序修复模块包括:
    入栈监听单元,用于在运行应用程序的过程中,启动所述有效脚本插件以监听所述应用程序的函数入栈操作;
    程序替换单元,用于在监听到所述有效脚本插件中设置的目标函数的入栈请求时,以所述有效脚本插件中的替换函数,代替所述目标函数执行入栈操作,以运行所述替换函数来修复所述应用程序。
  9. 根据权利要求8所述的装置,其特征在于:
    所述应用程序为基于iOS系统开发的封闭代码程序,所述脚本插件的编程语言为Lua语言。
  10. 根据权利要求7-9任一所述的装置,其特征在于,脚本获取模块包括:
    第一版本号获取单元,用于从所述配置信息中获取脚本插件的第一版本号;
    第二版本号获取单元,用于获取本地当前采用的有效脚本插件的第二版本号;
    有效性验证单元,用于比对所述第一版本号和第二版本号,验证所述第一版本号的有效性;
    脚本获取单元,用于如果所述第一版本号有效,则获取对应的有效脚本插件。
  11. 根据权利要求7-9任一所述的装置,其特征在于,脚本获取模块包括:
    版本号获取单元,从所述配置信息中获取所述脚本插件的版本号;
    本地获取单元,用于如果在本地查询到存储有所述版本号对应的脚本插件,则作为有效脚本插件;
    下载获取单元,用于如果在本地未查询到存储有所述版本号对应的脚本插件,则从所述服务端下载对应的有效脚本插件。
  12. 根据权利要求11所述的装置,其特征在于,还包括:
    摘要验证模块,用于从所述服务端下载对应的有效脚本插件之后,从所述配置信息中获取所述脚本插件的第一摘要算法值;计算下载完成的所述脚本插件的第二摘要算法值;比对所述第一摘要算法值和第二摘要算法值,以验证下载的所述脚本插件的有效性。
  13. 一种非易失性计算机存储介质,所述计算机存储介质存储有一个或者多个模块,其特征在于,当所述一个或者多个模块被一个执行应用程序的修复方法的设备执行时,使得所述设备执行如下操作:
    接收服务端下发的脚本插件的配置信息;
    根据所述配置信息获取对应的有效脚本插件;
    在运行应用程序的过程中,启动所述有效脚本插件以修复所述应用程序。
PCT/CN2015/092066 2015-05-14 2015-10-16 一种应用程序的修复方法、装置和存储介质 Ceased WO2016179957A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020177004172A KR101952225B1 (ko) 2015-05-14 2015-10-16 애플리케이션 프로그램 수정 방법, 장치 및 저장 매체
JP2017508621A JP6458133B2 (ja) 2015-05-14 2015-10-16 アプリケーションプログラムの修復方法、装置及び記録媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510246297.4 2015-05-14
CN201510246297.4A CN104866307B (zh) 2015-05-14 2015-05-14 一种应用程序的修复方法和装置

Publications (1)

Publication Number Publication Date
WO2016179957A1 true WO2016179957A1 (zh) 2016-11-17

Family

ID=53912158

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/092066 Ceased WO2016179957A1 (zh) 2015-05-14 2015-10-16 一种应用程序的修复方法、装置和存储介质

Country Status (4)

Country Link
JP (1) JP6458133B2 (zh)
KR (1) KR101952225B1 (zh)
CN (1) CN104866307B (zh)
WO (1) WO2016179957A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110543323A (zh) * 2019-09-11 2019-12-06 北京搜狐新动力信息技术有限公司 一种应用程序修复方法及装置
CN113110864A (zh) * 2021-03-19 2021-07-13 深圳市腾讯网络信息技术有限公司 应用程序更新方法、装置及存储介质
US20240039899A1 (en) * 2019-02-04 2024-02-01 Meixler Technologies, Inc. System and method for web-browser based end-to-end encrypted messaging and for securely implementing cryptography using client-side scripting in a web browser

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104866307B (zh) * 2015-05-14 2018-04-27 百度在线网络技术(北京)有限公司 一种应用程序的修复方法和装置
CN106020786A (zh) * 2015-11-02 2016-10-12 广州市动景计算机科技有限公司 一种动态修复应用程序的方法、装置及相关系统
CN107239267A (zh) * 2016-03-29 2017-10-10 百度在线网络技术(北京)有限公司 应用程序的修复扩展方法和装置
CN106021043A (zh) * 2016-05-10 2016-10-12 浪潮电子信息产业股份有限公司 一种获取服务器配置信息的方法及装置
CN106372005B (zh) * 2016-09-20 2019-10-11 深圳市华美兴泰科技股份有限公司 使用外接存储器在ios系统中存取图像数据的方法及装置
CN106897095B (zh) * 2017-02-24 2020-10-13 网易(杭州)网络有限公司 应用程序热修复的方法、装置、可读存储介质和计算设备
CN108829431A (zh) * 2018-06-27 2018-11-16 杭州贝购科技有限公司 iOS应用程序的更新方法、装置、设备及存储介质
CN109725923A (zh) * 2018-12-27 2019-05-07 广州华多网络科技有限公司 一种软件轻量更新方法、装置及设备
CN110362330B (zh) * 2019-07-18 2023-09-01 腾讯科技(深圳)有限公司 应用程序更新方法、装置、终端及存储介质
CN114025037B (zh) * 2021-10-28 2024-04-30 北京百度网讯科技有限公司 一种云手机的检修方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622241A (zh) * 2011-01-26 2012-08-01 腾讯科技(深圳)有限公司 一种软件升级方法及装置
CN103176809A (zh) * 2011-12-23 2013-06-26 腾讯科技(深圳)有限公司 应用升级方法及系统
CN104407889A (zh) * 2014-11-11 2015-03-11 百度在线网络技术(北京)有限公司 应用程序的修复方法和装置
CN104504341A (zh) * 2015-01-21 2015-04-08 联想(北京)有限公司 一种操作系统漏洞修复方法及装置
CN104866307A (zh) * 2015-05-14 2015-08-26 百度在线网络技术(北京)有限公司 一种应用程序的修复方法和装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6745385B1 (en) * 1999-09-01 2004-06-01 Microsoft Corporation Fixing incompatible applications by providing stubs for APIs
JP3960961B2 (ja) * 2003-09-19 2007-08-15 富士通株式会社 ソフトウェアに修正情報を適用する装置および方法
JP5499584B2 (ja) * 2009-09-09 2014-05-21 株式会社リコー 印刷制御プログラム、情報処理装置、及び記録媒体
JP2011164916A (ja) * 2010-02-09 2011-08-25 Noria Co Ltd ソフトウェアパッチダウンロードソリューション
CN102253850A (zh) * 2011-07-08 2011-11-23 烽火通信科技股份有限公司 Iptv机顶盒增量式软件升级方法
CN102955700A (zh) * 2011-08-18 2013-03-06 腾讯科技(深圳)有限公司 软件升级系统及方法
CN103246528A (zh) * 2012-02-10 2013-08-14 中兴通讯股份有限公司 软件升级方法和装置
JP5330565B2 (ja) * 2012-04-24 2013-10-30 株式会社東芝 コンピュータ
JP6209854B2 (ja) * 2013-05-10 2017-10-11 株式会社リコー 情報処理システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622241A (zh) * 2011-01-26 2012-08-01 腾讯科技(深圳)有限公司 一种软件升级方法及装置
CN103176809A (zh) * 2011-12-23 2013-06-26 腾讯科技(深圳)有限公司 应用升级方法及系统
CN104407889A (zh) * 2014-11-11 2015-03-11 百度在线网络技术(北京)有限公司 应用程序的修复方法和装置
CN104504341A (zh) * 2015-01-21 2015-04-08 联想(北京)有限公司 一种操作系统漏洞修复方法及装置
CN104866307A (zh) * 2015-05-14 2015-08-26 百度在线网络技术(北京)有限公司 一种应用程序的修复方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240039899A1 (en) * 2019-02-04 2024-02-01 Meixler Technologies, Inc. System and method for web-browser based end-to-end encrypted messaging and for securely implementing cryptography using client-side scripting in a web browser
US12363080B2 (en) * 2019-02-04 2025-07-15 Meixler Technologies, Inc. System and method for web-browser based end-to-end encrypted messaging and for securely implementing cryptography using client-side scripting in a web browser
CN110543323A (zh) * 2019-09-11 2019-12-06 北京搜狐新动力信息技术有限公司 一种应用程序修复方法及装置
CN113110864A (zh) * 2021-03-19 2021-07-13 深圳市腾讯网络信息技术有限公司 应用程序更新方法、装置及存储介质

Also Published As

Publication number Publication date
JP6458133B2 (ja) 2019-01-23
CN104866307B (zh) 2018-04-27
KR20170034901A (ko) 2017-03-29
KR101952225B1 (ko) 2019-02-26
CN104866307A (zh) 2015-08-26
JP2017526069A (ja) 2017-09-07

Similar Documents

Publication Publication Date Title
JP6458133B2 (ja) アプリケーションプログラムの修復方法、装置及び記録媒体
CN108027741B (zh) 基于补丁升级的文件处理方法、装置、终端以及存储介质
CN110147240B (zh) 基于云存储的应用程序安装方法、系统及存储介质
CN110209405B (zh) 分布式系统的自动化升级方法及装置
CN110879713B (zh) 一种android端强加密插件热更新管理方法
CA2875828C (en) Auto-update while running client interface with handshake
JP7731885B2 (ja) パッケージベースリモートファームウェアアップデート
CN103973475A (zh) 差异补丁包生成方法及下载方法、服务器、客户端
CN110389778A (zh) 一种异构加速平台的mcu固件升级方法及相关装置
US11520891B1 (en) Secure boot of an integrated circuit
CN106843933A (zh) 一种应用程序的漏洞修复方法、移动终端及补丁服务器
CN110597545B (zh) 一种基于ota组件的热补丁智能升级方法及系统
WO2013117039A1 (zh) 软件升级方法和装置
CN107783776A (zh) 固件升级包的处理方法及装置、电子设备
CN109358873B (zh) 一种应用程序更新方法、存储介质和终端设备
WO2018024198A1 (zh) 机顶盒的应用程序升级方法、系统及机顶盒
CN111522615A (zh) 命令行界面的更新方法、装置、设备及存储介质
CN107943493A (zh) 一种基于iOS系统静默修复已上线App中问题的方法和装置
CN113791809A (zh) 应用异常处理方法、装置以及计算机可读存储介质
CN114327574A (zh) 一种差分升级方法、电子设备及存储介质
CN102622254A (zh) 电视机宕机处理方法和系统
WO2022156512A1 (zh) 一种固件更新方法、装置、设备及存储介质
WO2011110097A1 (zh) 一种软件下载方法和装置
CN114625404A (zh) 一种应用程序升级方法及装置
WO2018166322A1 (zh) 系统分区的修复方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15891657

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017508621

Country of ref document: JP

Kind code of ref document: A

Ref document number: 20177004172

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15891657

Country of ref document: EP

Kind code of ref document: A1