CN110399298A - 一种测试方法及装置 - Google Patents

一种测试方法及装置 Download PDF

Info

Publication number
CN110399298A
CN110399298A CN201910631989.9A CN201910631989A CN110399298A CN 110399298 A CN110399298 A CN 110399298A CN 201910631989 A CN201910631989 A CN 201910631989A CN 110399298 A CN110399298 A CN 110399298A
Authority
CN
China
Prior art keywords
test
test assignment
performance
data library
time
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.)
Withdrawn
Application number
CN201910631989.9A
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.)
Suzhou Wave Intelligent Technology Co Ltd
Original Assignee
Suzhou Wave Intelligent 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 Suzhou Wave Intelligent Technology Co Ltd filed Critical Suzhou Wave Intelligent Technology Co Ltd
Priority to CN201910631989.9A priority Critical patent/CN110399298A/zh
Publication of CN110399298A publication Critical patent/CN110399298A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供一种测试方法及装置,所述方法包括:将设定数量的模拟数据加载到待测数据库上,其中,所述模拟数据为根据所述待测数据库的表结构生成的数据,所述设定数量为大于或等于50万的正整数;在安装所述待测数据库的计算设备上执行测试任务,其中,所述测试任务为根据所述模拟数据生成的任务;根据所述测试任务的执行时间评估所述待测数据库在所述计算设备上的性能,其中,所述测试任务的执行时间为测试任务的结束时间与开始时间的差值。上述技术方案可以快速测试数据库性能,减少人力物力成本,提高生产效率。

Description

