CN112422635B - 数据核对方法、装置、设备、***及存储介质 - Google Patents
数据核对方法、装置、设备、***及存储介质 Download PDFInfo
- Publication number
- CN112422635B CN112422635B CN202011167710.5A CN202011167710A CN112422635B CN 112422635 B CN112422635 B CN 112422635B CN 202011167710 A CN202011167710 A CN 202011167710A CN 112422635 B CN112422635 B CN 112422635B
- Authority
- CN
- China
- Prior art keywords
- data
- data stream
- stream
- collation
- write operation
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种数据核对方法、装置、设备、***及存储介质,涉及数据处理领域。该方法包括:在各***数据池发生写操作的情况下,生成包括与写操作关联的数据的数据流并传输,数据流包括数据的主键值;基于数据流的字段以及预设的区域划分规则,将数据流划分为至少一个数据区域,每个数据区域包括至少两个***数据池对应的数据流;在每个数据区域中,根据数据流对应的主键值,核对数据区域中的至少两个***数据池对应的数据流,以确定数据区域中的至少两个***数据池的数据是否一致。根据本申请实施例能够及时发现跨***的数据不平问题。
Description
技术领域
本申请属于数据处理领域,尤其涉及一种数据核对方法、装置、设备、***及存储介质。
背景技术
随着业务复杂程度的增加,一项业务会涉及多个***。对应地,在多个***之间,需要跨***核对业务数据,以发现跨***间的业务数据的不一致,便于对各***采取措施,保证各***的平稳运行。
现阶段,可从参与数据核对的两个***中分别获取业务数据。例如,从***A和***B中分别获取已经结束的1天内的业务数据,逐条对比***A和***B中的业务数据是否一致,即是否存在跨***的数据不平问题。但该种数据核对方法无法及时发现跨***的数据不平问题。
发明内容
本申请实施例提供一种数据核对方法、装置、设备、***及存储介质,能够及时发现跨***的数据不平问题。
第一方面,本申请实施例提供一种数据核对方法,包括:在各***数据池发生写操作的情况下,生成包括与写操作关联的数据的数据流并传输,数据流包括数据的主键值;基于数据流的字段以及预设的区域划分规则,将数据流划分为至少一个数据区域,每个数据区域包括至少两个***数据池对应的数据流;在每个数据区域中,根据数据流对应的主键值,核对数据区域中的至少两个***数据池对应的数据流,以确定数据区域中的至少两个***数据池的数据是否一致。
第二方面,本申请实施例提供一种数据核对装置,包括:数据流生成模块,用于在各***数据池发生写操作的情况下,生成包括与写操作关联的数据的数据流并传输,数据流包括数据的主键值;区域划分模块,用于基于数据流的字段以及预设的区域划分规则,将数据流划分为至少一个数据区域,每个数据区域包括至少两个***数据池对应的数据流;核对模块,用于在每个数据区域中,根据数据流对应的主键值,核对数据区域中的至少两个***数据池对应的数据流,以确定数据区域中的至少两个***数据池的数据是否一致。
第三方面,本申请实施例提供一种数据核对设备,包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现第一方面的数据核对方法。
第四方面,本申请实施例提供一种数据核对***,包括:数据流装置,用于在各***数据池发生写操作的情况下,生成包括与写操作关联的数据的数据流并传输,数据流包括数据的主键值;分流装置,用于基于数据流的字段以及预设的区域划分规则,将数据流划分为至少一个数据区域,每个数据区域包括至少两个***数据池对应的数据流;核对装置,用于在每个数据区域中,根据数据流对应的主键值,核对数据区域中的至少两个***数据池对应的数据流,以确定数据区域中的至少两个***数据池的数据是否一致。
第五方面,本申请实施例提供一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面的数据核对方法。
本申请实施例提供一种数据核对方法、装置、设备、***及存储介质,在各***数据池发生写操作的情况下,生成包括与写操作关联的数据的数据流。将数据流划分为至少一个数据区域,每个数据区域包括至少两个***数据池对应的数据流。在数据区域中核对至少两个***数据池对应的数据流,从而确定至少两个***数据池的数据是否一致。不需要设置获取数据的时间段,通过写操作触发生成数据流,从而进行数据流的划分及核对。写操作不受时间长度的限制,能够在数据发生变化的情况下,实时进行数据的核对,从而能够及时发现跨***的数据不平问题。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请第一方面提供的数据核对方法的一实施例的流程图;
图2为本申请第一方面提供的数据核对方法的另一实施例的流程图
图3为本申请第一方面提供的数据核对方法的又一实施例的流程图;
图4为本申请实施例中一数据区域的核对窗口的一示例的示意图
图5为本申请第一方面提供的数据核对方法的再一实施例的流程图;
图6为本申请第二方面提供的数据核对装置的一实施例的结构示意图;
图7为本申请第二方面提供的数据核对装置的另一实施例的结构示意图;
图8为本申请第二方面提供的数据核对装置的又一实施例的结构示意图;
图9为本申请第二方面提供的数据核对装置的再一实施例的结构示意图;
图10为本申请第三方面提供的数据核对设备的一实施例的结构示意图;
图11为本申请第四方面提供的数据核对***的一实施例的结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
随着业务复杂程度的增加,一项业务可能会涉及到多个***,例如,一项业务由多个***协作完成。为了保证业务正常执行,该业务涉及到的***均会存储该业务的数据,并在多个***之间进行数据的核对,以便能够发现多个***之间数据不一致的情况,即发现跨***间的数据不平问题,从而能够采取措施,为各***的平稳运行提供保障。
跨***需要核对的数据的量非常庞大,由于多个***的时钟可能会存在差异,为了避免遗漏核对的数据,一般会获取一个较长的时间段内的业务的数据,如获取已经结束的一天内的多个***各自的业务的数据,将不同***的业务的数据一一核对,以确定跨***间是否存在数据不平问题,但在这种情况下,如果存在数据不平问题,数据不平问题只能延后发现,而不能及时发现。
本申请提供了一种数据核对方法、装置、设备、***及存储介质,能够在发生写操作的情况下,以数据流(即Stream Data)的方式传输数据,并利用数据流的数据的主键值,对不同***的数据进行核对,从而及时发现跨***间的数据不平问题。
在此并不限定业务和数据的具体领域,例如,在交易领域中,业务具体可为交易业务,业务的数据具体可为交易流水数据;对数据的核对即为对相同的交易业务的交易流水数据的核对,可通过数据核对实现交易明细的勾对。但本申请实施例的应用场景并不限于交易场景,其他需要进行数据核对的应用场景也在本申请实施例的保护范围内。
本申请第一方面提供一种数据核对方法,该数据核对方法可由数据核对装置、数据核对设备或数据核对***执行,即数据核对方法可由单个装置或设备实现,也可由包括多个装置或设备的***实现,在此并不限定。
图1为本申请第一方面提供的数据核对方法的一实施例的流程图。如图1所示,该数据核对方法可包括步骤S101至步骤S103。
在步骤S101中,在各***数据池发生写操作的情况下,生成包括与写操作关联的数据的数据流并传输。
***数据池用于存放***的数据,具体可用于存放***中业务的数据。例如,在交易领域中,***数据池可用于存放该***的交易业务的流水数据。***数据池可设置于***内,也可独立于***以数据库的形式存在,在此并不限定。参与数据核对的***可以有多个,每个***可对应一个***数据池,即参与数据核对的***数据池可以有多个。
写操作为可能引发***数据池中数据的变化的操作,例如,写操作可包括但不限于***操作如insert操作、更新操作如update操作、删除操作如delete操作和drop操作、创建操作如create操作、修改操作如alter操作等,在此并不限定。
与写操作关联的数据包括写操作起作用的数据。数据流为在时间分布和数量上并不限定的一系列的动态数据的集合体。在本申请实施例中,利用数据流来承载数据。数据流包括数据的主键值。数据的主键值的内容可根据数据的类型设定,在此并不限定。例如,数据包括交易流水数据,数据的主键值具体可包括交易流水号。
在数据核对方法由数据核对装置或数据核对设备执行的情况下,数据流可在数据核对装置或数据核对设备内部进行传输。在数据核对方法由包括多个装置或设备的数据核对***执行的情况下,数据流可在数据核对***中的装置或设备之间传输。
在步骤S102中,基于数据流的字段以及预设的区域划分规则,将数据流划分为至少一个数据区域。
数据流的字段可根据数据的内容、类型等设定。例如,数据流的字段可包括***标识字段、主键值字段、业务状态字段等,在此并不限定。***标识字段用于表征***数据池对应的***的标识。主键值字段用于表征数据的主键值。业务状态字段用于表征数据对应的业务的状态。
可根据数据核对的目的,通过区域划分规则,将各***数据池对应的数据流划分为多组,即划分为至少一个数据区域。每个数据区域包括至少两个***数据池对应的数据流。在每个数据区域中可对数据流包含的数据进行核对。各数据区域可对应有数据流的入口,通过设置区域划分规则,实现数据流的划分。
区域划分规则可根据工作场景和工作需求设定,在此并不限定。数据区域可视为数据流分组后形成的数据流集合。同一数据区域的数据流的字段满足相同的区域划分规则。在一些示例中,***之间两两进行数据核对,即***数据池之间两两进行数据核对,对应地,每个数据区域可包括两个***数据池对应的数据流。
例如,一笔业务涉及三个***,三个***分别为***A1、***A2和***A3,***A1的数据存储于***数据池B1,***A2的数据存储于***数据池B2,***A3的数据存储于***数据池B3。在同一笔业务的数据发生变化的情况下,正常情况下,***数据池B1、***数据池B2和***数据池B3中这一笔业务的数据均应发生变化;但也有可能出现其中一个或两个***数据池中这一笔业务的数据未发生变化的情况,在此并不限定。数据流的字段可体现***标识、数据的主键值、业务状态等,可通过区域划分规则,将***数据池B1对应的数据流和***数据池B2对应的数据流划分为数据区域C1,将***数据池B2对应的数据流和***数据池B3对应的数据流划分为数据区域C2。在数据区域C1中可进行***数据池B1对应的数据流和***数据池B2对应的数据流的数据核对,在数据区域C2中可进行***数据池B2对应的数据流和***数据池B3对应的数据流的数据核对。
一个***数据池对应的一笔业务的数据流可划分至多个数据区域,也可划分至一个数据区域,在此并不限定。例如,区域划分规则可限定数据流的字段D3的值为0001、0002、0003中的一项的情况下,数据流通过入口2008划分为数据区域C3。区域划分规则可限定数据流的字段D3的值为0003、0004中的一项的情况下,数据流通过入口2009划分为数据区域C4。字段D3的值为0003的数据流会划分为数据区域C3和数据区域C4;字段D3的值为0001的数据流会划分为数据区域C3。数据区域C3的数据流的字段D3的值满足数据流的字段D3的值为0001、0002、0003中的一项这一区域划分规则。数据区域C4的数据流的字段D3的值满足数据流的字段D3的值为0003、0004中的一项这一区域划分规则。
在步骤S103中,在每个数据区域中,根据数据流对应的主键值,核对数据区域中的至少两个***数据池对应的数据流,以确定数据区域中的至少两个***数据池的数据是否一致。
具体地,在每个数据区域中,核对该数据区域中主键值相同的至少两个***数据池对应的数据流。在数据区域中存在主键值为某一值的一个***数据池对应的数据流,但并不存在主键值为该某一值的另一个***数据池对应的数据流,可确定数据区域中至少两个***数据池的数据不一致,即确定发生了跨***的数据不平问题。在数据区域中,核对主键值相同的至少两个***数据池对应的数据流的数据,若数据主键值相同的至少两个***数据池对应的数据流的数据相同,可确定数据区域中至少两个***数据池的数据一致,即确定未发生跨***的数据不平问题;若数据主键值相同的至少两个***数据池对应的数据流的数据不同,可确定数据区域中至少两个***数据池的数据不一致,即确定发生了跨***的数据不平问题。
在一些示例中,多个数据区域中数据流的核对并行执行。例如,经过划分后,具有3个数据区域,分别为数据区域C1、数据区域C2和数据区域C3。数据区域C1中的数据流的核对、数据区域C2中的数据流的核对和数据区域C3中的数据流的核对可并行执行。多个数据区域中数据流的核对并行执行,可加快数据核对速度,提高数据核对效率。不同的数据区域中数据流的核对可由不同的装置、设备或模块进行,在此并不限定。可根据具体需求,增加或减少数据区域,提高了数据核对的灵活性和可扩展性。
在一些示例中,各数据区域中数据流的核对可在内存中进行,以进一步提高数据核对速度,提高数据核对效率,减少数据核对占用资源。
在本申请实施例中,在各***数据池发生写操作的情况下,生成包括与写操作关联的数据的数据流。将数据流划分为至少一个数据区域,每个数据区域包括至少两个***数据池对应的数据流。在数据区域中核对至少两个***数据池对应的数据流,从而确定至少两个***数据池的数据是否一致。不需要设置获取数据的时间段,通过写操作触发生成数据流,从而进行数据流的划分及核对。写操作不受时间长度的限制,能够在数据发生变化的情况下,实时进行数据的核对,从而能够及时发现跨***的数据不平问题。与现阶段需要一天时间或更长时间发现跨***的数据不平问题的方法相比,本申请实施例提供的数据核对方法可将发现跨***的数据不平问题所需的时间缩短到1分钟甚至更短。
在数据的量较大的情况下,由于通过写操作触发生成数据流,实时进行数据的核对,与采用累积大量数据再进行核对的方式相比,能够满足更高的数据核对的性能要求。
图2为本申请第一方面提供的数据核对方法的另一实施例的流程图。图2与图1的不同之处在于,图1中的步骤S101可细化为图2中的步骤S1011至步骤S1013,图2所示的数据核对方法还可包括步骤S104。
在步骤S1011中,读取各***数据池的二进制日志,根据二进制日志,确定各***数据池的写操作。
二进制日志即BINLOG文件,用于记录数据库表结构的变更以及表数据的修改。例如,二进制日志会记载数据库表结构的变更以及表数据的修改的操作语句。根据二进制日志的内容,可确定***数据池发生的写操作。
在步骤S1012中,基于写操作,生成数据流报文。
数据流报文用于承载数据流,在此并不限定数据流报文的具体格式。在一些示例中,数据流报文具体可为JSON报文。利用数据流报文承载数据流,便于传输数据流。例如,一条承载数据流的JSON报文的输出格式如下:
其中,sysId可表征***标识,seqNo和traceId可表征数据在不同阶段的主键值,bussTp可表征交易类型,seqSt可表征数据对应的业务状态。
由于同一笔业务对应的数据可能会发生变化,为了使数据流能够体现数据的变化情况,在一些示例中,数据流报文可包括主键值相同的本次写操作关联的数据和上次写操作关联的数据。主键值相同的数据即为同一笔业务对应的数据。通过数据流报文中本次写操作关联的数据和上次写操作关联的数据,能够体现数据的变化情况,确保在后续过程中可判断前后数据的关联性,以及根据数据的变化情况,确定是否需要对该数据进行核对。例如,如上述承载数据流的JSON报文的输出格式中,利用__before作为上次写操作关联的数据和本次写操作关联的数据的节点标注。
在步骤S1013中,通过数据流式组件传输数据流报文。
可通过数据流式组件将数据流报文逐条传输。数据流式组件可包括Kafka等组件,在此并不限定。
在一些示例中,在执行步骤S102之前,还可将数据流报文转换为更加便于进行数据核对的格式,例如,将数据流报文转换为Map映射格式,利用转换为Map映射格式的数据参与后续步骤的执行,便于通过配置实现数据核对。
在步骤S104中,在一个***数据池对应有主键值相同的多个数据流的情况下,保留其中字段符合预设的筛选条件的一个数据流。
在基于***数据池获得的数据流中,一笔业务可能会对应出现多个数据流,需要对一笔业务对应的多个数据流进行筛选,使这一笔业务对应的一个数据流参与数据核对,避免造成数据核对混乱。数据流对应的主键值相同,表示数据流对应的业务为同一笔业务。具体地,可利用数据流各字段的意义以及数据核对的要求设置筛选条件,通过筛选条件在主键值相同的多个数据流中,筛选保留其中的一个数据流。保留的字段符合筛选条件的一个数据流可参与后续的数据核对流程。
在一些示例中,数据流包括业务状态字段。业务状态字段用于表征数据流的数据对应的业务的状态。上述筛选条件可包括业务状态字段包括预设值集合中的目标值,且数据流的业务状态字段与上一次写操作对应的数据流的业务状态字段不同。预设值集合包括至少一个目标值。预设值集合可根据工作场景和工作需求设定,在此并不限定。
例如,业务状态状态字段的值为01,表示数据流的数据暂时不需核对;业务状态状态字段的值为00,表示数据流的数据暂时需要核对。预设值集合包括目标值00。在数据流L1的业务状态字段包括目标值00,且上一次写操作对应的数据流的业务状态字段为01的情况下,该数据流L1被保留。在数据流L1的业务状态字段包括目标值00,但上一次写操作对应的数据流的业务状态字段为00的情况下,该数据流L2被舍弃。
筛选条件并不限于上述内容,能够实现对主键值相同的多个数据流的筛选的筛选条件均在本申请实施例的保护范围内,在此不一一举例说明。
图3为本申请第一方面提供的数据核对方法的又一实施例的流程图。图3与图1的不同之处在于,图1中的步骤S103可具体细化为图3中的步骤S1031和步骤S1032。
在步骤S1031中,在每个数据区域中,根据数据流对应的主键值,将数据流划分至核对窗口内。
其中,不同的核对窗口内的数据流的主键值不同,即主键值相同的数据流不会划分到不同的核对窗口,主键值相同的数据流划分至同一核对窗口。将数据流划分至核对窗口,可实现对数据流的散列。在一些示例中,某个数据区域的某个核对窗口内包括该数据区域对应的各***数据池对应的主键值相同的数据流。例如,数据区域C1中包括***数据池B1对应的数据流和***数据池B2对应的数据流,数据区域C1中的一个核对窗口可包括主键值相同的***数据池B1对应的一个数据流和***数据池B2对应的一个数据流,即数据区域C1中每个核对窗口中进行一对主键值相同的***数据池B1和***数据池B2的数据流的核对。
在步骤S1032中,核对核对窗口内的数据流。
具体地,核对核对窗口内的数据流所承载的数据是否一致。核对窗口的粒度要小于数据区域的粒度,在一些情况下,在核对窗口内存在数据流的时长超过预设触发时长的情况下,触发核对核对窗口内的数据流。在另一些情况下,在核对窗口内的数据流的数量达到预设触发数量的情况下,触发核对核对窗口内的数据流。由于本申请实施例中的数据流是通过写操作触发生成,不受时间长度的限制,因此核对窗口的粒度从时间上或从数据流数量上可以划分得非常细,从而加快数据核对速度,提高数据核对效率。而且,由于数据流的匹配已经在将数据流划分至核对窗口的过程中完成,核对窗口内的数据流的核对不需要进行匹配,可标准化、插件化实现,提高了数据核对开发设计的灵活性,核对窗口的增加和减少也相对灵活,便于扩展。
在一些示例中,在已存在的核对窗口内的数据流的主键值与未划分的数据流对应的主键值不同的情况下,生成新的核对窗口,将未划分的数据流划分至新的核对窗口内。在未划分的数据流划分至新的核对窗口内的时长超过预设触发时长的情况下,触发核对新的核对窗口内的数据流。
在未划分的数据流划分至新的核对窗口内的时长超过预设触发时长,且该数据区域内没有能够与划分至新的核对窗口内的数据流进行核对的数据流的情况下,可能发生了数据不平问题。预设触发时长可根据工作场景和工作需求设定,在此并不限定。预设触发时长的设定可通过计时器实现,例如,计时器计时时长达到预设触发时长,则触发该新的核对窗口内的数据流的核对。
例如,图4为本申请实施例中一数据区域的核对窗口的一示例的示意图。如图4所示,数据区域C1已存在的核对窗口包括核对窗口D1、核对窗口D2和核对窗口D3。核对窗口D1中数据流对应的主键值为000792,核对窗口D2中数据流对应的主键值为000982,核对窗口D3中数据流对应的主键值为000991。若数据区域C1中的数据流E1还未划分至核对窗口内,且数据流E1对应的主键值为000993,数据区域C1已存在的核对窗口内的数据流的主键值与数据流E1对应的主键值均不同,因此,需要为数据流E1生成新的核对窗口D4,并将数据流E1划分至核对窗口D4。设预设触发时长为3分钟,对应地,在数据流E1划分至核对窗口D4起3分钟后,触发该核对窗口D4中的数据流的核对。
在另一些示例中,在已存在的核对窗口内的数据流的主键值与未划分的数据流对应的主键值相同的情况下,将未划分的数据流划分至已存在的核对窗口内。在已存在的核对窗口内的数据流的数量达到预设触发数量的情况下,触发核对已存在的核对窗口内的数据流。在已存在的核对窗口内的数据流的数量未达到预设触发数量的情况下,继续等待。
预设触发数量可根据工作场景和工作需求设定,在此并不限定。
例如,如图4所示,数据区域C1已存在的核对窗口包括核对窗口D1、核对窗口D2和核对窗口D3。核对窗口D1中数据流对应的主键值为000792,核对窗口D2中数据流对应的主键值为000982,核对窗口D3中数据流对应的主键值为000991。若数据区域C1中的数据流E2还未划分至核对窗口内,且数据流E2对应的主键值为000991,将数据流E2划分至核对窗口D3内。设预设触发数量为2,对应地,在核对窗口D3内的数据流的数量达到2的情况下,触发该核对窗口内的数据流的核对。
上述实施例中的数据流的核对,具体可核对数据流承载的数据的字段的值、核对窗口内数据流的数量等,在此并不限定。
图5为本申请第一方面提供的数据核对方法的再一实施例的流程图。图5与图1的不同之处在于,图5所示的数据核对方法还可包括步骤S105或步骤S106。
在步骤S105中,在确定数据区域中的至少两个***数据池的数据一致的情况下,增大数据核对成功指标的值。
数据区域中至少两个***数据池的数据一致,即未发生跨***的数据不平问题,可增大数据核对成功指标的值。数据核对成功指标用于表征数据核对的成功率,数据核对成功指标的值越大,表示数据核对的成功率越高。数据核对成功指标可为跨***数据不平、告警、风险预判等提供依据,扩大数据核对的应用范畴。
在步骤S106中,在确定数据区域中的至少两个***数据池的数据不一致的情况下,输出数据区域中的至少两个***数据池中不一致的数据。
数据区域中的至少两个***数据池的数据不一致,即发生了跨***的数据不平问题,数据区域中的至少两个***数据池中不一致的数据即为引发跨***的数据不平问题的数据。数据区域中的至少两个***数据池中不一致的数据可为跨***数据不平、告警、风险预判等提供依据,扩大数据核对的应用范畴。
需要说明的是,上述实施例中的数据核对方法在由数据核对装置或数据核对设备执行的情况下,生成数据流、划分数据区域、划分核对窗口、数据核对等功能可通过不同的模块或单元实现。上述实施例中的数据核对方法在由数据核对***执行的情况下,生成数据流、划分数据区域、划分核对窗口、数据核对等功能可通过不同的装置实现。在此并不限定执行数据核对方法的主体的具体形式。
本申请第二方面还提供了一种数据核对装置。图6为本申请第二方面提供的数据核对装置的一实施例的结构示意图。如图6所示,数据核对装置200可包括数据流生成模块201、区域划分模块202和核对模块203。
数据流生成模块201可用于在各***数据池发生写操作的情况下,生成包括与写操作关联的数据的数据流并传输。
其中,数据流包括数据的主键值。
区域划分模块202可用于基于数据流的字段以及预设的区域划分规则,将数据流划分为至少一个数据区域。
其中,每个数据区域包括至少两个***数据池对应的数据流。
在一些示例中,同一数据区域的数据流的字段满足相同的区域划分规则。
核对模块203可用于在每个数据区域中,根据数据流对应的主键值,核对数据区域中的至少两个***数据池对应的数据流,以确定数据区域中的至少两个***数据池的数据是否一致。
在一些示例中,多个数据区域中数据流的核对并行执行。
在本申请实施例中,在各***数据池发生写操作的情况下,生成包括与写操作关联的数据的数据流。将数据流划分为至少一个数据区域,每个数据区域包括至少两个***数据池对应的数据流。在数据区域中核对至少两个***数据池对应的数据流,从而确定至少两个***数据池的数据是否一致。不需要设置获取数据的时间段,通过写操作触发生成数据流,从而进行数据流的划分及核对。写操作不受时间长度的限制,能够在数据发生变化的情况下,实时进行数据的核对,从而能够及时发现跨***的数据不平问题。
在一些示例中,数据流生成模块201可用于:读取各***数据池的二进制日志,根据二进制日志,确定各***数据池的写操作;基于写操作,生成数据流报文,数据流报文用于承载数据流;通过数据流式组件传输数据流报文。
在一些示例中,数据流报文包括主键值相同的本次写操作关联的数据和上次写操作关联的数据。
图7为本申请第二方面提供的数据核对装置的另一实施例的结构示意图。图7与图6的不同之处在于,图7所示的数据核对装置200还可包括筛选模块204。
筛选模块204可用于在一个***数据池对应有主键值相同的多个数据流的情况下,保留其中字段符合预设的筛选条件的一个数据流。
在一些示例中,数据流包括业务状态字段,业务状态字段用于表征数据流的数据对应的业务的状态。筛选条件包括:业务状态字段包括预设值集合中的目标值,且数据流的业务状态字段与上一次写操作对应的数据流的业务状态字段不同。
图8为本申请第二方面提供的数据核对装置的又一实施例的结构示意图。图8与图6的不同之处在于,核对模块203可包括窗口划分单元2031和核对单元2032。
窗口划分单元2031可用于在每个数据区域中,根据数据流对应的主键值,将数据流划分至核对窗口内。
不同的核对窗口内的数据流的主键值不同。
核对单元2032可用于核对核对窗口内的数据流。
在一些示例中,具体地,窗口划分单元2031可用于在已存在的核对窗口内的数据流的主键值与未划分的数据流对应的主键值不同的情况下,生成新的核对窗口,将未划分的数据流划分至新的核对窗口内。
核对单元2032可用于在未划分的数据流划分至新的核对窗口内的时长超过预设触发时长的情况下,触发核对新的核对窗口内的数据流。
在另一些示例中,具体地,窗口划分单元2031可用于在已存在的核对窗口内的数据流的主键值与未划分的数据流对应的主键值相同的情况下,将未划分的数据流划分至已存在的核对窗口内
核对单元2032可用于在已存在的核对窗口内的数据流的数量达到预设触发数量的情况下,触发核对已存在的核对窗口内的数据流。
图9为本申请第二方面提供的数据核对装置的再一实施例的结构示意图。图9与图6的不同之处在于,图9所示的数据核对装置200还可包括处理模块205。
处理模块205可用于:在确定数据区域中的至少两个***数据池的数据一致的情况下,增大数据核对成功指标的值;在确定数据区域中的至少两个***数据池的数据不一致的情况下,输出数据区域中的至少两个***数据池中不一致的数据。
本申请第三方面还提供了一种数据核对设备。图10为本申请第三方面提供的数据核对设备的一实施例的结构示意图。如图10所示,数据核对设备300包括存储器301、处理器302及存储在存储器301上并可在处理器302上运行的计算机程序。
在一个示例中,上述处理器302可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器可包括只读存储器(Read-Only Memory,ROM),随机存取存储器(RandomAccess Memory,RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本申请的数据核对方法所描述的操作。
处理器302通过读取存储器301中存储的可执行程序代码来运行与可执行程序代码对应的计算机程序,以用于实现上述实施例中的数据核对方法。
在一个示例中,数据核对设备300还可包括通信接口303和总线304。其中,如图10所示,存储器301、处理器302、通信接口303通过总线304连接并完成相互间的通信。
通信接口303,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。也可通过通信接口303接入输入设备和/或输出设备。
总线304包括硬件、软件或两者,将数据核对设备300的部件彼此耦接在一起。举例来说而非限制,总线304可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(Enhanced Industry Standard Architecture,EISA)总线、前端总线(Front Side Bus,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(Industrial Standard Architecture,ISA)总线、无限带宽互连、低引脚数(Low pincount,LPC)总线、存储器总线、微信道架构(Micro Channel Architecture,MCA)总线、***组件互连(Peripheral Component Interconnect,PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial Advanced Technology Attachment,SATA)总线、视频电子标准协会局部(Video Electronics Standards Association Local Bus,VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线304可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
本申请第四方面还提供了一种数据核对***。图11为本申请第四方面提供的数据核对***的一实施例的结构示意图。如图11所示,该数据核对***可包括数据流装置41、分流装置42和核对装置43。在此并不限定数据核对***中数据流装置41、分流装置42和核对装置43各自的数量。
数据流装置41可用于在各***数据池发生写操作的情况下,生成包括与写操作关联的数据的数据流并传输。
数据流包括数据的主键值。
分流装置42可用于基于数据流的字段以及预设的区域划分规则,将数据流划分为至少一个数据区域。
每个数据区域包括至少两个***数据池对应的数据流。
核对装置43可用于在每个数据区域中,根据数据流对应的主键值,核对数据区域中的至少两个***数据池对应的数据流,以确定数据区域中的至少两个***数据池的数据是否一致。
数据流装置41、分流装置42和核对装置43还可执行上述实施例中数据核对方法中的其他步骤,具体可参见上述实施例中数据核对方法的相关说明,在此不再赘述。
本申请第五方面还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时可实现上述实施例中的数据核对方法,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,上述计算机可读存储介质可包括非暂态计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等,在此并不限定。
需要明确的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。对于装置实施例、设备实施例、***实施例、计算机可读存储介质实施例而言,相关之处可以参见方法实施例的说明部分。本申请并不局限于上文所描述并在图中示出的特定步骤和结构。本领域的技术人员可以在领会本申请的精神之后,作出各种改变、修改和添加,或者改变步骤之间的顺序。并且,为了简明起见,这里省略对已知方法技术的详细描述。
上面参考根据本申请的实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本申请的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
本领域技术人员应能理解,上述实施例均是示例性而非限制性的。在不同实施例中出现的不同技术特征可以进行组合,以取得有益效果。本领域技术人员在研究附图、说明书及权利要求书的基础上,应能理解并实现所揭示的实施例的其他变化的实施例。在权利要求书中,术语“包括”并不排除其他装置或步骤;数量词“一个”不排除多个;术语“第一”、“第二”用于标示名称而非用于表示任何特定的顺序。权利要求中的任何附图标记均不应被理解为对保护范围的限制。权利要求中出现的多个部分的功能可以由一个单独的硬件或软件模块来实现。某些技术特征出现在不同的从属权利要求中并不意味着不能将这些技术特征进行组合以取得有益效果。
Claims (15)
1.一种数据核对方法,其特征在于,包括:
在各***数据池发生写操作的情况下,生成包括与所述写操作关联的数据的数据流并传输,所述数据流包括数据的主键值,与所述写操作关联的数据包括所述写操作起作用的数据;
基于所述数据流的字段以及预设的区域划分规则,将所述数据流划分为至少一个数据区域,每个所述数据区域包括至少两个***数据池对应的所述数据流;
在每个所述数据区域中,根据所述数据流对应的主键值,核对所述数据区域中的至少两个***数据池对应的所述数据流,以确定所述数据区域中的至少两个***数据池的数据是否一致。
2.根据权利要求1所述的方法,其特征在于,所述在各***数据池发生写操作的情况下,生成包括与所述写操作关联的数据的数据流并传输,包括:
读取各***数据池的二进制日志,根据所述二进制日志,确定各***数据池的所述写操作;
基于所述写操作,生成数据流报文,所述数据流报文用于承载所述数据流;
通过数据流式组件传输所述数据流报文。
3.根据权利要求2所述的方法,其特征在于,所述数据流报文包括主键值相同的本次写操作关联的数据和上次写操作关联的数据。
4.根据权利要求1所述的方法,其特征在于,在所述基于所述数据流的字段以及预设的区域划分规则,将所述数据流划分为至少一个数据区域之前,还包括:
在一个***数据池对应有主键值相同的多个所述数据流的情况下,保留其中字段符合预设的筛选条件的一个所述数据流。
5.根据权利要求4所述的方法,其特征在于,所述数据流包括业务状态字段,所述业务状态字段用于表征所述数据流的数据对应的业务的状态,
所述筛选条件包括:所述业务状态字段包括预设值集合中的目标值,且所述数据流的业务状态字段与上一次所述写操作对应的数据流的业务状态字段不同。
6.根据权利要求1所述的方法,其特征在于,所述在每个所述数据区域中,根据所述数据流对应的主键值,核对所述数据区域中的至少两个***数据池对应的所述数据流,包括:
在每个所述数据区域中,根据所述数据流对应的主键值,将所述数据流划分至核对窗口内,不同的所述核对窗口内的所述数据流的主键值不同;
核对所述核对窗口内的所述数据流。
7.根据权利要求6所述的方法,其特征在于,
所述根据所述数据流对应的主键值,将所述数据流划分至核对窗口内,包括:
在已存在的所述核对窗口内的数据流的主键值与未划分的所述数据流对应的主键值不同的情况下,生成新的所述核对窗口,将未划分的所述数据流划分至新的所述核对窗口内;
所述核对所述核对窗口内的所述数据流,包括:
在未划分的所述数据流划分至新的所述核对窗口内的时长超过预设触发时长的情况下,触发核对新的所述核对窗口内的所述数据流。
8.根据权利要求6所述的方法,其特征在于,
所述根据所述数据流对应的主键值,将所述数据流划分至核对窗口内,包括:
在已存在的所述核对窗口内的数据流的主键值与未划分的所述数据流对应的主键值相同的情况下,将未划分的所述数据流划分至已存在的所述核对窗口内;
所述核对所述核对窗口内的所述数据流,包括:
在已存在的所述核对窗口内的数据流的数量达到预设触发数量的情况下,触发核对已存在的所述核对窗口内的所述数据流。
9.根据权利要求1所述的方法,其特征在于,在所述根据所述数据流对应的主键值,核对所述数据区域中的至少两个***数据池对应的所述数据流之后,还包括:
在确定所述数据区域中的至少两个***数据池的数据一致的情况下,增大数据核对成功指标的值;
在确定所述数据区域中的至少两个***数据池的数据不一致的情况下,输出所述数据区域中的至少两个***数据池中不一致的数据。
10.根据权利要求1所述的方法,其特征在于,同一所述数据区域的所述数据流的字段满足相同的所述区域划分规则。
11.根据权利要求1所述的方法,其特征在于,多个所述数据区域中所述数据流的核对并行执行。
12.一种数据核对装置,其特征在于,包括:
数据流生成模块,用于在各***数据池发生写操作的情况下,生成包括与所述写操作关联的数据的数据流并传输,所述数据流包括数据的主键值,与所述写操作关联的数据包括所述写操作起作用的数据;
区域划分模块,用于基于所述数据流的字段以及预设的区域划分规则,将所述数据流划分为至少一个数据区域,每个所述数据区域包括至少两个***数据池对应的所述数据流;
核对模块,用于在每个所述数据区域中,根据所述数据流对应的主键值,核对所述数据区域中的至少两个***数据池对应的所述数据流,以确定所述数据区域中的至少两个***数据池的数据是否一致。
13.一种数据核对设备,其特征在于,包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1至11中任意一项所述的数据核对方法。
14.一种数据核对***,其特征在于,包括:
数据流装置,用于在各***数据池发生写操作的情况下,生成包括与所述写操作关联的数据的数据流并传输,所述数据流包括数据的主键值,与所述写操作关联的数据包括所述写操作起作用的数据;
分流装置,用于基于所述数据流的字段以及预设的区域划分规则,将所述数据流划分为至少一个数据区域,每个所述数据区域包括至少两个***数据池对应的所述数据流;
核对装置,用于在每个所述数据区域中,根据所述数据流对应的主键值,核对所述数据区域中的至少两个***数据池对应的所述数据流,以确定所述数据区域中的至少两个***数据池的数据是否一致。
15.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1至11中任意一项所述的数据核对方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011167710.5A CN112422635B (zh) | 2020-10-27 | 2020-10-27 | 数据核对方法、装置、设备、***及存储介质 |
PCT/CN2021/118146 WO2022089063A1 (zh) | 2020-10-27 | 2021-09-14 | 数据核对方法、装置、设备、***及存储介质 |
TW110139362A TWI802056B (zh) | 2020-10-27 | 2021-10-22 | 資料核對方法、裝置、設備、系統及存儲介質 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011167710.5A CN112422635B (zh) | 2020-10-27 | 2020-10-27 | 数据核对方法、装置、设备、***及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112422635A CN112422635A (zh) | 2021-02-26 |
CN112422635B true CN112422635B (zh) | 2023-05-23 |
Family
ID=74841834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011167710.5A Active CN112422635B (zh) | 2020-10-27 | 2020-10-27 | 数据核对方法、装置、设备、***及存储介质 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN112422635B (zh) |
TW (1) | TWI802056B (zh) |
WO (1) | WO2022089063A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112422635B (zh) * | 2020-10-27 | 2023-05-23 | ***股份有限公司 | 数据核对方法、装置、设备、***及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326219A (zh) * | 2015-06-16 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 核对业务***数据的方法、装置及*** |
CN109684350A (zh) * | 2018-12-15 | 2019-04-26 | 平安证券股份有限公司 | 证券登记数据核对方法、装置、计算机设备及存储介质 |
WO2020207014A1 (zh) * | 2019-04-09 | 2020-10-15 | 平安科技(深圳)有限公司 | 大数据自动回归测试方法、装置、测试中心服务器和存储介质 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9063657B2 (en) * | 2011-04-19 | 2015-06-23 | International Business Machines Corporation | Virtual tape systems using physical tape caching |
CN103136276A (zh) * | 2011-12-02 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 一种数据核对***,方法及装置 |
CN102571617B (zh) * | 2012-03-22 | 2015-04-01 | 中国科学院上海高等研究院 | 流数据服务器、流数据传输方法及数据传输*** |
CN103645963B (zh) * | 2013-12-26 | 2016-06-29 | 深圳市迪菲特科技股份有限公司 | 一种存储***及其数据一致性校验方法 |
US10191956B2 (en) * | 2014-08-19 | 2019-01-29 | New England Complex Systems Institute, Inc. | Event detection and characterization in big data streams |
TWI607340B (zh) * | 2015-01-09 | 2017-12-01 | Chunghwa Telecom Co Ltd | Privacy data flow security and storage protection method and system |
CN106454767A (zh) * | 2015-08-05 | 2017-02-22 | 中兴通讯股份有限公司 | 一种业务数据同步方法、装置及*** |
US11550632B2 (en) * | 2015-12-24 | 2023-01-10 | Intel Corporation | Facilitating efficient communication and data processing across clusters of computing machines in heterogeneous computing environment |
CN109840837B (zh) * | 2017-11-27 | 2022-09-20 | 财付通支付科技有限公司 | 财务数据的处理方法、装置、计算机可读介质及电子设备 |
CN110213071B (zh) * | 2018-04-16 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 数据核对方法、装置、***、计算机设备和存储介质 |
CN110196844B (zh) * | 2018-04-16 | 2024-01-30 | 腾讯科技(深圳)有限公司 | 一种数据迁移方法、***及存储介质 |
TW201947492A (zh) * | 2018-05-14 | 2019-12-16 | 玉山商業銀行股份有限公司 | 運營資料匯流系統與方法 |
CN108647353A (zh) * | 2018-05-16 | 2018-10-12 | 口碑(上海)信息技术有限公司 | 一种实时核对数据的方法、装置 |
CN109063005B (zh) * | 2018-07-10 | 2021-05-25 | 创新先进技术有限公司 | 一种数据迁移方法及***、存储介质、电子设备 |
US10795913B2 (en) * | 2018-10-11 | 2020-10-06 | Capital One Services, Llc | Synching and reading arrangements for multi-regional active/active databases |
CN110046202B (zh) * | 2019-03-07 | 2023-05-26 | 中国人民解放军海军工程大学 | 基于内存键值数据库的综合电力***实时数据管理方法 |
CN110716813A (zh) * | 2019-09-17 | 2020-01-21 | 贝壳技术有限公司 | 数据流处理方法、装置、可读存储介质及处理器 |
CN112422635B (zh) * | 2020-10-27 | 2023-05-23 | ***股份有限公司 | 数据核对方法、装置、设备、***及存储介质 |
-
2020
- 2020-10-27 CN CN202011167710.5A patent/CN112422635B/zh active Active
-
2021
- 2021-09-14 WO PCT/CN2021/118146 patent/WO2022089063A1/zh active Application Filing
- 2021-10-22 TW TW110139362A patent/TWI802056B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326219A (zh) * | 2015-06-16 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 核对业务***数据的方法、装置及*** |
CN109684350A (zh) * | 2018-12-15 | 2019-04-26 | 平安证券股份有限公司 | 证券登记数据核对方法、装置、计算机设备及存储介质 |
WO2020207014A1 (zh) * | 2019-04-09 | 2020-10-15 | 平安科技(深圳)有限公司 | 大数据自动回归测试方法、装置、测试中心服务器和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
TW202217641A (zh) | 2022-05-01 |
WO2022089063A1 (zh) | 2022-05-05 |
CN112422635A (zh) | 2021-02-26 |
TWI802056B (zh) | 2023-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107040585B (zh) | 一种业务校验的方法及装置 | |
CN106899666B (zh) | 一种针对业务标识的数据处理方法及装置 | |
CN112181614B (zh) | 任务超时监控方法、装置、设备、***及存储介质 | |
CN109934712B (zh) | 应用于分布式***的对账方法、对账装置和电子设备 | |
CN110009347B (zh) | 一种区块链交易信息审计的方法及装置 | |
WO2021238514A1 (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN112422635B (zh) | 数据核对方法、装置、设备、***及存储介质 | |
CN110659905A (zh) | 交易验证方法、装置、终端设备以及存储介质 | |
CN112597240A (zh) | 一种基于联盟链的联邦学习的数据处理方法与*** | |
CN112784112A (zh) | 报文校验方法及装置 | |
CN112087530A (zh) | 一种将数据上传至区块链***的方法、装置、设备及介质 | |
CN113923268B (zh) | 一种针对多版本通信规约的解析方法、设备及存储介质 | |
CN113938408A (zh) | 一种数据流量测试方法、装置、服务器及存储介质 | |
CN110704620B (zh) | 一种基于知识图谱的识别相同实体的方法及装置 | |
CN110443072B (zh) | 数据签名方法、数据校验方法、装置及存储介质 | |
CN112286968A (zh) | 一种业务识别方法、设备、介质及电子设备 | |
CN108170403B (zh) | 数据筛选方法和装置 | |
CN114036180A (zh) | 报表生成方法、装置、设备及存储介质 | |
CN109299948A (zh) | 一种红包发送方法、装置、可穿戴设备及存储介质 | |
CN114723394A (zh) | 基于人工智能的授信流程配置方法及相关设备 | |
CN113673844A (zh) | 一种信息反馈方法、装置及设备 | |
CN103106103B (zh) | 请求信息分类方法及装置 | |
CN109800823B (zh) | 一种pos终端的聚类方法及装置 | |
CN109522915B (zh) | 病毒文件聚类方法、装置及可读介质 | |
CN113268598A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40047449 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |