CN111177165A - 数据一致性检测的方法、装置及设备 - Google Patents

数据一致性检测的方法、装置及设备 Download PDF

Info

Publication number
CN111177165A
CN111177165A CN201911338772.5A CN201911338772A CN111177165A CN 111177165 A CN111177165 A CN 111177165A CN 201911338772 A CN201911338772 A CN 201911338772A CN 111177165 A CN111177165 A CN 111177165A
Authority
CN
China
Prior art keywords
data
changed
detected
field
changed data
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.)
Granted
Application number
CN201911338772.5A
Other languages
English (en)
Other versions
CN111177165B (zh
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.)
Lazas Network Technology Shanghai Co Ltd
Original Assignee
Lazas Network Technology Shanghai 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 Lazas Network Technology Shanghai Co Ltd filed Critical Lazas Network Technology Shanghai Co Ltd
Priority to CN201911338772.5A priority Critical patent/CN111177165B/zh
Publication of CN111177165A publication Critical patent/CN111177165A/zh
Application granted granted Critical
Publication of CN111177165B publication Critical patent/CN111177165B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2322Optimistic concurrency control using timestamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据一致性检测的方法、装置及设备,涉及数据处理技术领域,可以及时对大量级的数据进行一致性检测,减少延迟,提高数据一致性检测的效率。其中方法包括:设置待检测字段以及所述待检测字段对应的业务逻辑;响应于监控到分布式系统关联的表格数据中与所述待检测字段相关的数据发生变更,将待检测字段对应的变更数据添加至缓存中;保留处于有效监听时间内的变更数据;基于所述待检测字段对应的业务逻辑,对所述处于有效监听时间内的变更数据进行一致性检测;根据一致性检测结果生成提示信息,并发送至与通信工具进行关联的触达平台。本申请适用于对数据进行一致性检测。

Description

