CN112231413A - 分布式结果一致性的步进算法 - Google Patents
分布式结果一致性的步进算法 Download PDFInfo
- Publication number
- CN112231413A CN112231413A CN202011461678.1A CN202011461678A CN112231413A CN 112231413 A CN112231413 A CN 112231413A CN 202011461678 A CN202011461678 A CN 202011461678A CN 112231413 A CN112231413 A CN 112231413A
- Authority
- CN
- China
- Prior art keywords
- data
- compensation
- compensated
- processed
- determining
- 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
Images
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式结果一致性的步进算法,包括:获取待处理数据的状态信息;基于所述状态信息和步进式补偿约束条件,确定所述待处理数据的补偿信息,其中,所述步进式补偿约束条件是通过数据心跳信息和步进值确定补偿时间的条件;依据所述补偿信息对所述待处理数据进行补偿处理,得到目标数据。本发明根据步进式补偿约束条件使得待补偿的数据分布在合理的补偿区间内,避免了数据处理压力大及资源浪费的问题。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种分布式结果一致性的步进算法。
背景技术
在建设综合性系统中,大部分业务流程都需要跨多微服务的调用来写作完成,并其要求系统确保分布式最终一致性。对于任何状态不清楚或者处理中的订单,作为异步系统,都需要进行补偿处理。
目前通用的补偿处理采用的方式是跑批处理方式,但是,在大数量处理场景下,基础的跑批范围控制已不能满足业务,产生过多的数据积累,导致跑批出现挎批漏批的情况;跑批慢查询会导致处理器、内存消耗过高,数据库服务器压力较大,并且对于长时间不会落地或者永远不会落地数据系统仍然重复处理,会产生极大的资源浪费。
发明内容
针对于上述问题,本发明提供一种分布式结果一致性的步进算法,解决了数据处理压力大及资源浪费的问题。
为了实现上述目的,本发明提供了如下技术方案:
一种分布式结果一致性的步进算法,包括:
获取待处理数据的状态信息;
基于所述状态信息和步进式补偿约束条件,确定所述待处理数据的补偿信息,其中,所述步进式补偿约束条件是通过数据心跳信息和步进值确定补偿时间的条件;
依据所述补偿信息对所述待处理数据进行补偿处理,得到目标数据。
可选地,所述获取待处理数据的状态信息,包括:
检测所述待处理数据是否补偿成功;
如果是,将所述待处理数据的状态更新为补偿成功;
如果否,将所述待处理数据添加到待补偿数据队列。
可选地,所述基于所述状态信息和步进式补偿约束条件,确定所述待处理数据的补偿信息,包括:
获取所述待补偿数据队列中的待补偿数据;
基于数据的心跳时间及心跳间隔,确定下次补偿时间。
可选地,所述补偿信息包括补偿次数,所述算法还包括:
响应于到达下次补偿时间,对所述待补偿数据进行补偿;
若补偿失败,将所述待补偿数据的补偿次数加1,使得到达下次补偿时间时对所述待补偿数据进行补偿。
可选地,所述算法还包括:
根据步进值和步进次数,确定步进函数;
基于所述步进函数、当次补偿时间以及下次补偿时间,确定步进式补偿约束条件。
一种分布式结果一致性的步进装置,包括:
获取单元,用于获取待处理数据的状态信息;
确定单元,用于基于所述状态信息和步进式补偿约束条件,确定所述待处理数据的补偿信息,其中,所述步进式补偿约束条件是通过数据心跳信息和步进值确定补偿时间的条件;
处理单元,用于依据所述补偿信息对所述待处理数据进行补偿处理,得到目标数据。
可选地,所述获取单元包括:
检测子单元,用于检测所述待处理数据是否补偿成功;如果是,将所述待处理数据的状态更新为补偿成功;如果否,将所述待处理数据添加到待补偿数据队列。
可选地,所述确定单元包括:
第一获取子单元,用于获取所述待补偿数据队列中的待补偿数据;
第一确定子单元,用于基于数据的心跳时间及心跳间隔,确定下次补偿时间。
可选地,所述补偿信息包括补偿次数,所述装置还包括:
补偿单元,用于响应于到达下次补偿时间,对所述待补偿数据进行补偿;
次数更新单元,用于若补偿失败,将所述待补偿数据的补偿次数加1,使得到达下次补偿时间时对所述待补偿数据进行补偿。
可选地,所述装置还包括:
函数确定单元,用于根据步进值和步进次数,确定步进函数;
条件确定单元,用于基于所述步进函数、当次补偿时间以及下次补偿时间,确定步进式补偿约束条件。
相较于现有技术,本发明提供了一种分布式结果一致性的步进算法,包括:获取待处理数据的状态信息;基于所述状态信息和步进式补偿约束条件,确定所述待处理数据的补偿信息,其中,所述步进式补偿约束条件是通过数据心跳信息和步进值确定补偿时间的条件;依据所述补偿信息对所述待处理数据进行补偿处理,得到目标数据。本发明根据步进式补偿约束条件使得待补偿的数据分布在合理的补偿区间内,避免了数据处理压力大及资源浪费的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种分布式结果一致性的步进算法的流程示意图;
图2为本发明实施例提供的一种分布式结果一致性的步进装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有设定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在本发明实施例中提供了一种分布式结果一致性的步进算法,该算法是保证分布式结果一致性的步进方法。参见图1,该算法可以包括以下步骤:
S101、获取待处理数据的状态信息。
其中,所述获取待处理数据的状态信息,包括:检测所述待处理数据是否补偿成功;如果是,将所述待处理数据的状态更新为补偿成功;如果否,将所述待处理数据添加到待补偿数据队列。其中,获取待处理数据的状态信息是判断数据是否需要补偿。
S102、基于所述状态信息和步进式补偿约束条件,确定所述待处理数据的补偿信息。
其中,所述步进式补偿约束条件是通过数据心跳信息和步进值确定补偿时间的条件。具体的,获取所述待补偿数据队列中的待补偿数据;基于数据的心跳时间及心跳间隔,确定下次补偿时间。
当所述补偿信息包括补偿次数,所述算法还包括:
响应于到达下次补偿时间,对所述待补偿数据进行补偿;
若补偿失败,将所述待补偿数据的补偿次数加1,使得到达下次补偿时间时对所述待补偿数据进行补偿。
S103、依据所述补偿信息对所述待处理数据进行补偿处理,得到目标数据。
在本发明实施例中还可以根据步进值和步进次数,确定步进函数;基于所述步进函数、当次补偿时间以及下次补偿时间,确定步进式补偿约束条件。
针对具体的应用场景中,待处理数据可以是订单数据。对于实际业务,在较近的一段时间内,如果订单没落地,那么可能很长时间也不会落地,或永远不会落地。 在被补偿状态的初始化时,同时给定该订单一个下次补偿查询时间和查询次数。补偿任务中,仅处理较小一段范围。
在本发明实施例中,采用步进试算法,设计合理的算法,既可以有效控制单个批次的数据量,又不影响跑批分布式结果响应的时效性。对于累积的订单,通过算法分布在不同区间段处理,批处理数据性能显著提升,可以有效解决在心跳内跑批跨批漏批的情况。由于数据量可控,在步进式算法的基础上,将复杂的SQL按照一定的逻辑逐步分解成简单的SQL,借助临时表,最后执行一个等价的逻辑已达到高效执行。借助合理的步进试算法,订单落地很快,补偿批查询到数据也会很快落地。而如果订单一直未名或者长时间不落地,被批处理间隔相应的变长,补偿批更加智能且趋于业务特性,避免了订单重复无效查询。
在本发明实施例中步进式补偿查询是根据业务场景,处理批量任务时使用算法计算下次处理时间,只处理在规定心跳时间内的数据,减少查询次数,从而降低系统负载。
举例说明,在本发明实施例中,步进式补偿约束公式:
订单.下次补偿时间 >= 定时任务心跳系统时间 - N次心跳间隔。
其中,跑批任务会制定时间或频率自行运行心跳系统时间表实际任务开始触发的系统时间。
如果满足以上条件即为本次处理范围,进行业务处理:
假设业务补偿成功,此订单无需继续补偿,则进行订单处理(如修改状态)后,不更新下次补偿时间,不累计补偿次数(虽然清零也可以,但是并不是最优的选择)。
假设业务补偿失败,此订单仍需继续补偿,则修改下次补偿时间,补偿次数+1
下次补偿时间计算公式: T1 = T0 + S + fn(p , t)
在以上公式中:
T1:下次补偿时间;
T0:当次补偿时间,或系统时间;
S :基础偏移量(一般为固定值);
p :步进值;
t :步进次数;
fn:步进算法。
举例说明,假设基础偏移量 = 10分钟(销售下单后,给用户留出10分钟操作时间,10分钟之后开始补偿);步进值 = 5分钟;步进算法为一次函数即步进值*步进次数。
订单A发起时间为 00:00:00.000 落单时入库第一次补偿时间 为 00:00:00.000+ 10分钟 + (5分钟 * 0) = 00:10:00.000。
补偿跑批可以5分钟一跳 启动时间为3分,即 3分,8分,13分,18分......进行心跳,即约束公式中的N = 2。
对应的时间轴为:
00:03:00.000 心跳 约束范围 00:00:00.000 - 00:03:00.000 订单A 不进行补偿(简单期间不考虑跨日);
00:08:00.000 心跳 约束范围 00:00:00.000 - 00:08:00.000 订单A 不进行补偿(简单期间不考虑跨日);
00:13:00.000 心跳 约束范围 00:03:00.000 - 00:13:00.000 订单A 进行第一次补偿。
此时,如果未补偿成功,订单A需要更新下次补偿时间及补偿次数。订单A 的下次时间 = 00:10:00.000 + 10分钟 +(5分钟 * 1) = 00:25:00.000 ,补偿次数 = 0 + 1 =1。即:
00:18:00.000 心跳 约束范围 00:08:00.000 - 00:18:00.000 订单A不进行补偿;
00:23:00.000 心跳 约束范围 00:13:00.000 - 00:23:00.000 订单A不进行补偿;
00:28:00.000 心跳 约束范围 00:18:00.000 - 00:28:00.000 订单A进行第二次补偿。
此时,如果未补偿成功订单A需要更新下次补偿时间及补偿次数。
订单A → 下次时间 = 00:25:00.000 + 10分钟 + (5分钟 * 2) = 00:45:00.000 补偿次数 = 1 + 1 = 2,即:
00:33:00.000 心跳约束范围 00:23:00.000 - 00:33:00.000 订单A不进行补偿;
00:38:00.000 心跳约束范围 00:28:00.000 - 00:38:00.000 订单A不进行补偿;
00:43:00.000 心跳约束范围 00:33:00.000 - 00:43:00.000 订单A不进行补偿;
00:48:00.000 心跳约束范围 00:38:00.000 - 00:48:00.000 订单A进行第三次补偿。
通过观察,订单A中,在上述中8个心跳中(没算前两个),只被处理三次,而使用无脑补偿需要处理8次。而且补偿次数越多,补偿建个越长,跳过的批次越多。这样就完成了减少查询次数,从而降低系统负载。
在本发明实施例中,通过定时跑批,仅处理较小一段范围(大于1个心跳间隔)这个原因是由于批处理心跳不稳定,有可能发生延迟。或者漏跳,因此,一般会扩大范围到2-3个心跳。果心跳间隔较长,也可以扩大一定时间。由于下次补偿时间间隔会随次数不断加长,如发生时间过长,但有时由于线下处理后,运营要求尽快处理线上差异此时,原则上不进行手工更改状态,因为这样很容易产生状态不一致一般是靠运管功能,人工调整下次跑批时间,从而尽快触发心跳补偿来进行的。上面的例子,只是使用了一个简单的一次函数进行计算,可以根据实际业务特点对fn进行优化。实际业务中可以根据业务数据前期调研,针对性的涉及一个合理的算法。
在本发明实施例中还提供了一种分布式结果一致性的步进装置,参见图2,包括:
获取单元10,用于获取待处理数据的状态信息;
确定单元20,用于基于所述状态信息和步进式补偿约束条件,确定所述待处理数据的补偿信息,其中,所述步进式补偿约束条件是通过数据心跳信息和步进值确定补偿时间的条件;
处理单元30,用于依据所述补偿信息对所述待处理数据进行补偿处理,得到目标数据。
可选地,所述获取单元包括:
检测子单元,用于检测所述待处理数据是否补偿成功;如果是,将所述待处理数据的状态更新为补偿成功;如果否,将所述待处理数据添加到待补偿数据队列。
可选地,所述确定单元包括:
第一获取子单元,用于获取所述待补偿数据队列中的待补偿数据;
第一确定子单元,用于基于数据的心跳时间及心跳间隔,确定下次补偿时间。
可选地,所述补偿信息包括补偿次数,所述装置还包括:
补偿单元,用于响应于到达下次补偿时间,对所述待补偿数据进行补偿;
次数更新单元,用于若补偿失败,将所述待补偿数据的补偿次数加1,使得到达下次补偿时间时对所述待补偿数据进行补偿。
可选地,所述装置还包括:
函数确定单元,用于根据步进值和步进次数,确定步进函数;
条件确定单元,用于基于所述步进函数、当次补偿时间以及下次补偿时间,确定步进式补偿约束条件。
本发明提供了一种分布式结果一致性的步进装置,获取单元获取待处理数据的状态信息;确定单元基于所述状态信息和步进式补偿约束条件,确定所述待处理数据的补偿信息,其中,所述步进式补偿约束条件是通过数据心跳信息和步进值确定补偿时间的条件;处理单元依据所述补偿信息对所述待处理数据进行补偿处理,得到目标数据。本发明根据步进式补偿约束条件使得待补偿的数据分布在合理的补偿区间内,避免了数据处理压力大及资源浪费的问题。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种分布式结果一致性的步进算法,其特征在于,包括:
获取待处理数据的状态信息;
基于所述状态信息和步进式补偿约束条件,确定所述待处理数据的补偿信息,其中,所述步进式补偿约束条件是通过数据心跳信息和步进值确定补偿时间的条件;
依据所述补偿信息对所述待处理数据进行补偿处理,得到目标数据。
2.根据权利要求1所述的算法,其特征在于,所述获取待处理数据的状态信息,包括:
检测所述待处理数据是否补偿成功;
如果是,将所述待处理数据的状态更新为补偿成功;
如果否,将所述待处理数据添加到待补偿数据队列。
3.根据权利要求2所述的算法,其特征在于,所述基于所述状态信息和步进式补偿约束条件,确定所述待处理数据的补偿信息,包括:
获取所述待补偿数据队列中的待补偿数据;
基于数据的心跳时间及心跳间隔,确定下次补偿时间。
4.根据权利要求3所述的算法,其特征在于,所述补偿信息包括补偿次数,所述算法还包括:
响应于到达下次补偿时间,对所述待补偿数据进行补偿;
若补偿失败,将所述待补偿数据的补偿次数加1,使得到达下次补偿时间时对所述待补偿数据进行补偿。
5.根据权利要求3所述的算法,其特征在于,所述算法还包括:
根据步进值和步进次数,确定步进函数;
基于所述步进函数、当次补偿时间以及下次补偿时间,确定步进式补偿约束条件。
6.一种分布式结果一致性的步进装置,其特征在于,包括:
获取单元,用于获取待处理数据的状态信息;
确定单元,用于基于所述状态信息和步进式补偿约束条件,确定所述待处理数据的补偿信息,其中,所述步进式补偿约束条件是通过数据心跳信息和步进值确定补偿时间的条件;
处理单元,用于依据所述补偿信息对所述待处理数据进行补偿处理,得到目标数据。
7.根据权利要求6所述的装置,其特征在于,所述获取单元包括:
检测子单元,用于检测所述待处理数据是否补偿成功;如果是,将所述待处理数据的状态更新为补偿成功;如果否,将所述待处理数据添加到待补偿数据队列。
8.根据权利要求7所述的装置,其特征在于,所述确定单元包括:
第一获取子单元,用于获取所述待补偿数据队列中的待补偿数据;
第一确定子单元,用于基于数据的心跳时间及心跳间隔,确定下次补偿时间。
9.根据权利要求8所述的装置,其特征在于,所述补偿信息包括补偿次数,所述装置还包括:
补偿单元,用于响应于到达下次补偿时间,对所述待补偿数据进行补偿;
次数更新单元,用于若补偿失败,将所述待补偿数据的补偿次数加1,使得到达下次补偿时间时对所述待补偿数据进行补偿。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
函数确定单元,用于根据步进值和步进次数,确定步进函数;
条件确定单元,用于基于所述步进函数、当次补偿时间以及下次补偿时间,确定步进式补偿约束条件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011461678.1A CN112231413A (zh) | 2020-12-14 | 2020-12-14 | 分布式结果一致性的步进算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011461678.1A CN112231413A (zh) | 2020-12-14 | 2020-12-14 | 分布式结果一致性的步进算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112231413A true CN112231413A (zh) | 2021-01-15 |
Family
ID=74124097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011461678.1A Pending CN112231413A (zh) | 2020-12-14 | 2020-12-14 | 分布式结果一致性的步进算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112231413A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107786383A (zh) * | 2016-08-30 | 2018-03-09 | 北京国双科技有限公司 | 心跳数据包的发送方法及装置 |
CN110768873A (zh) * | 2019-10-31 | 2020-02-07 | 广州酷旅旅行社有限公司 | 分布式心跳检测方法、系统、装置和计算机设备 |
CN111367628A (zh) * | 2020-03-05 | 2020-07-03 | 中国银行股份有限公司 | 分布式事务的处理方法、装置及消息生产方、消费方系统 |
CN111753013A (zh) * | 2020-06-24 | 2020-10-09 | 中国银行股份有限公司 | 分布式事务处理方法及装置 |
-
2020
- 2020-12-14 CN CN202011461678.1A patent/CN112231413A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107786383A (zh) * | 2016-08-30 | 2018-03-09 | 北京国双科技有限公司 | 心跳数据包的发送方法及装置 |
CN110768873A (zh) * | 2019-10-31 | 2020-02-07 | 广州酷旅旅行社有限公司 | 分布式心跳检测方法、系统、装置和计算机设备 |
CN111367628A (zh) * | 2020-03-05 | 2020-07-03 | 中国银行股份有限公司 | 分布式事务的处理方法、装置及消息生产方、消费方系统 |
CN111753013A (zh) * | 2020-06-24 | 2020-10-09 | 中国银行股份有限公司 | 分布式事务处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7711720B2 (en) | Application server, cache program, and application server system | |
CN103517405B (zh) | 一种网络定位的方法及系统、移动终端和网络侧设备 | |
JP4123914B2 (ja) | プログラムの動作状態の監視方法及び監視プログラム | |
CN110502545B (zh) | 数据存储方法、装置、设备及计算机可读存储介质 | |
CN112445690A (zh) | 信息获取方法、装置及电子设备 | |
CN115269147A (zh) | 一种批量任务处理方法、装置、设备及存储介质 | |
CN106874332B (zh) | 数据库访问方法和装置 | |
CN112231413A (zh) | 分布式结果一致性的步进算法 | |
CN117056428A (zh) | 一种分区表的自动扩展方法、装置、服务器 | |
CN107094160B (zh) | 一种数据文件下载的方法和系统 | |
JP2022550380A (ja) | 日付切替データオフロード方法、装置、設備及び媒体 | |
CN114217838B (zh) | 一种智能穿戴的表盘更新方法及系统 | |
CN112417054B (zh) | 分布式数据存储方法、数据查询方法、设备和存储介质 | |
CN100373379C (zh) | 一种设备性能统计数据的采集及处理方法 | |
US20180011895A1 (en) | Isolation level support in distributed database system | |
CN111061554B (zh) | 一种智能任务调度方法、装置、计算机设备及存储介质 | |
CN114470793A (zh) | 游戏区服排名同步的方法及服务端 | |
CN107229699B (zh) | 提升移动端用户搜索体验的系统及方法 | |
CN113297322A (zh) | 数据同步方法、系统以及装置 | |
CN116756135B (zh) | 一种数据清理方法、装置、设备及介质 | |
CN110309164B (zh) | 信息更新方法、装置、设备与计算机可读存储介质 | |
CN113011507B (zh) | 建立同步时间预测模型的方法、数据同步方法及对应装置 | |
JP3260587B2 (ja) | 時系列データ管理方式 | |
US20170039251A1 (en) | Handling data requests | |
CN117472967B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210115 |