一种测试方法及装置
技术领域
本发明涉及计算机领域,尤其涉及测试方法及装置。
背景技术
人工智能和5G通信网络的发展,为通信网络拉通全数据面,释放全数据洞察能力和真正实现网络全智能和自动化运营,进一步实现物联网。而物联网之后产生的数据将会是爆炸试的增长;如何存储、分析这些数据,如何将数据转换为生产力,这些都是所有企业所面临的问题。
应用程序所产生的数据主要是在数据库里面进行分析、处理、加工。Sybase IQ数据库查询快,数据压缩比高,加载快。它适做DSS(Decision Support System,决策支持系统)、数据集市、数据仓库以及OLAP(Online Analytical Processing,联机分析处理)等,从而降低其企业运营成本。但是随着数据量的爆发增长,Sybase IQ所承载的数据量越来越多,导致其硬件平台无法支撑其现有业务系统。通常情况下,需要评估Sybase IQ的性能,进而确定何时进行对硬件进行扩容、扩容到什么配置。
现有的Sybase IQ性能评估方法通常需要投入大量的人力来搭建环境,模拟真实业务进行测试,不仅评估速度慢,而且准确性较低,此外,需要操作人员具备一定专业背景,人力物力投入成本高。
发明内容
本申请所要解决的技术是提供一种测试方法及装置,可以快速测试数据库性能,减少人力物力成本,提高生产效率。
为了解决上述技术问题,本申请提供了一种测试方法,所述方法包括:
将设定数量的模拟数据加载到待测数据库上,其中,所述模拟数据为根据所述待测数据库的表结构生成的数据,所述设定数量为大于或等于50万的正整数;
在安装所述待测数据库的计算设备上执行测试任务,其中,所述测试任务为根据所述模拟数据生成的任务;
根据所述测试任务的执行时间评估所述待测数据库在所述计算设备上的性能,其中,所述测试任务的执行时间为测试任务的结束时间与开始时间的差值。
可选地,
所述测试任务包括N个测试子任务;
N为获取到的所述服务器的中央处理器CPU的数量;所述N为大于或等于2的正整数。
可选地,
所述在安装所述待测数据库的计算设备上执行测试任务包括:
将N个测试子任务分配给相应的CPU,以使每个CPU均分配有测试子任务;
所有CPU并行执行分配的测试子任务。
可选地,
所述测试任务包括以下操作中的一种或多种:根据设定的业务逻辑生成的分析操作、统计操作、排序操作。
可选地,
所述根据所述测试任务的执行时间评估所述待测数据库在所述计算设备上的性能包括:
确定所述测试任务的执行时间所属的性能时间区间;
根据所述性能时间区间对应的性能等级确定所述待测数据库的性能。
本申请还提供一种测试装置,所述装置包括:存储器和处理器;
所述存储器,用于保存用于验证的程序;
所述处理器,用于读取执行所述用于验证的程序,执行如下操作:
将设定数量的模拟数据加载到待测数据库上,其中,所述模拟数据为根据所述待测数据库的表结构生成的数据,所述设定数量为大于或等于50万的正整数;
在安装所述待测数据库的计算设备上执行测试任务,其中,所述测试任务为根据所述模拟数据生成的任务;
根据所述测试任务的执行时间评估所述待测数据库在所述计算设备上的性能,其中,所述测试任务的执行时间为测试任务的结束时间与开始时间的差值。
可选地,
所述测试任务包括N个测试子任务;
N为获取到的所述服务器的中央处理器CPU的数量;所述N为大于或等于2的正整数。
可选地,
所述在安装所述待测数据库的计算设备上执行测试任务包括:
将N个测试子任务分配给相应的CPU,以使每个CPU均分配有测试子任务;
所有CPU并行执行分配的测试子任务。
可选地,
所述测试任务包括以下操作中的一种或多种:根据设定的业务逻辑生成的分析操作、统计操作、排序操作。
可选地,
所述根据所述测试任务的执行时间评估所述待测数据库在所述计算设备上的性能包括:
确定所述测试任务的执行时间所属的性能时间区间;
根据所述性能时间区间对应的性能等级确定所述待测数据库的性能。
本申请将设定数量的模拟数据加载到待测数据库上,其中,所述模拟数据为根据所述待测数据库的表结构生成的数据,所述设定数量为大于或等于50万的正整数;在安装所述待测数据库的计算设备上执行测试任务,其中,所述测试任务为根据所述模拟数据生成的任务;根据所述测试任务的执行时间评估所述待测数据库在所述计算设备上的性能,其中,所述测试任务的执行时间为测试任务的结束时间与开始时间的差值。上述技术方案可以快速测试数据库性能,减少人力物力成本,提高生产效率。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1是本发明实施例一的测试方法的流程示意图;
图2是本发明实施例一的测试装置的结构示意图;
图3是本发明实施例一的测试方法的另一流程示意图。
具体实施方式
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
实施例一
如图1所示,本实施例提供一种测试方法,所述方法包括:
步骤S101、将设定数量的模拟数据加载到待测数据库上,其中,所述模拟数据为根据所述待测数据库的表结构生成的数据,所述设定数量为大于或等于50万的正整数;
步骤S102、在安装所述待测数据库的计算设备上执行测试任务,其中,所述测试任务为根据所述模拟数据生成的任务;
步骤S103、根据所述测试任务的执行时间评估所述待测数据库在所述计算设备上的性能。
可选地,
所述测试任务可以包括N个测试子任务;
N为获取到的所述服务器的CPU(Central Processing Unit,中央处理器)的数量;所述N为大于或等于2的正整数。
可选地,
所述在安装所述待测数据库的计算设备上执行测试任务可以包括:
将N个测试子任务分配给相应的CPU,以使每个CPU均分配有测试子任务;
所有CPU并行执行分配的测试子任务。
可选地,
测试任务可以包括以下操作中的一种或多种:根据设定的业务逻辑生成的分析操作、统计操作、排序操作。
可选地,
所述根据所述测试任务的执行时间评估所述待测数据库在所述计算设备上的性能可以包括:
确定所述测试任务的执行时间所属的性能时间区间,其中,所述测试任务的执行时间为所有CPU均完成分配的测试子任务的时间;
根据所述性能时间区间对应的性能等级确定所述待测数据库的性能。
上述可以快速测试数据库性能,减少人力物力成本,提高生产效率。同时,上述技术方案将CPU的使用率最大化,可以有效提高测试的准确性。
如图2所示,本实施例还提供一种测试装置,所述装置包括:存储器10和处理器11;
所述存储器10,用于保存用于验证的程序;
所述处理器11,用于读取执行所述用于验证的程序,执行如下操作:
将设定数量的模拟数据加载到待测数据库上,其中,所述模拟数据为根据所述待测数据库的表结构生成的数据,所述设定数量为大于或等于50万的正整数;
在安装所述待测数据库的计算设备上执行测试任务,其中,所述测试任务为根据所述模拟数据生成的任务;
根据所述测试任务的执行时间评估所述待测数据库在所述计算设备上的性能。
可选地,
所述测试任务可以包括N个测试子任务;
N为获取到的所述服务器的中央处理器CPU的数量;所述N为大于或等于2的正整数。
可选地,
所述在安装所述待测数据库的计算设备上执行测试任务可以包括:
将N个测试子任务分配给相应的CPU,以使每个CPU均分配有测试子任务;
所有CPU并行执行分配的测试子任务。
可选地,
测试任务可以包括以下操作中的一种或多种:根据设定的业务逻辑生成的分析操作、统计操作、排序操作。
可选地,
所述根据所述测试任务的执行时间评估所述待测数据库在所述计算设备上的性能可以包括:
确定所述测试任务的执行时间所属的性能时间区间,其中,所述测试任务的执行时间为所有CPU均完成分配的测试子任务的时间;
根据所述性能时间区间对应的性能等级确定所述待测数据库的性能。
上述可以快速测试数据库性能,减少人力物力成本,提高生产效率。同时,上述技术方案将CPU的使用率最大化,可以有效提高测试的准确性。
示例一
下面通过示例进一步说明本申请的测试方法。
如图3所示,本示例的场景为对Sybase IQ数据库的性能的快速测试,所述方法包括:
步骤S201、编辑程序配置文件;
本示例中,配置文件可以包括Sybase IQ的登录账号、密码和登陆方式等信息。
步骤S202、创建Sybase IQ数据库的表结构;
本示例的表结构可以是用户信息,例如表结构可以包含身份证号、姓名等基本信息,除了基本信息之外,还可以手机号、家庭住址等附加信息,还可以包括身份证号、姓名、手机号、家庭住址以外的其它用户信息。
在其它示例中,表结构还可以是产品信息等。
步骤S203、根据创建的表结构生成设定数量的模拟数据;
本示例中,可以生成20亿条模拟数据,通过大量数据进行测试可以获取更加准确测试结果。
步骤S204、将生成的模拟数据加载至Sybase IQ;
步骤S205、根据生成的模拟数据生成测试任务;
步骤S206、将测试任务分解为N个测试子任务;
本示例中,可以自动识别安装所述Sybase IQ数据库的服务器的CPU数量,将测试任务按照CPU的数量进行划分,有多少个CPU,就分解成多少个测试子任务。
在其它实施例中,也可以不采用先生成测试任务然后分解成测试子任务的方式,而是根据模拟数据和CPU数量直接生成N个测试子任务。
本示例中,测试任务可以包括以下操作中的一种或多种:根据设定的业务逻辑生成的分析操作、统计操作、排序操作。每个测试子任务包括的操作可以相同,也可以不相同。
需要说明的是,自动识别所述CPU数量的执行顺序可以不做限定,只要在生成N个测试子任务之前识别即可。
步骤S207、所有CPU并行执行分配的测试子任务;
本示例中,可以将N个测试子任务分配给相应的CPU,以使每个CPU均分配有测试子任务,每个测试子任务的计算量巨大,每个测试子任务都能将对应CPU压满,这样可以使得服务器的CPU使用率提高到100%,从而充分利用安装Sybase IQ数据库的服务器的计算资源,测试出Sybase IQ数据库在该服务器上的最大性能。
步骤S208、计算测试任务的执行时间;
本示例中,测试任务的执行时间为测试任务的结束时间与开始时间的差值。
本示例中,可以记录每个测试子任务的开始时间和结束时间,然后根据每个测试子任务的开始时间和结束时间确定测试任务的开始时间和结束时间。测试任务的开始时间为最先启动的测试子任务的开始时间,测试任务的结束时间为最后完成的测试子任务完成的时间。
假设安装Sybase IQ数据库的服务器的CPU数量是3,测试任务A包括3个测试子任务:A1、A2、A3;A1、A2、A3可以分配给相应的CPU执行测试子任务,这样可以保证每个CPU的使用率为100%。接下来并行执行A1、A2、A3。
假设A1的开始时间是7分03秒,结束时间为7分20秒;
A2的开始时间是7分05秒,结束时间为7分18秒;
A3的开始时间是7分01秒,结束时间为7分21秒;
那么测试任务A开始时间为7分01秒,结束时间7分21秒,这样测试任务A的执行时间为20秒。
步骤S209、根据所述测试任务的执行时间评估所述待测数据库在所述服务器上的性能。
本示例中,可以预先配置多个性能时间区间,每个性能时间区间对应一个性能等级,然后确定测试任务的执行时间所属的性能时间区间;从而得出Sybase IQ数据库在该服务器上的性能等级,然后可以根据当前的性能等级确定是否需要进行硬件扩容,扩容多少,提高了硬件扩容的精准度,避免了硬件资源的浪费。本示例中,安装Sybase IQ数据库的服务器的CPU数量越多、CPU主频越高,则测试任务的执行时间越短、Sybase IQ数据库在该服务器上的性能越好。
此外,在其它实施例中,还以比较相同版本的Sybase IQ数据库在不同服务器的执行时间,执行时间越小的服务器的硬件性能越好,从而可以根据具体业务选择相应不同性能的服务器。
现有技术中,由于企业数据量增长较快,几乎每个月都有新业务上线、每年都要进行一次硬件扩容。而项目上线之前无法准确评估硬件架构是否可以支持生产系统,所以尽量放大硬件资源需求,导致硬件资源严重浪费。而通过本申请的技术方案,可以在项目上线之前快速并且准确的进行数据库性能测试,评估Sybase IQ数据库的综合性能,从而更好的设计硬件架构,大大提升了生产效率。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且包括任何信息递送介质。