数据一致性检测的方法、装置及设备
技术领域
本申请涉及数据检测技术领域,尤其是涉及到一种数据一致性检测的方法、装置及设备。
背景技术
随着业务规模的扩张,企业系统变得越来越复杂,在这种复杂的分布式系统架构下,难免会出现远程调用失败,消息发送失败,并发bug等问题,这些问题最终会导致系统间数据的不一致,导致用户体验受损。
现有技术中,在应对业务数据不一致问题的常规操作是配置定时任务,在每个固定时间点从多个业务库中提取binlog日志数据中的变更数据,并利用kafka将变更数据写入至汇总库,再通过任务设置sql判定是否存在不一致的数据。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
上述数据一致性检测的过程需要依赖于大量的业务数据库,并且在企业级的业务数据量增大的情况下数据库维护困难,另外,由于sql判定的过程中会涉及复杂的逻辑公式,无法及时处理,使得数据一致性检测的过程中会出现延迟,无法及时检测到不一致的数据,影响数据一致性检测的效率。
发明内容
有鉴于此,本申请提供了一种数据一致性检测的方法、装置及设备,主要目的在于解决目前在对数据进行一致性检测过程中,无法迅速处理sql判定中复杂的逻辑公式,影响数据一致性检测的效率的问题。
根据本申请的一个方面,提供了一种数据一致性检测的方法,该方法包括:
设置待检测字段以及所述待检测字段对应的业务逻辑;
响应于监控到分布式系统关联的表格数据中与所述待检测字段相关的数据发生变更,将待检测字段对应的变更数据添加至缓存中;
保留处于有效监听时间内的变更数据;
基于所述待检测字段对应的业务逻辑,对所述处于有效监听时间内的变更数据进行一致性检测;
根据一致性检测结果生成提示信息,并发送至与通信工具进行关联的触达平台。
进一步地,所述分布式系统关联有多个服务器,待检测字段的表格数据写在主服务器中,所述与待检测字段相关的表格数据写在从服务器中,在所述响应于监控到分布式系统关联的表格数据中与所述待检测字段相关的数据发生变更,将待检测字段对应的变更数据添加至缓存中之前,所述方法还包括:
当接收到主服务器的表格数据中所述待检测字段的变更指令时,监控分布式系统关联的从服务器的表格数据中与所述待检测字段相关的数据是否发生变更。
进一步地,所述监控分布式系统关联的从服务器的表格数据中与所述待检测字段相关的数据是否发生变更,具体包括:
利用binlog日志文件导出对分布式系统关联的从服务器执行的数据库操作,获取数据库操作表格数据产生的变更数据;
监控所述数据库操作表格数据产生的变更数据中是否存在与待检测字段相关的变更数据。
进一步地,所述待检测字段对应的变更数据以键值的形式存储在缓存中,所述保留处于有效监听时间内的变更数据,具体包括:
预先为缓存中变更数据的键值设置有效监听时间;
基于当前缓存中生成的时间戳判断所述变更数据的键值是否处于有效监听时间内;
若是,则保留处于有效监听时间内的变更数据。
进一步地,所述基于当前缓存中生成的时间戳判断所述变更数据的键值是否处于有效监听时间内,具体包括:
根据所述变更数据添加至缓存中生成的时间戳以及预先为变更数据的键值设置的有效监听时间,计算变更数据的过期时间;
通过将所述当前缓存中生成的时间戳与所述变更数据的过期时间进行比对,判断所述变更数据的键值是否处于有效监听时间内;
所述若是,则保留处于有效监听时间内的变更数据,具体包括:
若当前缓存中生成的时间戳小于所述变更数据的过期时间,则保留处于有效监听时间内的变更数据。
进一步地,若分布式系统关联的表格数据中与所述待检测字段相关的数据同时发生变更,则将同时变更的数据添加至缓存中所生成的时间戳相同,所述根据所述变更数据添加至缓存中生成的时间戳以及预先为变更数据的键值设置的有效监听时间,计算变更数据的过期时间,具体包括:
根据变更数据添加至缓存中生成的相同时间戳以及预先为变更数据的键值设置的有效监听时间,计算所述变更数据的过期时间;
若分布式系统关联的表格数据中与所述待检测字段相关的数据先后发生变更,则将先后变更的数据添加至缓存中所生成的时间戳不同,所述根据所述变更数据添加至缓存中生成的时间戳以及预先为变更数据的键值设置的有效监听时间,计算变更数据的过期时间,具体包括:
根据优先变更的数据添加至缓存中生成的时间戳以及预先为变更数据的键值设置的有效监听时间,计算所述变更数据的过期时间。
进一步地,所述根据优先变更的数据添加至缓存中生成的时间戳以及预先为变更数据的键值设置的有效监听时间,计算所述变更数据的过期时间,具体包括:
以所述优先变更的数据添加至缓存中生成的时间戳作为有效监听时间的开始时间;
通过将所述有效监听时间的开始时间累加预先为变更数据的键值设置的有效监听时间,计算所述变更数据的过期时间。
进一步地,所述基于所述待检测字段对应的业务逻辑,对处于所述有效监听时间内添加至缓存中的变更数据进行一致性检测,具体包括:
通过解析所述待检测字段对应的业务逻辑,确定对所述处于有效监听时间内添加至缓存中的变更数据进行检测的逻辑节点;
利用预先构建的脚本测试文件,对逻辑节点映射的变更数据进行一致性检测。
根据本申请的另一方面,提供了一种数据一致性检测的装置,该装置包括:
设置单元,用于设置待检测字段以及所述待检测字段对应的业务逻辑;
添加单元,用于响应于监控到分布式系统关联的表格数据中与所述待检测字段相关的数据发生变更,将待检测字段对应的变更数据添加至缓存中;
保留单元,用于保留处于有效监听时间内的变更数据;
检测单元,用于基于所述待检测字段对应的业务逻辑,对所述处于有效监听时间内的变更数据进行一致性检测;
发送单元,用于根据一致性检测结果生成提示信息,并发送至与通信工具进行关联的触达平台。
进一步地,所述分布式系统关联有多个服务器,待检测字段的表格数据写在主服务器中,所述与待检测字段相关的表格数据写在从服务器中,所述装置还包括:
监控单元,用于在所述响应于监控到分布式系统关联的表格数据中与所述待检测字段相关的数据发生变更,将待检测字段对应的变更数据添加至缓存中之前,当接收到主服务器的表格数据中所述待检测字段的变更指令时,监控分布式系统关联的从服务器的表格数据中与所述待检测字段相关的数据是否发生变更。
进一步地,所述监控单元包括:
获取模块,用于利用binlog日志文件导出对分布式系统关联的从服务器执行的数据库操作,获取数据库操作表格数据产生的变更数据;
监控模块,用于监控所述数据库操作表格数据产生的变更数据中是否存在与待检测字段相关的变更数据。
进一步地,所述添加单元包括:
设置模块,用于预先为缓存中变更数据的键值设置有效监听时间;
判断模块,用于基于当前缓存中生成的时间戳判断所述变更数据的键值是否处于有效监听时间内;
保留模块,用于若所述变更数据的键值处于有效监听时间内,则保留处于有效监听时间内的变更数据。
进一步地,所述判断模块包括:
计算子模块,用于根据所述变更数据添加至缓存中生成的时间戳以及预先为变更数据的键值设置的有效监听时间,计算变更数据的过期时间;
比对子模块,用于通过将所述当前缓存中生成的时间戳与所述变更数据的过期时间进行比对,判断所述变更数据的键值是否处于有效监听时间内
所述保留模块,具体用于若当前缓存中生成的时间戳小于所述变更数据的过期时间,则保留处于有效监听时间内的变更数据。
进一步地,若分布式系统关联的表格数据中与所述待检测字段相关的数据同时发生变更,则将同时变更的数据添加至缓存中所生成的时间戳相同,所述计算子模块,具体用于根据变更数据添加至缓存中生成的相同时间戳以及预先为变更数据的键值设置的有效监听时间,计算所述变更数据的过期时间;
若分布式系统关联的表格数据中与所述待检测字段相关的数据先后发生变更,则将先后变更的数据添加至缓存中所生成的时间戳不同,所述计算子模块,具体还用于根据优先变更的数据添加至缓存中生成的时间戳以及预先为变更数据的键值设置的有效监听时间,计算所述变更数据的过期时间。
进一步地,所述计算子模块,具体还用于以所述优先变更的数据添加至缓存中生成的时间戳作为有效监听时间的开始时间;
所述计算子模块,具体还用于通过将所述有效监听时间的开始时间累加预先为变更数据的键值设置的有效监听时间,计算所述变更数据的过期时间。
进一步地,所述检测单元包括:
确定模块,用于通过解析所述待检测字段对应的业务逻辑,确定对所述处于有效监听时间内添加至缓存中的变更数据进行检测的逻辑节点;
检测模块,用于利用预先构建的脚本测试文件,对逻辑节点映射的变更数据进行一致性检测。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述数据一致性检测的方法。
依据本申请再一个方面,提供了一种数据一致性检测的实体设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述数据一致性检测的方法。
借由上述技术方案,本申请提供的一种数据一致性检测的方法、装置及设备,与目前现有方式中利用sql判定的方式对变更的数据进行一致性检测的方式相比,通常情况,数据发生变更都存在先后顺序,本申请可当监控到表格数据中与待检测字段相关的数据发生变更时,利用缓存将优先变更的待检测字段对应的变更数据存储起来,并通过设置缓存的有效监听时间,从而当监听到延迟变更的待检测字段对应的变更数据时,若延迟发生变更的数据处于有效监听时间内,则保留有效监听时间内的变更数据,进一步对有效监听时间内的变更数进行一致性检测,无需依赖大量数据库的查询操作,能够实现对部分数据的监控,并及时监控到变更数据,减少延迟,提高数据一致性检测时效性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种数据一致性检测的方法的流程示意图;
图2示出了本申请实施例提供的另一种数据一致性检测的方法的流程示意图;
图3示出了本申请实施例提供的一种数据一致性检测的装置的结构示意图;
图4示出了本申请实施例提供的另一种数据一致性检测的装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
目前通过现有方式会利用kafka将变更数据写入至汇总库,再通过任务设置sql判定是否存在不一致的数据,但是数据一致性检测过程需要依赖大量业务数据库,并且sql判定过程中涉及复杂的逻辑公式,会使得数据一致性检测过程总出现延迟,无法及时检测到不一致的数据,影响数据一致性检测的效率。为了解决该问题,本实施例提供了一种数据一致性检测的方法,如图1所示,该方法包括:
101、设置待检测字段以及所述待检测字段对应的业务逻辑。
其中,待检测字段可以为不同业务场景需求关注的字段,例如,在交互设计的业务场景,需求关注的字段通常为与用户行为相关的字段,在定位的业务场景,需求关注的字段通常为与位置信息相关的字段。
具体待检测字段对应的业务逻辑指的是实体单元为了向另一个实体单元提供服务,应该具备的数据处理规则和流程,可以是当达到预设条件对待检测字段执行数据处理,还可以是待检测字段与其他关联字段之间映射关系,该映射关系可以体现为逻辑条件规则,基于逻辑条件规则对其他关联字段执行数据处理,例如,若待检测字段A达到一定数值时,则清空与待检测字段A关联的字段B,还可以体现为函数运算规则,基于函数运算规则对其他关联字段执行数据处理,例如,若待检测字段A中的函数表达式中涉及到字段B,则根据函数表达式变更与待检测字段A关联的字段B。
102、响应于监控到分布式系统关联的表格数据中与所述待检测字段相关的数据发生变更,将待检测字段对应的变更数据添加至缓存中。
在实际应用场景中,为了保证系统的可用性,互联网系统大多存在业务数据的一致性需求,对于业务数据一致性时效性要求较高的情况,事前校验比较合适,对于业务数据一致性时效性要求不是很高的情况,可以通过离校校验的方式。
对于本发明实施例,分布式系统可以关联一个或多个服务器,每个服务器可以设置多个数据库,举例来说,这里具有关联的数据表格可以写在主服务器、多个从服务器的数据库中,通常情况下,主服务器与从服务器具有相同的数据结构,由于在业务处理的过程中经常会涉及到各种变更事件,如字段修改、字段删除或者字段增加等,在主服务器完成数据更新后,会将更新的数据同步至多个从服务器,以使得从服务器与主服务器中的数据保持一致性。具体可以利用二进制日志来记录分布式系统关联服务器的操作,从而监控关联的表格数据所发生的变更事件,若发生变更事件,则说明该服务器中关联的表格数据中存在数据的变更,并响应于监控到与待检测字段相关的数据变更,将待检测字段对应的变更数据添加至缓存中。
103、保留处于有效监听时间内的变更数据。
对于缓存中对待检测字段对应的变更数据的过期处理实际上是针对变更数据的键(key)进行处理,即监听有效时间也是设置键的有效时间,具体可以利用Expires字典保留所有键的有效时间,Expires为过期字段,具体设置缓存中键的有效时间可以通过以下任一种方式,可以利用Expires将key的生存时间设置为ttl秒,还可以利用Expires将key的过期时间设置为timestamp所代表的秒数的时间戳。
对于缓存中过期键的处理可以进行删除处理,具体删除缓存中过期键可以通过以下任一种方式,可以在设置键的过期时间时创建一个定时器,当过期时间到的时候执行键的删除操作,还可以是达到过期时间时并不立即删除键,而是当外部指令获取这个键的时候执行键的删除操作,还可以设置对过期键删除的时间间隔,每个时间段检测是否有过期键,如果有执行见得删除操作。
应说明的是,变更数据一旦产生过度延期可能会存在传输错误或者数据失效,为了保证变更数据的时效性,可以通过在缓存中设置监听有效时间,当达到有效监听时间时,会检测存入至缓存中的变更数据是否过期,对于过期的变更数据触发失效事件,从而保留处于有效监听时间内的变更数据。
104、基于所述待检测字段对应的业务逻辑,对所述处于有效监听时间内的变更数据进行一致性检测。
由于待检测字段对应存储在分布式系统关联的表格数据中,并且其中任一表格数据中与待检测字段相关的数据发生变更,便会触发各个关联表格数据中与待检测字段相关的数据发生变更,这里处于有效监听时间内的变更数据汇总了在特定时效内与待检测字段相关的变更数据,针对超出时效的变更数据不会进行一致性检测,确保了数据一致性检测的时效性,从而减少数据一致性检测过程中的延迟现象,提高数据一致性检测效率。
105、根据一致性检测结果生成提示信息,并发送至与通信工具进行关联的触达平台。
对应本发明实施例,若一致性检测结果为不同,则说明与待检测字段关联的变更字段并未完成同步变更,生成告警的提示信息,并发送至触达平台,该触达平台是一个多功能触达的工具,可以与邮箱、短信、电话等通信工具进行通信,进而传输提示信息,从而及时发现分布式系统中数据不一致的情况;若一致性检测结果为相同,则说明与待检测字段关联的变更字段完成同步变更,无需生成任何提示信息。
本发明实施例提供的数据一致性检测的方法,与目前现有方式中利用sql判定的方式对变更的数据进行一致性检测的方式相比,通常情况,数据发生变更都存在先后顺序,本申请可当监控到表格数据中与待检测字段相关的数据发生变更时,利用缓存将优先变更的待检测字段对应的变更数据存储起来,并通过设置缓存的有效监听时间,从而当监听到延迟变更的待检测字段对应的变更数据时,若延迟发生变更的数据处于有效监听时间内,则保留有效监听时间内的变更数据,进一步对有效监听时间内的变更数进行一致性检测,无需依赖大量数据库的查询操作,能够实现对部分数据的监控,并及时监控到变更数据,减少延迟,提高数据一致性检测时效性。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,本实施例提供了另一种数据一致性检测的方法,如图2所示,该方法包括:
201、设置待检测字段以及所述待检测字段对应的业务逻辑。
通常情况下,在创建项目时,会有对应的需求说明,并基于需求说明进行数据库表格设计,考虑到不同表格数据可能具有不同的关联关系,例如,表格数据之间通过主键是有关联的,在将数据写入至数据库中表格数据的过程中,需要明确各个字段对应业务逻辑,进一步基于业务逻辑对请求处理字段进行处理。
对于本实施例的执行主体可以为数据一致性检测的装置或设备,可以配置在用户端侧,在用户端侧设置待检测字段以及待检测字段对应的业务逻辑,进而监控与待检测字段相关的变更数据。
202、当接收到主服务器的表格数据中所述待检测字段的变更指令时,利用binlog日志文件导出对分布式系统关联的从服务器执行的数据库操作,获取数据库操作表格数据产生的变更数据。
其中,binlog日志记录着数据库的所有增、删、改的操作日志,还包括这些操作的执行时间,也就是记录着服务器执行的数据库操作,每次重启服务器或者运行服务器都会生成一个新的binlog日志。
对于本发明实施例,分布式系统关联有多个服务,主服务器相当于分布式系统关联的服务器,待检测字段的表格数据写在主服务器中,当然分布式系统中主服务器通常会关联有至少一个从服务器,与待检测字段相关的表格数据写在从服务器中,当接收到主服务的表格数据中待检测字段的变更指令时,说明主服务器中的表格数据发生变更,需要同步变更从服务中与待检测字段相关的数据。通常情况下,主服务器在运行过程中会生成binlog日志文件,主服务器生成的binlog日志会记录每一行数据被修改的形式,然后在其他从服务器在对相同的数据进行修改,从而利用binlog日志文件导出对分布式系统中主服务器执行的数据库操作,获取数据库操作表格数据产生的变更数据。
可以理解的是,为了保证其他从服务器执行的时候能够得到与在主服务器执行时候的相同结果,binlog日志在记录每一行数据被修改的过程中,还必须记录每条语句在执行的时候的一些相关信息,也就是上下文信息,当然,若遇到复杂的执行语句时,在从服务器执行相同语句时还是容易出现误差。
203、监控所述数据库操作表格数据产生的变更数据中是否存在与待检测字段相关的变更数据。
由于数据库操作所产生的变更数据量通常都是大量级的,并非所有变更数据都是业务场景所关注的数据,通过监控数据库操作表格数据产生的变更数据是否存在与待检测字段相关的数据,可以从数据库操作表格数据所产生的变更数据中筛选出与待检测字段相关的变更数据。
204、响应于监控到分布式系统关联的表格数据中与所述待检测字段相关的数据发生变更,将待检测字段对应的变更数据添加至缓存中。
需要说明的是,在主服务器执行数据库操作表格数据产生变更数据时,其他从服务器可能并未执行相应的数据库操作,并未生成相应的变更数据,需要一定的变更时间,通过监控分布式系统关联的表格数据中与待检测字段相关的数据是否发生变更,从而获取从服务器执行相应数据库操作表格数据所产的变更数据,将待检测字段对应的变更数据添加至缓存中。
205、预先为缓存中变更数据的键值设置有效监听时间。
由于分布式系统关联的表格数据是以键值对<key,value>的形式,响应于监控到分布式系统关联的表格数据中与待检测字段相关的数据发生变更,可以将待检测字段对应的变更数据以键值的形式添加至缓存中,无论是主服务器执行数据库操作所产生的变更数据,还是从服务器执行数据库操作所产生的变更数据,并为变更数据的键值设置有效监听时间,该有效监听时间可以利用在缓存中设置监听器的方式,对过期的键值进行监听,从而对超过有效监听时间后添加至缓存的变更数据触发报警的提示信息,对过期的变更数据进行失效处理。
206、基于当前缓存中生成的时间戳判断所述变更数据的键值是否处于有效监听时间内。
对于本发明实施例,缓存中在添加数据的时候通常需要保存一个时间戳,具体可以根据变更数据添加至缓存中生成的时间戳以及为变更数据键值设置的有效监听时间,计算变更数据的过期时间,通过将当前缓存中生成的时间戳与变更数据的过期时间进行比对,判断变更数据的键值是否处于有效监听时间内。例如,变更数据添加至缓存中生成的时间戳为2014年1月1日零时,变更数据键值设置的有效监听时间为三十分钟,计算变更数据的过期时间为2014年1月1日零时三十分钟。
在分布式系统中,对于主服务器执行数据库操作产生的变更数据,从服务器执行相应数据库操作通常会存在一定的延迟,而各个从服务器可能同时执行相应的数据库操作,也可能先后执行相应的数据库操作,若分布式系统关联的表格数据中与待检测字段相关的数据同时发生变更,则说明从服务器同时执行相应的数据库操作,相应变更数据添加至缓存中生成的时间戳相同,可以根据变更数据添加至缓存中生成的相同时间戳以及预先为变更数据的键值设置的有效监听时间,计算变更数据的过期时间;反之,若分布式系统关联的表格数据中与待检测字段相关的数据先后发生变更,则说明从服务器先后执行相应的数据库操作,相应变更数据添加至缓存中生成的时间戳不同,由于延后变更的数据就有一定的延迟性,无需作为计算过期时间的依据,可以根据变更数据中优先添加至缓存中生成的时间戳以及预先为变更数据的键值设置的有效监听时间,计算变更数据的过期时间。
应说明的是,对于从服务器中先后执行相应的数据操作,为了保证数据一致性检测的时效性,通常以优先变更的数据添加至缓存中生成的时间戳作为有效监听时间的开始时间,通过将有效监听时间的开始时间累加预先为变更数据的键值设置的有效监听时间,计算变更数据的过期时间。
207、若是,则保留处于有效监听时间内的变更数据。
对于从服务器同时发生数据变更的情况,变更数据在存入缓存中生成的时间戳都相同,不断监控当前缓存中生成的时间戳,若当前缓存中生成的时间戳小于变更数据的过期时间,则保留同时发生变更的与待检测字段相关的数据。
对于从服务器先后发生数据变更的情况,变更数据存入缓存中生成的时间戳有先后,优先存入缓存中的变更数据生成的时间戳作为有效监听时间的开始时间,不断监控当前缓存中生成的时间戳,在此期间,可能延后变更的数据存入缓存,也可能没有数据存入缓存,若当前缓存中生成的时间戳小于过期时间,并且在此期间有变更的数据存入缓存,则说明延后变更的数据在有效监控时间内存入缓存中,保留先后发生变更的与待检测字段相关的数据。
可以通过在缓存中设置监听器的形式来对变更的数据进行监听,该节点监听器可以对缓存中过期的键值触发过期处理,若在有效监听时间内
需要说明的是,本发明实施例可以通过设置监听器的形式对存入缓存中变更数据的键值进行监听,若从服务器在监听有效时间内并未执行相应的数据库操作,说明当前缓存中生成的时间戳到达过期时间时,延后变更的数据并未存入缓存中,则从服务器执行相应数据库操作所产生的变更数据不满足一致性比对的时效性,无法进行后续的一致性比对,进而生成告警的提示信息,并发送至触达平台,对缓存中失效的变更数据进行过期处理。
208、通过解析所述待检测字段对应的业务逻辑,确定对所述处于有效监听时间内添加至缓存中的变更数据进行检测的逻辑节点。
在数据处理过程中,数据一致性通常指关联数据之间的逻辑是否正确和完整,由于待检测字段对应的业务逻辑反映了服务器执行数据库操作过程中的规则和流程,通过解析待检测字段对应的业务逻辑,将规则和流程拆分开来,可以确定对处于有效监听时间内添加至缓存中的变更数据进行检测的逻辑节点,这里的逻辑节点可以是逻辑规则、函数表达式等。
209、利用预先构建的脚本测试文件,对逻辑节点映射的变更数据进行一致性检测。
对于本发明实施例,对处于有效监听时间内的变更数据进行一致性检测,关注的是变更数据在所有逻辑节点上的数据一致性和正确性,具体可以利用数据库一致性检查dbcc提供的命令构建脚本测试文件,并利用脚本测试文件对逻辑节点映射的变更数据进行测试,从而对逻辑节点映射的变更数据进行一致性比对。
210、根据一致性检测结果生成提示信息,并发送至与通信工具进行关联的触达平台。
本发明实施例利用缓存将分布式系统关联的表格数据中优先变更的数据存储起来,从而当监听到延迟变更的数据时,若延迟变更的数据处于监听有效时间内,再将优先变更的数据与延迟变更的数据进行一致性比对,无需依赖大量数据库,能够实现对部分数据的监控,提高数据一致性检测的时效性。
进一步的,作为图1和图2方法的具体实现,本申请实施例提供了一种数据一致性检测的装置,如图3所示,该装置包括:设置单元31、添加单元32、保留单元33、检测单元34、发送单元35。
设置单元31,可以用于设置待检测字段以及所述待检测字段对应的业务逻辑;
添加单元32,可以用于响应于监控到分布式系统关联的表格数据中与所述待检测字段相关的数据发生变更,将待检测字段对应的变更数据添加至缓存中;
保留单元33,可以用于保留处于有效监听时间内的变更数据;
检测单元34,可以用于基于所述待检测字段对应的业务逻辑,对所述处于有效监听时间内的变更数据进行一致性检测;
发送单元35,可以用于根据一致性检测结果生成提示信息,并发送至与通信工具进行关联的触达平台。
本发明实施例提供的数据一致性检测的装置,与目前现有方式中利用sql判定的方式对变更的数据进行一致性检测的方式相比,通常情况,数据发生变更都存在先后顺序,本申请可当监控到表格数据中与待检测字段相关的数据发生变更时,利用缓存将优先变更的待检测字段对应的变更数据存储起来,并通过设置缓存的有效监听时间,从而当监听到延迟变更的待检测字段对应的变更数据时,若延迟发生变更的数据处于有效监听时间内,则保留有效监听时间内的变更数据,进一步对有效监听时间内的变更数进行一致性检测,无需依赖大量数据库的查询操作,能够实现对部分数据的监控,并及时监控到变更数据,减少延迟,提高数据一致性检测时效性。
在具体的应用场景中,如图4所示,所述分布式系统关联有多个服务器,待检测字段的表格数据写在主服务器中,所述与待检测字段相关的表格数据写在从服务器中,所述装置还包括:
监控单元35,可以用于在所述响应于监控到分布式系统关联的表格数据中与所述待检测字段相关的数据发生变更,将待检测字段对应的变更数据添加至缓存中之前,当接收到主服务器的表格数据中所述待检测字段的变更指令时,监控分布式系统关联的从服务器的表格数据中与所述待检测字段相关的数据是否发生变更。
在具体的应用场景中,如图4所示,所述监控单元35包括:
获取模块351,可以用于利用binlog日志文件导出对分布式系统关联的从服务器执行的数据库操作,获取数据库操作表格数据产生的变更数据;
监控模块352,可以用于监控所述数据库操作表格数据产生的变更数据中是否存在与待检测字段相关的变更数据。
在具体的应用场景中,如图4所示,所述保留单元33包括:
设置模块331,可以用于预先为缓存中变更数据的键值设置有效监听时间;
判断模块332,可以用于基于当前缓存中生成的时间戳判断所述变更数据的键值是否处于有效监听时间内;
保留模块333,可以用于若所述变更数据的键值处于有效监听时间内,则保留处于有效监听时间内的变更数据。。
在具体的应用场景中,如图4所示,所述判断模块332包括:
计算子模块3321,可以用于根据所述变更数据添加至缓存中生成的时间戳以及预先为变更数据的键值设置的有效监听时间,计算变更数据的过期时间;
比对子模块3322,可以用于通过将所述当前缓存中生成的时间戳与所述变更数据的过期时间进行比对,判断所述变更数据的键值是否处于有效监听时间内;
所述保留模块333,具体可以用于若当前缓存中生成的时间戳小于所述变更数据的过期时间,则保留处于有效监听时间内的变更数据。
在具体的应用场景中,若分布式系统关联的表格数据中与所述待检测字段相关的数据同时发生变更,则将同时变更的数据添加至缓存中所生成的时间戳相同,所述计算子模块3321,具体可以用于根据变更数据添加至缓存中生成的相同时间戳以及预先为变更数据的键值设置的有效监听时间,计算所述变更数据的过期时间;
若分布式系统关联的表格数据中与所述待检测字段相关的数据先后发生变更,则将先后变更的数据添加至缓存中所生成的时间戳不同,所述计算子模块3321,具体还可以用于根据优先变更的数据添加至缓存中生成的时间戳以及预先为变更数据的键值设置的有效监听时间,计算所述变更数据的过期时间。
在具体的应用场景中,所述计算子模块3321,具体还可以用于以所述优先变更的数据添加至缓存中生成的时间戳作为有效监听时间的开始时间,
所述计算子模块3321,具体还可以用于通过将所述有效监听时间的开始时间累加预先为变更数据的键值设置的有效监听时间,计算所述变更数据的过期时间。
在具体的应用场景中,如图4所示,所述检测单元34包括:
确定模块341,可以用于通过解析所述待检测字段对应的业务逻辑,确定对所述处于有效监听时间内添加至缓存中的变更数据进行检测的逻辑节点;
检测模块342,可以用于利用预先构建的脚本测试文件,对逻辑节点映射的变更数据进行一致性检测。
需要说明的是,本实施例提供的一种数据一致性检测的装置所涉及各功能单元的其它相应描述,可以参考图1和图2中的对应描述,在此不再赘述。
基于上述如图1和图2所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1和图2所示的数据一致性检测的方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1和图2所示的方法,以及图3、图4所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种数据一致性检测的的实体设备,具体可以为计算机,智能手机,平板电脑,智能手表,服务器,或者网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1和图2所示的数据一致性检测的方法。
可选的,该实体设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种店铺搜索信息处理的实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述店铺搜索信息处理的实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,与目前现有方式相比,利用缓存将优先变更的待检测字段对应的变更数据存储起来,并通过设置缓存的有效监听时间,无需依赖大量数据库的查询操作,能够实现对部分数据的监控,并及时监控到变更数据,减少延迟,提高数据一致性检测时效性。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

