CN106557564A - 一种对象数据分析方法及装置 - Google Patents
一种对象数据分析方法及装置 Download PDFInfo
- Publication number
- CN106557564A CN106557564A CN201611024025.0A CN201611024025A CN106557564A CN 106557564 A CN106557564 A CN 106557564A CN 201611024025 A CN201611024025 A CN 201611024025A CN 106557564 A CN106557564 A CN 106557564A
- Authority
- CN
- China
- Prior art keywords
- data
- trace back
- access
- preset time
- time period
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种对象数据分析方法及装置。该方法包括:获取接入数据并置于Hadoop分布式文件系统HDFS中,所述接入数据包括数据生成时间;根据所述数据生成时间提取所述HDFS中的所述接入数据,得到对应预设时间段的对象追溯数据;根据所述预设时间段筛选所述对象追溯数据,得到对象基本数据。本发明实施例通过由接入数据提取得对象追溯数据,再经筛选得对象基本数据,以对象的角度从海量的数据中分析出有价值的信息。
Description
技术领域
本发明实施例涉及大数据分析技术,尤其涉及一种对象数据分析方法及装置。
背景技术
伴随着云时代,大数据引起了越来越多的关注。大数据形式多样化且种类繁多,涉及到大量非结构化数据、半结构化数据和结构化数据。
信息技术的不断发展,信息系统的使用规模越来越大且复杂度也与日俱增,对数据底层的数据要求也随之相应变化。在这种情况下,底层数据结构一旦发生变化,必然引起应用系统做出连锁的改动。
信息量的膨胀以及数据结构的灵活多变,要求更小、更快、也更简单地描述数据结构;能够“向后”兼容等需求也被提上日程。
如何从海量数据中分析出有价值的信息成为亟待解决的问题。
发明内容
本发明实施例提供一种对象数据分析方法及装置,可以从海量数据中分析出有价值的信息。
第一方面,本发明实施例提供了一种对象数据分析方法,包括:
获取接入数据并置于Hadoop分布式文件系统HDFS中,所述接入数据包括数据生成时间;
根据所述数据生成时间提取所述HDFS中的所述接入数据,得到对应预设时间段的对象追溯数据;
根据所述预设时间段筛选所述对象追溯数据,得到对象基本数据。
第二方面,本发明实施例还提供了一种对象数据分析装置,包括:
接收数据获取模块,用于获取接入数据并置于Hadoop分布式文件系统HDFS中,所述接入数据包括数据生成时间;
对象追溯数据获取模块,与所述接收数据获取模块相连,用于根据所述数据生成时间提取所述HDFS中的所述接入数据,得到对应预设时间段的对象追溯数据;
对象基本数据获取模块,与所述对象追溯数据获取模块相连,用于根据所述预设时间段筛选所述对象追溯数据,得到对象基本数据。
本实施例通过由接入数据提取得对象追溯数据,再经筛选得对象基本数据,以对象的角度从海量的数据中分析出有价值的信息。
附图说明
图1是本发明实施例一提供的对象数据分析方法流程图;
图2是本发明实施例二提供的对象数据分析方法流程图;
图3是本发明实施例三提供的对象数据分析方法流程图;
图4是本发明实施例四提供的对象数据分析装置结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的对象数据分析方法流程图。本实施例可适用于分析HDFS中的对象数据的情况,该方法可以由对象数据分析装置来执行,该装置可以由软件和/或硬件方式实现,该装置可以集成在任何提供数据分析的设备中,例如典型的是服务器,如HBase数据库等。该方法包括:
S101、获取接入数据并置于Hadoop分布式文件系统HDFS中,所述接入数据包括数据生成时间。
接入数据包括数据生成时间,也可以包括数据来源。获取不同时间生成不同来源的接入数据,再用HDFS来存储大量的接入数据。
Hadoop分布式文件系统HDFS被设计成适合运行在通用硬件上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
S102、根据所述数据生成时间提取所述HDFS中的所述接入数据,得到对应预设时间段的对象追溯数据。
规定如身份证号码不为空等的数据提取策略,根据所述数据生成时间,通过Map-Reduce对HDFS上的接入数据进行对象化提取,形成对应预设时间段的对象追溯数据。
对象的属性值是日渐丰富的,对象追溯数据指的是录入了对象所有属性值的数据。
Map-Reduce是一种编程模型,是一种编程方法,抽象理论。Map-Reduce是Hadoop的核心组件之一,可以通过Map-Reduce很容易在Hadoop平台上进行分布式的计算编程。
S103、根据预设时间段筛选对象追溯数据,得到对象基本数据。
对象追溯数据中,有些属性值是准确和有用的,另外一些属性值是不准和没用的。例如源自社交软件上的个人信息可能不够真实,源自公安系统的个人信息就比较可靠,这是应以公安系统的信息为准。根据预设时间段或数据来源,将对象追溯数据按照一定的归并规则进行合并得到对象基本数据。
进一步地,所述接入数据、所述对象追溯数据及所述对象基本数据包含标识信息。
对象中的部分属性值记录最可靠的数据,如身份证号、手机号、MAC、IMSI等,这类属性值可作为对象的唯一标识。所述接入数据、所述对象追溯数据及所述对象基本数据通过标识信息联系在一起。
现实数据都有对应的对象,比如身份证号、手机号、虚拟账号、或上网终端等都有对应的使用者,本实施例以对象的角度进行数据建模,对象追溯数据及对象基本数据都是以对象的角度对HDFS中的数据进行分析。
本实施例通过由接入数据提取得对象追溯数据,再经筛选得对象基本数据,以对象的角度从海量的数据中分析出有价值的信息。
实施例二
图2是本发明实施例二提供的对象数据分析方法流程图。实施例二以上述实施例为基础,在根据预设时间段筛选对象追溯数据得到对象基本数据后,增加了将数据按Protobuf格式进行序列化保存以及将序列化的数据按Protobuf格式进行反序列化使用的步骤。
本实施例提供的对象数据分析方法包括以下步骤:步骤S201、步骤S202、步骤S203、步骤S204和步骤S205。其中,步骤S201、步骤S202及步骤S203分别与实施例一中的步骤S101、步骤S102及步骤S103相同,相同的步骤不再赘述。
S201、获取接入数据并置于Hadoop分布式文件系统HDFS中,所述接入数据包括数据生成时间。
S202、根据所述数据生成时间提取所述HDFS中的所述接入数据,得到对应预设时间段的对象追溯数据。
S203、根据预设时间段筛选对象追溯数据,得到对象基本数据。
S204、将所述对象追溯数据按序列化结构数据格式Protobuf进行序列化并保存,将所述对象基本数据按所述Protobuf格式进行序列化并保存。
Protobuf是一种序列化结构数据格式,相较其他格式,Protobuf在描述数据结构、存储空间及数据交换方式等方面有优势。将所述对象追溯数据按Protobuf的SerializeToOstream函数进行序列化并保存,将所述对象基本数据按Protobuf的SerializeToOstream函数进行序列化并保存。
序列化的对象追溯数据可以保存在对象追溯表,序列化的对象基本数据可以保存在对象基本表。对象追溯表和对象基本表可以位于HBase数据库中。
S205、将所述序列化的对象追溯数据按所述Protobuf格式进行反序列化后使用,将所述序列化的对象基本数据按所述Protobuf格式进行反序列化后使用。
将所述序列化的对象追溯数据按Protobuf的ParseFromIstream函数进行反序列化,将所述序列化的对象基本数据按Protobuf的ParseFromIstream函数进行反序列化。经过反序列化后,得到的对象追溯数据和对象基本数据就可以被业务系统使用。
本实施例通过将数据按Protobuf格式进行序列化保存以及将序列化的数据按Protobuf格式进行反序列化使用,实现了大量对象追溯数据和对象基本数据的高效存取。
实施例三
图3是本发明实施例三提供的对象数据分析方法流程图。实施例三以上述实施例为基础,将获取接入数据并置于Hadoop分布式文件系统HDFS中优化为接收所述接入数据和对所述接入数据进行格式化处理并将格式化处理后的接入数据存入所述HDFS,将得到对应预设时间段的对象追溯数据优化为将提取的接入数据按照预设的第一数据格式生成对应预设时间段的对象追溯数据,将根据预设时间段筛选对象追溯数据得到对象基本数据优化为根据发生时间优先策略合并对象追溯数据并按照预设的第二数据格式生成对象基本数据。相应的,本实施例的方法包括:
S301、接收所述接入数据。
获取不同时间生成不同来源的接入数据。
S302、对所述接入数据进行格式化处理,并将格式化处理后的接入数据存入所述HDFS。
对接入数据进行数据清洗、数据去重及数据规范等过程形成统一格式的数据,如以tab键分隔的文本文件,并将统一格式的数据存入HDFS。统一格式的数据可以包含接入数据的标识信息、属性值、发现次数、首次生成时间、末次生成时间及本次生成时间等。
S303、根据所述数据生成时间提取所述HDFS中的所述接入数据,将提取的接入数据按照预设的第一数据格式生成对应预设时间段的对象追溯数据。
规定如身份证号码不为空等的数据提取策略,根据所述数据生成时间,通过Map-Reduce对HDFS上的接入数据进行对象化提取,将提取的接入数据按照预设的第一数据格式生成对应预设时间段的对象追溯数据。第一数据格式是基于Protobuf定义的对象格式,它包括标识信息、对象追溯属性编码及追溯属性值。
S304、根据发生时间优先策略合并对象追溯数据,按照预设的第二数据格式生成对象基本数据。
对象追溯数据中,有些属性值是准确和有用的,另外一些属性值是不准和没用的。比如以在时间上最近生成的对象追溯数据的属性值作为对象基本数据。合并策略还包括数据来源优先策略及属性值比对策略等。第二数据格式是基于Protobuf定义的对象格式,它包括标识信息、对象基本属性编码及基本属性值。
本实施例按定义的格式处理数据,按规定的优先策略合并数据,规范了基于Protobuf的对象数据分析过程。
实施例四
图4是本发明实施例四提供的对象数据分析装置结构示意图。该装置用于执行上述实施例中的对象数据分析方法。该装置包括:接收数据获取模块401、对象追溯数据获取模块402和对象基本数据获取模块403。
接收数据获取模块,用于获取接入数据并置于Hadoop分布式文件系统HDFS中,所述接入数据包括数据生成时间。
对象追溯数据获取模块,与所述接收数据获取模块相连,用于根据所述数据生成时间提取所述HDFS中的所述接入数据,得到对应预设时间段的对象追溯数据。
对象基本数据获取模块,与所述对象追溯数据获取模块相连,用于根据所述预设时间段筛选所述对象追溯数据,得到对象基本数据。
本实施例通过由接入数据提取得对象追溯数据,再经筛选得对象基本数据,以对象的角度从海量的数据中分析出有价值的信息。
进一步地,所述对象基本数据获取模块具体用于根据发生时间优先策略合并所述对象追溯数据得到所述对象基本数据。
进一步地,所述接入数据、所述对象追溯数据及所述对象基本数据包含标识信息。
进一步地,所述接收数据获取模块具体包括:接收单元和处理单元。
接收单元,用于接收所述接入数据。
处理单元,与所述接收单元和所述对象追溯数据获取模块相连,用于对所述接入数据进行格式化处理,并将格式化处理后的接入数据存入所述HDFS。
进一步地,对象数据分析装置还包括:序列化模块和反序列化模块。
序列化模块,与所述对象基本数据获取模块相连,用于将所述对象追溯数据按序列化结构数据格式Protobuf进行序列化并保存,将所述对象基本数据按所述Protobuf格式进行序列化并保存。
反序列化模块,与所述序列化模块相连,用于将所述序列化的对象追溯数据按所述Protobuf格式进行反序列化后使用,将所述序列化的对象基本数据按所述Protobuf格式进行反序列化后使用。
本实施例通过将数据按Protobuf格式进行序列化保存以及将序列化的数据按Protobuf格式进行反序列化使用,实现了大量对象追溯数据和对象基本数据的高效存取。
进一步地,所述得到对应预设时间段的对象追溯数据包括:将提取的接入数据按照预设的第一数据格式生成对应预设时间段的对象追溯数据;所述得到对象基本数据包括:将筛选后的对象追溯数据按照预设的第二数据格式生成对象基本数据。
本实施例按定义的格式处理数据,按规定的优先策略合并数据,规范了基于Protobuf的对象数据分析过程。
本发明实施例所提供的对象数据分析装置可用于执行本发明任意实施例所提供的对象数据分析方法,具备执行该方法相应的功能和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种对象数据分析方法,其特征在于,包括:
获取接入数据并置于Hadoop分布式文件系统HDFS中,所述接入数据包括数据生成时间;
根据所述数据生成时间提取所述HDFS中的所述接入数据,得到对应预设时间段的对象追溯数据;
根据所述预设时间段筛选所述对象追溯数据,得到对象基本数据。
2.根据权利要求1所述的对象数据分析方法,其特征在于,所述获取接入数据并置于HDFS中包括:
接收所述接入数据;
对所述接入数据进行格式化处理,并将格式化处理后的接入数据存入所述HDFS。
3.根据权利要求1所述的对象数据分析方法,其特征在于,在所述根据所述预设时间段筛选所述对象追溯数据,得到对象基本数据之后,还包括:
将所述对象追溯数据按序列化结构数据格式Protobuf进行序列化并保存,将所述对象基本数据按所述Protobuf格式进行序列化并保存;
将所述序列化的对象追溯数据按所述Protobuf格式进行反序列化后使用,将所述序列化的对象基本数据按所述Protobuf格式进行反序列化后使用。
4.根据权利要求1所述的对象数据分析方法,其特征在于,所述得到对应预设时间段的对象追溯数据包括:
将提取的接入数据按照预设的第一数据格式生成对应预设时间段的对象追溯数据;
所述得到对象基本数据包括:
将筛选后的对象追溯数据按照预设的第二数据格式生成对象基本数据。
5.根据权利要求1-4任一项所述的对象数据分析方法,其特征在于,所述接入数据、所述对象追溯数据及所述对象基本数据包含标识信息;所述根据所述预设时间段筛选所述对象追溯数据,得到对象基本数据包括:
根据发生时间优先策略合并所述对象追溯数据得到所述对象基本数据。
6.一种对象数据分析装置,其特征在于,包括:
接收数据获取模块,用于获取接入数据并置于Hadoop分布式文件系统HDFS中,所述接入数据包括数据生成时间;
对象追溯数据获取模块,与所述接收数据获取模块相连,用于根据所述数据生成时间提取所述HDFS中的所述接入数据,得到对应预设时间段的对象追溯数据;
对象基本数据获取模块,与所述对象追溯数据获取模块相连,用于根据所述预设时间段筛选所述对象追溯数据,得到对象基本数据。
7.根据权利要求6所述的对象数据分析装置,其特征在于,所述接收数据获取模块具体包括:
接收单元,用于接收所述接入数据;
处理单元,与所述接收单元和所述对象追溯数据获取模块相连,用于对所述接入数据进行格式化处理,并将格式化处理后的接入数据存入所述HDFS。
8.根据权利要求6所述的对象数据分析装置,其特征在于,还包括:
序列化模块,与所述对象基本数据获取模块相连,用于将所述对象追溯数据按序列化结构数据格式Protobuf进行序列化并保存,将所述对象基本数据按所述Protobuf格式进行序列化并保存;
反序列化模块,与所述序列化模块相连,用于将所述序列化的对象追溯数据按所述Protobuf格式进行反序列化后使用,将所述序列化的对象基本数据按所述Protobuf格式进行反序列化后使用。
9.根据权利要求6所述的对象数据分析装置,其特征在于,所述得到对应预设时间段的对象追溯数据包括:将提取的接入数据按照预设的第一数据格式生成对应预设时间段的对象追溯数据;所述得到对象基本数据包括:将筛选后的对象追溯数据按照预设的第二数据格式生成对象基本数据。
10.根据权利要求6-9任一项所述的对象数据分析装置,其特征在于,所述接入数据、所述对象追溯数据及所述对象基本数据包含标识信息;所述对象基本数据获取模块具体用于根据发生时间优先策略合并所述对象追溯数据得到所述对象基本数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611024025.0A CN106557564A (zh) | 2016-11-17 | 2016-11-17 | 一种对象数据分析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611024025.0A CN106557564A (zh) | 2016-11-17 | 2016-11-17 | 一种对象数据分析方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106557564A true CN106557564A (zh) | 2017-04-05 |
Family
ID=58443347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611024025.0A Pending CN106557564A (zh) | 2016-11-17 | 2016-11-17 | 一种对象数据分析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106557564A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107861723A (zh) * | 2017-10-25 | 2018-03-30 | 深圳市华成峰科技有限公司 | 海量数据处理方法及其系统 |
CN110532802A (zh) * | 2019-09-02 | 2019-12-03 | 中国农业银行股份有限公司 | 一种数据处理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103235811A (zh) * | 2013-04-24 | 2013-08-07 | 微梦创科网络科技(中国)有限公司 | 一种数据存储方法及装置 |
CN104199879A (zh) * | 2014-08-21 | 2014-12-10 | 广州华多网络科技有限公司 | 一种数据处理方法和数据处理装置 |
US20150100873A1 (en) * | 2013-10-04 | 2015-04-09 | Orions Digital Systems, Inc. | Tagonomy - a system and method of semantic web tagging |
CN105488201A (zh) * | 2015-12-08 | 2016-04-13 | 北京皮尔布莱尼软件有限公司 | 一种日志查询方法和系统 |
-
2016
- 2016-11-17 CN CN201611024025.0A patent/CN106557564A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103235811A (zh) * | 2013-04-24 | 2013-08-07 | 微梦创科网络科技(中国)有限公司 | 一种数据存储方法及装置 |
US20150100873A1 (en) * | 2013-10-04 | 2015-04-09 | Orions Digital Systems, Inc. | Tagonomy - a system and method of semantic web tagging |
CN104199879A (zh) * | 2014-08-21 | 2014-12-10 | 广州华多网络科技有限公司 | 一种数据处理方法和数据处理装置 |
CN105488201A (zh) * | 2015-12-08 | 2016-04-13 | 北京皮尔布莱尼软件有限公司 | 一种日志查询方法和系统 |
Non-Patent Citations (1)
Title |
---|
中国国防科学技术信息学会: "《情报学 第11卷 2014-2015年度评论》", 30 September 2016 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107861723A (zh) * | 2017-10-25 | 2018-03-30 | 深圳市华成峰科技有限公司 | 海量数据处理方法及其系统 |
CN110532802A (zh) * | 2019-09-02 | 2019-12-03 | 中国农业银行股份有限公司 | 一种数据处理方法及系统 |
CN110532802B (zh) * | 2019-09-02 | 2021-06-22 | 中国农业银行股份有限公司 | 一种数据处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109344223B (zh) | 一种基于云计算技术的建筑信息模型管理系统及方法 | |
Kalmegh | Analysis of weka data mining algorithm reptree, simple cart and randomtree for classification of indian news | |
US9607063B1 (en) | NoSQL relational database (RDB) data movement | |
US20150032708A1 (en) | Database analysis apparatus and method | |
CN113505128B (zh) | 创建数据表的方法、装置、设备及存储介质 | |
CN106598999B (zh) | 一种计算文本主题归属度的方法及装置 | |
US20170235726A1 (en) | Information identification and extraction | |
GB2576654A (en) | Method and apparatus for facilitating creation of simulation model | |
CN103631783B (zh) | 一种前端页面的生成方法及系统 | |
CN109635260B (zh) | 用于生成文章模板的方法、装置、设备和存储介质 | |
CN111240669B (zh) | 界面生成方法、装置、电子设备及计算机存储介质 | |
CN113836038A (zh) | 测试数据构造方法、装置、设备及存储介质 | |
US20190147104A1 (en) | Method and apparatus for constructing artificial intelligence application | |
CN112085087A (zh) | 业务规则生成的方法、装置、计算机设备及存储介质 | |
CN105095436A (zh) | 数据源数据自动建模方法 | |
CN103399848A (zh) | 发动机试验数据标准化特定格式导入处理方法 | |
CN111435367A (zh) | 知识图谱的构建方法、系统、设备及存储介质 | |
CN105354224B (zh) | 知识数据的处理方法和装置 | |
CN106557564A (zh) | 一种对象数据分析方法及装置 | |
CN113591881A (zh) | 基于模型融合的意图识别方法、装置、电子设备及介质 | |
CN107016028B (zh) | 数据处理方法及其设备 | |
CN105426676B (zh) | 一种钻井数据处理方法和系统 | |
CN116307503A (zh) | 一种领域模型流程构建的方法 | |
CN105512270A (zh) | 一种确定相关对象的方法和装置 | |
CN110019252A (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: 20170405 |
|
RJ01 | Rejection of invention patent application after publication |