Claims (10)

1.一种测试方法,其特征在于,所述方法包括:
将设定数量的模拟数据加载到待测数据库上,其中,所述模拟数据为根据所述待测数据库的表结构生成的数据,所述设定数量为大于或等于50万的正整数;
在安装所述待测数据库的计算设备上执行测试任务,其中,所述测试任务为根据所述模拟数据生成的任务;
根据所述测试任务的执行时间评估所述待测数据库在所述计算设备上的性能,其中,所述测试任务的执行时间为测试任务的结束时间与开始时间的差值。
2.如权利要求1所述的测试方法,其特征在于:
所述测试任务包括N个测试子任务;
N为获取到的所述服务器的中央处理器CPU的数量;所述N为大于或等于2的正整数。
3.如权利要求2所述的测试方法,其特征在于,所述在安装所述待测数据库的计算设备上执行测试任务包括:
将N个测试子任务分配给相应的CPU,以使每个CPU均分配有测试子任务;
所有CPU并行执行分配的测试子任务。
4.如权利要求3所述的测试方法,其特征在于:
所述测试任务包括以下操作中的一种或多种:根据设定的业务逻辑生成的分析操作、统计操作、排序操作。
5.如权利要求1至4任一所述的测试方法,其特征在于,所述根据所述测试任务的执行时间评估所述待测数据库在所述计算设备上的性能包括:
确定所述测试任务的执行时间所属的性能时间区间;
根据所述性能时间区间对应的性能等级确定所述待测数据库的性能。
6.一种测试装置,所述装置包括:存储器和处理器;其特征在于:
所述存储器,用于保存用于验证的程序;
所述处理器,用于读取执行所述用于验证的程序,执行如下操作:
将设定数量的模拟数据加载到待测数据库上,其中,所述模拟数据为根据所述待测数据库的表结构生成的数据,所述设定数量为大于或等于50万的正整数;
在安装所述待测数据库的计算设备上执行测试任务,其中,所述测试任务为根据所述模拟数据生成的任务;
根据所述测试任务的执行时间评估所述待测数据库在所述计算设备上的性能,其中,所述测试任务的执行时间为测试任务的结束时间与开始时间的差值。
7.如权利要求6所述的测试装置,其特征在于:
所述测试任务包括N个测试子任务;
N为获取到的所述服务器的中央处理器CPU的数量;所述N为大于或等于2的正整数。
8.如权利要求7所述的测试装置,其特征在于,所述在安装所述待测数据库的计算设备上执行测试任务包括:
将N个测试子任务分配给相应的CPU,以使每个CPU均分配有测试子任务;
所有CPU并行执行分配的测试子任务。
9.如权利要求8所述的测试装置,其特征在于:
所述测试任务包括以下操作中的一种或多种:根据设定的业务逻辑生成的分析操作、统计操作、排序操作。
10.如权利要求6至9任一所述的测试装置,其特征在于,所述根据所述测试任务的执行时间评估所述待测数据库在所述计算设备上的性能包括:
确定所述测试任务的执行时间所属的性能时间区间;
根据所述性能时间区间对应的性能等级确定所述待测数据库的性能。
CN201910631989.9A 2019-07-12 2019-07-12 一种测试方法及装置 Withdrawn CN110399298A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910631989.9A CN110399298A (zh) 2019-07-12 2019-07-12 一种测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910631989.9A CN110399298A (zh) 2019-07-12 2019-07-12 一种测试方法及装置