Claims (10)

1.一种数据一致性检测的方法,其特征在于,包括:
设置待检测字段以及所述待检测字段对应的业务逻辑;
响应于监控到分布式系统关联的表格数据中与所述待检测字段相关的数据发生变更,将待检测字段对应的变更数据添加至缓存中;
保留处于有效监听时间内的变更数据;
基于所述待检测字段对应的业务逻辑,对所述处于有效监听时间内的变更数据进行一致性检测;
根据一致性检测结果生成提示信息,并发送至与通信工具进行关联的触达平台。
2.根据权利要求1所述的方法,其特征在于,所述分布式系统关联有多个服务器,待检测字段的表格数据写在主服务器中,所述与待检测字段相关的表格数据写在从服务器中,在所述响应于监控到分布式系统关联的表格数据中与所述待检测字段相关的数据发生变更,将待检测字段对应的变更数据添加至缓存中之前,所述方法还包括:
当接收到主服务器的表格数据中所述待检测字段的变更指令时,监控分布式系统关联的从服务器的表格数据中与所述待检测字段相关的数据是否发生变更。
3.根据权利要求2所述的方法,其特征在于,所述监控分布式系统关联的从服务器的表格数据中与所述待检测字段相关的数据是否发生变更,具体包括:
利用binlog日志文件导出对分布式系统关联的从服务器执行的数据库操作,获取数据库操作表格数据产生的变更数据;
监控所述数据库操作表格数据产生的变更数据中是否存在与待检测字段相关的变更数据。
4.根据权利要求1所述的方法,其特征在于,所述待检测字段对应的变更数据以键值的形式存储在缓存中,所述保留处于有效监听时间内的变更数据,具体包括:
预先为缓存中变更数据的键值设置有效监听时间;
基于当前缓存中生成的时间戳判断所述变更数据的键值是否处于有效监听时间内;
若是,则保留处于有效监听时间内的变更数据。
5.根据权利要求4所述的方法,其特征在于,所述基于当前缓存中生成的时间戳判断所述变更数据的键值是否处于有效监听时间内,具体包括:
根据所述变更数据添加至缓存中生成的时间戳以及预先为变更数据的键值设置的有效监听时间,计算变更数据的过期时间;
通过将所述当前缓存中生成的时间戳与所述变更数据的过期时间进行比对,判断所述变更数据的键值是否处于有效监听时间内;
所述若是,则保留处于有效监听时间内的变更数据,具体包括:
若当前缓存中生成的时间戳小于所述变更数据的过期时间,则保留处于有效监听时间内的变更数据。
6.根据权利要求5所述的方法,其特征在于,
若分布式系统关联的表格数据中与所述待检测字段相关的数据同时发生变更,则将同时变更的数据添加至缓存中所生成的时间戳相同,所述根据所述变更数据添加至缓存中生成的时间戳以及预先为变更数据的键值设置的有效监听时间,计算变更数据的过期时间,具体包括:
根据变更数据添加至缓存中生成的相同时间戳以及预先为变更数据的键值设置的有效监听时间,计算所述变更数据的过期时间;
若分布式系统关联的表格数据中与所述待检测字段相关的数据先后发生变更,则将先后变更的数据添加至缓存中所生成的时间戳不同,所述根据所述变更数据添加至缓存中生成的时间戳以及预先为变更数据的键值设置的有效监听时间,计算变更数据的过期时间,具体包括:
根据优先变更的数据添加至缓存中生成的时间戳以及预先为变更数据的键值设置的有效监听时间,计算所述变更数据的过期时间。
7.根据权利要求6所述的方法,其特征在于,所述根据优先变更的数据添加至缓存中生成的时间戳以及预先为变更数据的键值设置的有效监听时间,计算所述变更数据的过期时间,具体包括:
以所述优先变更的数据添加至缓存中生成的时间戳作为有效监听时间的开始时间;
通过将所述有效监听时间的开始时间累加预先为变更数据的键值设置的有效监听时间,计算所述变更数据的过期时间。
8.一种数据一致性检测的装置,其特征在于,包括:
设置单元,用于设置待检测字段以及所述待检测字段对应的业务逻辑;
添加单元,用于响应于监控到分布式系统关联的表格数据中与所述待检测字段相关的数据发生变更,将待检测字段对应的变更数据添加至缓存中;
保留单元,用于保留处于有效监听时间内的变更数据;
检测单元,用于基于所述待检测字段对应的业务逻辑,对所述处于有效监听时间内的变更数据进行一致性检测;
发送单元,用于根据一致性检测结果生成提示信息,并发送至与通信工具进行关联的触达平台。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至7中任一项所述的数据一致性检测的方法。
10.一种数据一致性检测的设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7中任一项所述的数据一致性检测的方法。
CN201911338772.5A 2019-12-23 2019-12-23 数据一致性检测的方法、装置及设备 Active CN111177165B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911338772.5A CN111177165B (zh) 2019-12-23 2019-12-23 数据一致性检测的方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911338772.5A CN111177165B (zh) 2019-12-23 2019-12-23 数据一致性检测的方法、装置及设备

