链路数据一致性的检测方法、装置及服务器与流程

文档序号:32818253发布日期:2023-01-04 04:20阅读:38来源:国知局
1.本发明涉及互联网
技术领域
:,尤其是涉及一种链路数据一致性的检测方法、装置及服务器。
背景技术
::2.目前,互联网产品中的部分数据的正确性极为重要,经业务处理后数据必须一致,诸如消费者提交订单后,商品sku(stockkeepingunit,最小存货单位)扣除的库存和订单商品sku数量需保持一致。相关技术提出可以通过定时任务,按照一定规则判定数据的一致性,虽然该方案实现原理简单,但是在并发性较高的场景下很难排查出导致数据不一致的原因,因此现有方案存在性能较差的问题。技术实现要素:3.有鉴于此,本发明的目的在于提供一种链路数据一致性的检测方法、装置及服务器,可以高效、可靠地检测链路数据是否具有一致性,以及可以检测出存在异常的链路等,从而显著提高链路数据一致性的检测性能。4.第一方面,本发明实施例提供了一种链路数据一致性的检测方法,包括:确定待检测链路对应的全局链路标识;将所述全局链路标识插入至所述待检测链路的链路数据;基于所述全局链路标识对所述待检测链路进行数据一致性检测,得到所述待检测链路的一致性检测结果。5.在一种实施方式中,所述确定待检测链路对应的全局链路标识的步骤,包括:确定待检测链路对应的链路入口端点,以通过所述链路入口端点生成所述待检测链路对应的全局链路标识。6.在一种实施方式中,所述将所述全局链路标识插入至所述待检测链路的链路数据的步骤,包括:向链路数据监控系统发送链路解析指令,以使所述链路数据监控系统解析所述待检测链路,得到所述待检测链路包含的链路数据,并将所述全局链路标识插入至所述待检测链路中的目标链路数据。7.在一种实施方式中,所述待检测链路的数量为至少一个;所述基于所述全局链路标识对所述待检测链路进行数据一致性检测,得到所述待检测链路的一致性检测结果的步骤,包括:向数据库系统发送数据捕获指令,以使所述数据库系统从所述链路数据监控系统中捕获所述数据库表;其中,所述数据库表中存储有至少一个所述待检测链路的所述目标链路数据;从所述数据库表中提取包含有目标全局链路标识的目标链路数据;对包含有所述目标全局链路标识的目标链路数据进行数据一致性检测,得到所述目标全局链路标识对应的所述待检测链路的一致性检测结果。8.在一种实施方式中,所述对包含有所述目标全局链路标识的目标链路数据进行数据一致性检测,得到所述目标全局链路标识对应的所述待检测链路的一致性检测结果的步骤,包括:确定所述目标全局链路标识对应的判定规则;利用所述判定规则对包含有所述目标全局链路标识的目标链路数据进行数据一致性检测,得到所述目标全局链路标识对应的所述待检测链路的一致性检测结果。9.在一种实施方式中,在所述基于所述全局链路标识对所述待检测链路进行数据一致性检测,得到所述待检测链路的一致性检测结果的步骤之后,所述方法还包括:如果所述一致性检测结果为数据不一致,生成所述待检测链路对应的数据变更告警。10.在一种实施方式中,链路数据监控系统包括apm监控系统,数据库系统包括cdc系统。11.第二方面,本发明实施例还提供一种链路数据一致性的检测装置,包括:标识确定模块,用于确定待检测链路对应的全局链路标识;标识插入模块,用于将所述全局链路标识插入至所述待检测链路的链路数据;一致性检测模块,用于基于所述全局链路标识对所述待检测链路进行数据一致性检测,得到所述待检测链路的一致性检测结果。12.第三方面,本发明实施例还提供一种服务器,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现第一方面提供的任一项所述的方法。13.第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现第一方面提供的任一项所述的方法。14.本发明实施例提供的一种链路数据一致性的检测方法、装置及服务器,可以确定待检测链路对应的全局链路标识,并将全局链路标识插入至待检测链路的链路数据,进而可以基于全局链路标识对待检测链路进行数据一致性检测,得到待检测链路的一致性检测结果。上述方法通过将待检测链路对应的全局链路标识插入至待检测链路包含的链路数据中,可以实现基于全局链路标识对相应的待检测链路进行数据一致性检测,从而可以高效、可靠地从诸多链路中定位出存在数据不一致的链路,从而显著提高链路数据一致性的检测性能。15.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。16.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明17.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。18.图1为本发明实施例提供的一种链路数据一致性的检测方法的流程示意图;19.图2为本发明实施例提供的另一种链路数据一致性的检测方法的流程示意图;20.图3为本发明实施例提供的一种链路数据一致性的检测装置的结构示意图;21.图4为本发明实施例提供的一种服务器的结构示意图。具体实施方式22.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。23.目前,现有方案存在性能较差的问题,基于此,本发明实施提供了一种链路数据一致性的检测方法、装置及服务器,可以高效、可靠地检测链路数据是否具有一致性,以及可以检测出存在异常的链路等,从而显著提高链路数据一致性的检测性能。24.为便于对本实施例进行理解,首先对本发明实施例所公开的一种链路数据一致性的检测方法进行详细介绍,参见图1所示的一种链路数据一致性的检测方法的流程示意图,该方法主要包括以下步骤s102至步骤s106:25.步骤s102,确定待检测链路对应的全局链路标识。其中,待检测链路也可以称之为核心链路和重要链路,全局链路标识也即全局id(identitydocument,身份标识号)。在一种实施方式中,可以通过指定链路入口端点,以通过指定链路入口端点生成待检测链路对应的全局id。26.步骤s104,将全局链路标识插入至待检测链路的链路数据。在一种实施方式中,可以利用链路数据监控系统解析待检测链路,以得到该待检测链路下所有数据库插入、更新语句,该语句即为链路数据,并在语句中动态插入、更新待检测链路的全局id。27.步骤s106,基于全局链路标识对待检测链路进行数据一致性检测,得到待检测链路的一致性检测结果。在一种实施方式中,待检测链路数据可以为多个,每个待检测链路数据均对应有唯一的全局id,因此可以对插入有同一全局id的链路数据进行数据一致性检测,得到每个待检测链路的一致性检测结果,其中,一致性检测结果包括数据一致和数据不一致,数据不一致的待检测链路存在异常。28.本发明实施例提供的链路数据一致性的检测方法,通过将待检测链路对应的全局链路标识插入至待检测链路包含的链路数据中,可以实现基于全局链路标识对相应的待检测链路进行数据一致性检测,从而可以高效、可靠地从诸多链路中定位出存在数据不一致的链路,从而显著提高链路数据一致性的检测性能。29.为便于对前述步骤s102进行理解,本发明实施例提供了一种确定待检测链路对应的全局链路标识的实施方式,可以确定待检测链路对应的链路入口端点,以通过链路入口端点生成待检测链路对应的全局链路标识。在具体实现时,如果接收到用户发送的端点指定请求,即可确定需要检测数据一致性的链路入口端点,该链路入口端点可以用于生成每个待检测链路对应的全局id。30.为便于对前述步骤s104进行理解,本发明实施例还提供了一种将全局链路标识插入至待检测链路的链路数据的实施方式,可以向链路数据监控系统发送链路解析指令,以使链路数据监控系统解析待检测链路,得到待检测链路包含的链路数据,并将全局链路标识插入至待检测链路中的目标链路数据。其中,链路数据监控系统包括apm(applicationperformancemanagement,应用性能管理)监控系统或其他第三方链路监控系统。以apm监控系统为例,向apm监控系统发送链路解析指令,apm监控系统将解析该待检测链路下所有数据库插入、更新语句,再在语句中动态插入、更新该待检测链路的全局id,以使该待检测链路相关的语句均与该待检测链路的全局id关联,便于后续基于全局id对该待检测链路进行数据一致性检测。31.为便于对前述步骤s106进行理解,本发明实施例还提供了一种基于全局链路标识对待检测链路进行数据一致性检测,得到待检测链路的一致性检测结果的实施方式,参见如下步骤1至步骤3:32.步骤1,向数据库系统发送数据捕获指令,以使数据库系统从链路数据监控系统中捕获数据库表。其中,待检测链路的数量为至少一个,数据库表中存储有至少一个待检测链路的目标链路数据,目标链路数据可以为待检测链路所包含的全部语句,也可以为指定的部分语句,具体可基于实际需求进行设置,本发明实施例对此不进行限制,数据库系统包括cdc(cdc,changedatacapture变化数据捕获)系统。在一种实施方式中,可以通过apm监控系统将待检测链路的语句存储于数据库表中,并通过cdc系统捕获apm监控系统指定的数据库表。33.步骤2,从数据库表中提取包含有目标全局链路标识的目标链路数据。34.步骤3,对包含有目标全局链路标识的目标链路数据进行数据一致性检测,得到目标全局链路标识对应的待检测链路的一致性检测结果。在一种实施方式中,可以确定目标全局链路标识对应的判定规则,从而利用判定规则对包含有目标全局链路标识的目标链路数据进行数据一致性检测,得到目标全局链路标识对应的待检测链路的一致性检测结果。在一种实施方式中,对不同业务中的待检测链路进行数据一致性检测所需的判定规则可能不同,在实际应用中需要依据实际需求配置待检测链路对应的判定规则。可选的,可以建立判定规则与待检测链路的全局id之间的映射关系,并基于该映射关系高效、准确地从诸多判定规则中确定所需的判定规则,进而利用判定规则判断同一全局id下,待检测链路的数据一致性检测结果。本发明示例性提供了一种利用判定规则对包含有目标全局链路标识的目标链路数据进行数据一致性检测的应用示例,具体的:35.买家账户、卖家账户:36.buyer_account_talbe(id;trace_id;user_id;amount);37.seller_account_table(id;trace_id;user_id;amount);38.用户购买商品后,cdc系统捕获如下事件数据:39.买家账户表变更:40.{"schema":{...},"payload":{"before":{"id":1,"trace_id":"18cac3a83d364e41acd3a0b8502e74a3.596.16660572650531909","user_id":41.234,"account":200},"after":{"id":1,"trace_id":"5b073dc481e745348368684d5903b27a.588.16660572016628961","user_id":234,"account":100},"source":{"table":"buyer_account_table",...},"op":"u","ts_ms":1465584025523}}42.卖家账户表变更:43.{"schema":{...},"payload":{"before":{"id":1,"trace_id":"18cac3a83d364e41acd3a0b8502e74a3.596.16660572650531909","user_id":456,"account":500},"after":{"id":1,"trace_id":"5b073dc481e745348368684d5903b27a.588.16660572016628961"。44.在一种可选的实施方式中,如果一致性检测结果为数据不一致,生成待检测链路对应的数据变更告警,从而能够实时监控并告警,并且能够打通问题排查时,确定出异常的链路、链路节点的参数数据、链路日志、各个相关核心数据。45.为便于对前述实施例进行理解,本发明实施例提供了另一种链路数据一致性的检测方法,参见图2所示的另一种链路数据一致性的检测方法的流程示意图,该方法主要包括以下步骤s202至步骤s210:46.步骤s202,指定待检测数据一致性的链路入口端点。47.步骤s204,apm监控系统解析该链路虾所有数据库插入、更新语句,在数据库中动态插入、更新该链路的全局id。48.步骤s206,通过cdc系统捕获apm监控系统指定的数据库表。49.步骤s208,通过数据库表获取的数据,以指定的规则判断同一全局id下的数据一致性。50.步骤s210,如果数据不一致,通过告警服务发出告警。51.综上所述,本发明实施例提供的链路数据一致性的检测方法,可以高效、可靠地从诸多链路中定位出存在数据不一致的链路,从而显著提高链路数据一致性的检测性能。52.对于前述实施例提供的链路数据一致性的检测方法,本发明实施例提供了一种链路数据一致性的检测装置,参见图3所示的一种链路数据一致性的检测装置的结构示意图,该装置主要包括以下部分:53.标识确定模块302,用于确定待检测链路对应的全局链路标识;54.标识插入模块304,用于将全局链路标识插入至待检测链路的链路数据;55.一致性检测模块306,用于基于全局链路标识对待检测链路进行数据一致性检测,得到待检测链路的一致性检测结果。56.本发明实施例提供的链路数据一致性的检测装置,通过将待检测链路对应的全局链路标识插入至待检测链路包含的链路数据中,可以实现基于全局链路标识对相应的待检测链路进行数据一致性检测,从而可以高效、可靠地从诸多链路中定位出存在数据不一致的链路,从而显著提高链路数据一致性的检测性能。57.在一种实施方式中,标识确定模块302还用于:确定待检测链路对应的链路入口端点,以通过链路入口端点生成待检测链路对应的全局链路标识。58.在一种实施方式中,标识插入模块304还用于:向链路数据监控系统发送链路解析指令,以使链路数据监控系统解析待检测链路,得到待检测链路包含的链路数据,并将全局链路标识插入至待检测链路中的目标链路数据。59.在一种实施方式中,待检测链路的数量为至少一个一致性检测模块306还用于:向数据库系统发送数据捕获指令,以使数据库系统从链路数据监控系统中捕获数据库表;其中,数据库表中存储有至少一个待检测链路的目标链路数据;从数据库表中提取包含有目标全局链路标识的目标链路数据;对包含有目标全局链路标识的目标链路数据进行数据一致性检测,得到目标全局链路标识对应的待检测链路的一致性检测结果。60.在一种实施方式中,一致性检测模块306还用于:确定目标全局链路标识对应的判定规则;利用判定规则对包含有目标全局链路标识的目标链路数据进行数据一致性检测,得到目标全局链路标识对应的待检测链路的一致性检测结果。61.在一种实施方式中,上述装置还包括告警模块,用于:如果一致性检测结果为数据不一致,生成待检测链路对应的数据变更告警。62.在一种实施方式中,链路数据监控系统包括apm监控系统,数据库系统包括cdc系统。63.本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。64.本发明实施例提供了一种服务器,具体的,该服务器包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被所述处理器运行时执行如上所述实施方式的任一项所述的方法。65.图4为本发明实施例提供的一种服务器的结构示意图,该服务器100包括:处理器40,存储器41,总线42和通信接口43,所述处理器40、通信接口43和存储器41通过总线42连接;处理器40用于执行存储器41中存储的可执行模块,例如计算机程序。66.其中,存储器41可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口43(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。67.总线42可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。68.其中,存储器41用于存储程序,所述处理器40在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器40中,或者由处理器40实现。69.处理器40可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器40中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器40可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器40读取存储器41中的信息,结合其硬件完成上述方法的步骤。70.本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见前述方法实施例,在此不再赘述。71.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。72.最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1