Publications (1)

Publication Number Publication Date
CN110399298A true CN110399298A (zh) 2019-11-01

Family

ID=68325538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910631989.9A Withdrawn CN110399298A (zh) 2019-07-12 2019-07-12 一种测试方法及装置

Country Status (1)

Country Link
CN (1) CN110399298A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112418930A (zh) * 2020-11-23 2021-02-26 恩亿科(北京)数据科技有限公司 一种测试方法、系统及计算机设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112418930A (zh) * 2020-11-23 2021-02-26 恩亿科(北京)数据科技有限公司 一种测试方法、系统及计算机设备
CN112418930B (zh) * 2020-11-23 2024-02-27 恩亿科(北京)数据科技有限公司 一种测试方法、系统及计算机设备

Similar Documents

Publication Publication Date Title
CN110309071B (zh) 测试代码的生成方法及模块、测试方法及系统
CN106294120B (zh) 测试代码的方法、设备和计算机程序产品
US8799854B2 (en) Reusing software development assets
EP2572294B1 (en) System and method for sql performance assurance services
CN107423181A (zh) 一种统一存储设备的自动化测试方法及装置
CN106803799B (zh) 一种性能测试方法和装置
CN110750529B (zh) 数据处理方法、装置、设备及存储介质
CN106980571A (zh) 一种测试用例集的构建方法和设备
CN106294128B (zh) 一种导出报表数据的自动化测试方法及装置
TW201344601A (zh) 測試文件管理系統及方法
CN105868956A (zh) 一种数据处理方法及装置
CN107798120B (zh) 一种数据转换方法及装置
CN110082666A (zh) 芯片测试分析方法、装置、设备及存储介质
CN110377519B (zh) 大数据系统的性能容量测试方法、装置、设备及存储介质
CN110532187B (zh) 一种hdfs吞吐性能测试方法、系统、终端及存储介质
CN114281663A (zh) 测试处理方法、装置、电子设备和存储介质
CN112346962A (zh) 一种应用于对照测试系统中的对照数据测试方法及装置
CN110532612A (zh) 船舶动力系统的运行数据处理方法及装置
CN112559525B (zh) 数据检查系统、方法、装置和服务器
CN110399298A (zh) 一种测试方法及装置
CN111930611B (zh) 一种测试数据的统计方法和装置
CN110597728A (zh) 构建测试数据的方法、装置及系统
CN113704077A (zh) 测试用例生成方法及装置
CN105808612B (zh) 用于迁移数据库的数据的方法及设备
CN115576831A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20191101

WW01 Invention patent application withdrawn after publication