Publications (2)

Publication Number Publication Date
CN111177165A true CN111177165A (zh) 2020-05-19
CN111177165B CN111177165B (zh) 2020-12-18

Family

ID=70653968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911338772.5A Active CN111177165B (zh) 2019-12-23 2019-12-23 数据一致性检测的方法、装置及设备

Country Status (1)

Country Link
CN (1) CN111177165B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737354A (zh) * 2020-06-30 2020-10-02 中国工商银行股份有限公司 数据一致性的检测方法、装置、系统及介质
CN112185575A (zh) * 2020-10-14 2021-01-05 北京嘉和美康信息技术有限公司 一种确定待比对医疗数据的方法和装置
CN112231326A (zh) * 2020-09-30 2021-01-15 新华三大数据技术有限公司 一种检测Ceph对象的方法和服务器
CN112650679A (zh) * 2020-12-28 2021-04-13 广州品唯软件有限公司 一种测试校验方法、装置及计算机系统
CN112948400A (zh) * 2020-09-17 2021-06-11 深圳市明源云科技有限公司 一种数据库管理方法、数据库管理装置及终端设备
CN113486037A (zh) * 2021-07-27 2021-10-08 北京京东乾石科技有限公司 更新缓存数据的方法、管理器和缓存服务器
CN116361391A (zh) * 2023-03-30 2023-06-30 中电云数智科技有限公司 一种数据同步表结构异常检测及修复方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657382A (zh) * 2013-11-21 2015-05-27 阿里巴巴集团控股有限公司 用于MySQL主从服务器数据一致性检测的方法和装置
CN105447046A (zh) * 2014-09-02 2016-03-30 阿里巴巴集团控股有限公司 一种分布式系统数据一致性处理方法、装置和系统
CN107918651A (zh) * 2017-11-14 2018-04-17 北京思特奇信息技术股份有限公司 一种检测数据一致性的方法及系统
CN109033186A (zh) * 2018-06-27 2018-12-18 东软集团股份有限公司 数据一致性检测方法、装置、存储介质及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657382A (zh) * 2013-11-21 2015-05-27 阿里巴巴集团控股有限公司 用于MySQL主从服务器数据一致性检测的方法和装置
CN105447046A (zh) * 2014-09-02 2016-03-30 阿里巴巴集团控股有限公司 一种分布式系统数据一致性处理方法、装置和系统
CN107918651A (zh) * 2017-11-14 2018-04-17 北京思特奇信息技术股份有限公司 一种检测数据一致性的方法及系统
CN109033186A (zh) * 2018-06-27 2018-12-18 东软集团股份有限公司 数据一致性检测方法、装置、存储介质及电子设备

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737354A (zh) * 2020-06-30 2020-10-02 中国工商银行股份有限公司 数据一致性的检测方法、装置、系统及介质
CN112948400A (zh) * 2020-09-17 2021-06-11 深圳市明源云科技有限公司 一种数据库管理方法、数据库管理装置及终端设备
CN112231326A (zh) * 2020-09-30 2021-01-15 新华三大数据技术有限公司 一种检测Ceph对象的方法和服务器
CN112231326B (zh) * 2020-09-30 2022-08-30 新华三大数据技术有限公司 一种检测Ceph对象的方法和服务器
CN112185575A (zh) * 2020-10-14 2021-01-05 北京嘉和美康信息技术有限公司 一种确定待比对医疗数据的方法和装置
CN112185575B (zh) * 2020-10-14 2024-01-16 北京嘉和美康信息技术有限公司 一种确定待比对医疗数据的方法和装置
CN112650679A (zh) * 2020-12-28 2021-04-13 广州品唯软件有限公司 一种测试校验方法、装置及计算机系统
CN112650679B (zh) * 2020-12-28 2024-05-31 广州品唯软件有限公司 一种测试校验方法、装置及计算机系统
CN113486037A (zh) * 2021-07-27 2021-10-08 北京京东乾石科技有限公司 更新缓存数据的方法、管理器和缓存服务器
CN116361391A (zh) * 2023-03-30 2023-06-30 中电云数智科技有限公司 一种数据同步表结构异常检测及修复方法和装置
CN116361391B (zh) * 2023-03-30 2024-05-07 中电云计算技术有限公司 一种数据同步表结构异常检测及修复方法和装置

Also Published As

Publication number Publication date
CN111177165B (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
CN111177165B (zh) 数据一致性检测的方法、装置及设备
CN109034993B (zh) 对账方法、设备、系统及计算机可读存储介质
CN106980625B (zh) 一种数据同步方法、装置及系统
CN111522922A (zh) 日志信息查询方法、装置、存储介质及计算机设备
CN104246767A (zh) 用于云同步系统的遥测系统
US10592327B2 (en) Apparatus, system, and method for analyzing logs
KR102311032B1 (ko) 데이터베이스 동기화
CN108255620B (zh) 一种业务逻辑处理方法、装置、业务服务器及系统
CN111291079A (zh) 一种数据的查询方法和装置
CN112434043B (zh) 一种数据同步方法、装置、电子设备及介质
CN106648994B (zh) 一种备份操作日志的方法,设备和系统
CN110784374A (zh) 业务系统运行状态的监控方法、装置、设备和系统
US20180095819A1 (en) Incident analysis program, incident analysis method, information processing device, service identification program, service identification method, and service identification device
CN112835885A (zh) 一种分布式表格存储的处理方法、装置及系统
CN114844771A (zh) 微服务系统的监测方法、装置、存储介质、程序产品
CN105574026A (zh) 非关系型数据库支持事务的方法及装置
CN111078418B (zh) 操作同步方法、装置、电子设备及计算机可读存储介质
CN111930788B (zh) 操作请求的处理方法、装置、设备、可读存储介质及系统
CN113238815A (zh) 一种接口访问控制方法、装置、设备及存储介质
CN109542850B (zh) 一种文件的worm属性更新方法、装置、设备及介质
CN107291575B (zh) 一种数据中心故障时的处理方法和设备
CN110928945B (zh) 一种针对数据库的数据处理方法及装置,数据处理系统
CN111309693A (zh) 一种数据同步方法、装置、系统、电子设备及存储介质
CN115237889A (zh) 数据库切换方法及装置、存储介质、计算机设备
CN106375354B (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
GR01 Patent grant
GR01 Patent grant