首页> 中国专利> 一种基于两级缓存的跨网络数据同步及异常处理方法

一种基于两级缓存的跨网络数据同步及异常处理方法

摘要

本发明提供了一种基于两级缓存的跨网络数据同步及异常处理方法。在本发明中,通过采用多级缓存和多线程处理方式,提高了业务平台接口层的处理能力,防止大批量开通业务时产生的丢单、响应超时等问题。业务平台能够在不同网络的系统之间,实时同步业务报文数据。同时,通过将缓存与数据库结合,减少多个系统业务处理逻辑顺序和数据规范不同导致的业务异常,并实现自动化异常处理。

著录项

  • 公开/公告号CN113849526A

    专利类型发明专利

  • 公开/公告日2021-12-28

    原文格式PDF

  • 申请/专利权人 天翼数字生活科技有限公司;

    申请/专利号CN202110973490.3

  • 发明设计人 王雪宁;何志超;秦晨;

    申请日2021-08-24

  • 分类号G06F16/2455(20190101);G06F16/27(20190101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人胡利鸣;蔡悦

  • 地址 200072 上海市静安区万荣路1256、1258号1423室

  • 入库时间 2023-06-19 13:26:15

说明书

技术领域

本发明涉及数据处理,主要涉及一种多个系统之间的跨网络业务数据同步及异常业务的自动化处理方法。

背景技术

在由多系统成的跨网络环境中,业务平台需要在不同系统之间同步业务数据,通常采用定时批量同步的方式,数据会存在延迟、且会导致处理接口瞬时压力骤增,易出现数据丢失、响应超时等问题。此外,由于各系统对于复杂业务的处理顺序和数据规范存在差异,业务平台需适配由此导致的数据同步异常。

因此,需要针对跨网络环境交互的多个系统,业务数据同步延迟大、复杂交互异常率高的问题的解决方案。

发明内容

提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步的描述一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。

目前针对跨网络多系统的数据同步,通常采用定时批量的同步方式,存在较大延迟。本发明提供了可提高跨网络多系统环境下的数据同步方法,并且可以提高同步的实时性。

目前在多个系统的对接过程中,针对同类业务的报文发送顺序和数据规范存在差异,复杂业务易出现异常,需人工审核处理,效率较低。本发明在保证数据同步先后顺序的同时减小接口压力,并实现自动化处理异常数据。

根据本发明的一个实施例,提供了一种基于两级缓存的跨网络数据同步及异常处理方法,包括:对接收自上游系统的报文进行校验;将通过校验的报文存入一级缓存;依次从所述一级缓存中读取报文,对每个读取的报文进行业务处理,所述业务处理包括判断每个读取的报文的顺序是否正确;如果读取的报文的顺序正确,则对所述读取的报文进行业务处理并将所述读取的报文存入二级缓存;如果读取的报文的顺序不正确,则将所述读取的报文作为异常报文存入数据库;从所述数据库读取异常报文,并对每个读取的异常报文再次进行所述业务处理;如果读取的异常报文的顺序正确,则所述异常报文存入二级缓存;以及将所述二级缓存中的报文同步到下游系统。

根据本发明的另一个实施例,提供了一种基于两级缓存的跨网络数据同步及异常处理系统,包括:业务平台数据接收接口,所述业务平台数据接收接口被配置为对接收自上游系统的报文进行校验,并将通过校验的报文存入一级缓存;业务平台,所述业务平台被配置为:依次从所述一级缓存中读取报文,对每个读取的报文进行业务处理,所述业务处理包括判断每个读取的报文的顺序是否正确;如果读取的报文的顺序正确,则对所述读取的报文进行业务处理并将所述读取的报文存入二级缓存;如果读取的报文的顺序不正确,则将所述读取的报文作为异常报文存入数据库;异常处理模块,所述异常处理模块被配置为:定时从所述数据库读取异常报文,并对每个读取的异常报文再次进行所述业务处理;如果读取的异常报文的顺序正确,则所述异常报文存入二级缓存;以及业务同步模块,所述业务同步模块被配置为将所述二级缓存中的报文同步到下游系统。

根据本发明的另一个实施例,提供了一种用于基于两级缓存的跨网络数据同步及异常处理的计算设备,包括:处理器;存储器,所述存储器存储有指令,所述指令在被所述处理器执行时能执行上述所述的方法。

通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。应该理解,前面的概括说明和下面的详细描述只是说明性的,不会对所要求保护的各方面形成限制。

附图说明

为了能详细地理解本发明的上述特征所用的方式,可以参照各实施例来对以上简要概述的内容进行更具体的描述,其中一些方面在附图中示出。然而应该注意,附图仅示出了本发明的某些典型方面,故不应被认为限定其范围,因为该描述可以允许有其它等同有效的方面。

图1示出了根据本发明的一个实施例的基于两级缓存的跨网络业务同步及异常处理系统100的示意图;

图2示出了根据本发明的一个实施例的基于两级缓存的跨网络业务同步及异常处理方法200的流程图;

图3示出了根据本发明的一个实施例的用户账号开通方法300的示图;

图4示出了根据本发明的一个实施例的业务订购方法400的示图;以及

图5示出了根据本发明的一实施例的可应用于本发明的各方面的硬件设备的计算设备500的框图。

具体实施方式

下面结合附图详细描述本发明,本发明的特点将在以下的具体描述中得到进一步的显现。

本发明主要解决以下问题:解决业务平台在多个系统之间同步业务数据时,接口处理压力骤增导致的丢单、响应超时等问题;解决不同系统网络环境之间网关带宽有限的情况下,业务平台向各系统同步业务数据的实时性问题;解决各系统对于同类业务的逻辑顺序和数据规范差异导致的处理失败问题,实现对异常数据的自动化处理。

为解决批量接收业务数据时,接口处理压力骤增导致的丢单、响应超时等问题,本发明在数据接口和业务平台之间设置一级缓存,缓存设置多个通道,接口解密报文并完成基础参数校验后直接同步返回,将数据流水号取哈希值后分配至一级缓存的哈希值相同的通道;后续由业务平台多线程处理不同缓存通道的数据,异步通知上游系统,数据库记录报文原始数据和处理状态,在不影响后续业务处理的同时减小接口处理瞬时压力。

为解决处于不同网络环境的系统业务数据的实时同步问题,本发明采用第二级缓存连通下游各系统网络。平台完成业务处理后,生成通知消息存入二级缓存,由处于待同步系统网络的数据同步模块完成业务同步。

为解决各系统对于复杂业务的处理顺序和同步规范差异导致的处理失败,本发明自动化处理异常数据,业务平台针对各系统数据进行统一转换,两级缓存均采用先进先出模式,处理业务时首先判断前置逻辑是否已完成,若未接收到前置业务的业务同步数据,则将当前数据报文暂存在持久化保存在数据库,方便后续统计,并采用异步线程读取的方式再次进行上述判断操作,直到前置逻辑完成。

图1示出了根据本发明的一个实施例的基于两级缓存的跨网络业务同步及异常处理系统100的示意图。该系统100包括业务平台数据接收接口101,一级缓存102,业务平台103,数据库104,异常处理模块105,二级缓存106以及业务同步模块107。其中,业务平台数据接收接口101,一级缓存102,业务平台103,数据库104,异常处理模块105位于网络A中,而业务同步模块107位于网络B中。二级缓存106连接网络A和网络B。根据本发明的一个实施例,网络A可以为公司内部的私网,而网络B可以为公网。上述各模块独立运行,由两级缓存102、106和数据库104实现连接,缓存分别进行持久化备份,各模块独立运行,保证每一级处理的可靠性。

其中,上述任何模块可以与任何其他模块通信,但出于容易解说的目的而未示出所有连接。并且,本领域的技术人员完全可以理解,本文仅仅是出于解说的目的来解说上述各个模块,上述模块中的一者或多者的功能可被合并到单个模块或拆分到多个模块中。并且,上述模块中的一者或多者可用软件、硬件或其组合的方式来实现。

根据本发明的一个实施例,业务平台数据接收接口101被配置为接收来自上游系统(例如,一个或多个上游系统,上游系统A、上游系统B和/或上游系统C)的数据(诸如,业务消息、报文)。业务平台数据接收接口101被进一步配置为对接收到的数据进行合法性校验,并将校验结果同步返回给上游系统。此外,业务平台数据接收接口101还被配置为将通过校验的数据存入一级缓存102。根据本发明的一个实施例,一级缓存102设置有多个通道,业务平台数据接收接口101将数据流水号取哈希值后分配至一级缓存102的哈希值相同的通道。

根据本发明的一个实施例,业务平台103被配置为从一级缓存102中读取数据进行相应的业务处理。该业务处理包括判断所要进行业务处理的数据的顺序是否正确。本文中所描述的“数据的顺序是否正确”指如果对该数据的业务处理需要依赖于前序业务处理,则判断该前序业务处理是否已经完成。如果完成,则表明该数据的顺序是正确的,如果没有完成,则表明该数据的顺序是不正确的。

如果业务处理成功,业务平台103进一步将处理成功的报文存储到二级缓存106中,如果业务处理不成功,业务平台103进一步将处理不成功的报文存储到数据库104中。处理不成功的报文在本发明的上下文中被称为“异常报文”。根据本发明的一个实施例,业务平台103被配置为多线程处理一级缓存102中不同缓存通道的数据,并将处理结果异步返回给上游系统。

根据本发明的一个实施例,业务平台103被配置为在将报文存储到二级缓存106或数据库104之前,将报文转换为与下游系统预先协商好的或符合下游系统所常用的报文字段以及报文格式。

根据本发明的一个实施例,异常处理模块105被配置为定时读取数据库104中的异常报文以重新进行业务处理,并将经重新业务处理成功的报文存储到二级缓存106中。根据本发明的一个实施例,异常处理模块105被配置为将处理结果返回给上游系统。根据本发明的一个实施例,数据库104中的每个异常报文具有指示该异常报文的处理失败次数的计数器。如果与异常报文相关联的计数器的值大于一预定阈值,则异常处理模块105将不再处理该异常报文。

根据本发明的一个实施例,业务同步模块107被配置为将二级缓存106中的数据同步到处于网络B的下游系统。

由此,本发明的系统100采用第一级缓存102和多线程处理方式提高接口层的并发处理能力;业务平台103对不同报文进行统一转换,提高系统兼容性;结合数据库104暂存发送顺序异常的报文,由异常处理模块105自动化处理,提高系统可靠性;采用第二级缓存106保证消息顺序并连接数据处理平台与待同步系统网络,提高数据同步实时性。

图2示出了根据本发明的一个实施例的基于两级缓存的跨网络业务同步及异常处理方法200的流程图。该方法200主要描述了对接收自位于一网络内的上游系统的报文进行业务处理,并将处理结果同步到另一不同网络内的下游系统的场景。

在步骤201,上游系统向业务平台发送报文。根据本发明的一个实施例,上游系统处于一网络内。根据本发明的另一个实施例,多个上游系统可向业务平台发送多个报文。

下面以用户在营业厅办理由第三方厂商提供的增值业务,业务工单从运营商内部网络发送至业务平台进行施工,再向公网第三方同步为例,详细阐述本发明的具体实施步骤(以下简称“营业厅示例”)。例如,在本步骤中,用户在营业厅办理增值业务,营业厅根据手机号和具体业务生成开户工单、业务订购工单。营业厅分别通过服务开通系统和订购系统向业务平台发送报文。由于各地区针对业务订购的处理流程不同,开户报文和订购报文存在先后顺序差异。

在步骤202,业务平台数据接口接收报文并进行校验。根据本发明的一个实施例,业务平台数据接口经基础参数校验后,将校验结果(例如,校验成功、检验失败等)同步返回到上游系统。该检验主要是针对报文的数据格式、是否来自于合法发送方等进行基础性校验。

继续上述营业厅示例,在本步骤中,业务平台数据接口接收开户报文和订购报文,对发送方身份及参数合法性进行校验,并将工单接收结果同步返回给开通系统和订购系统。

在步骤203,业务平台数据接口将通过校验的报文存入一级缓存中。继续上述营业厅示例,在本步骤中,业务平台数据接口对报文流水号生成哈希值后分配至一级缓存。

在步骤204,业务平台依次从一级缓存中读取报文,并对每个读取的报文进行业务处理。该业务处理包括判断顺序是否正确,若正确则进入步骤205,如不正确,则进入步骤206。根据本发明的一个实施例,业务平台根据先进先出的次序来从一级缓存中读取报文。根据本发明的一个实施例,判断报文顺序是否正确包括判断对报文进行业务处理所需的前序业务处理是否已完成。

在步骤205,将顺序正确的报文存入二级缓存。

在步骤206,将顺序不正确的报文作为异常报文存入数据库。根据本发明的一个实施例,数据库可以为MySQL。根据本发明的一个实施例,报文作为异常报文存入数据库代表与该报文有关的业务处理是失败的,则数据库中与该异常报文相关联的计数器被加1。

继续上述营业厅示例,在步骤204-206中,业务平台(可进行多线程业务处理)依次从一级缓存读取数据进行业务处理。如果读取的报文为开户报文,按照图3所示的处理流程为用户生成业务账号并与手机号进行绑定,通知上游系统开户工单已竣工,将账号信息存入二级缓存。如果读取的报文为订购报文,按照图4所示的处理流程判断用户是否已生成账号,若账号正常则生成并记录订购关系,通知上游系统订购工单已竣工,将订购报文存入二级缓存。若账号未生成,则视为异常报文并存入数据库。

在步骤207,异常处理模块从数据库读取异常报文,并对读取的异常报文再次进行业务处理,该业务处理包括判断异常报文顺序是否正确,若正确则进入步骤205(即,将报文存入二级缓存);若不正确,则进入步骤206(即,将异常报文存入数据库)。根据本发明的一个实施例,异常处理模块首先读取与异常报文关联的计数器,如果计数器的值大于预定阈值,则表示该异常报文已经被处理失败达预定最大次数,异常处理模块将不对该异常报文再次进行业务处理。根据本发明的一个实施例,如果该异常报文再次进行业务处理依然是失败的,则与该异常报文相关联的计数器被加1。

根据本发明的一个实施例,步骤207可被定期执行,以对异常报文进行处理。

继续上述营业厅示例,在本步骤中,异常处理模块定时读取数据库中的异常报文重新处理,若处理完成,则通知上游系统订购工单已竣工,将订购报文存入二级缓存。若仍处理失败则再次入库,记录处理失败次数,超过设定的预定阈值(例如,最大次数)后不再处理该工单。

在步骤208,业务同步模块将二级缓存中的报文同步至下游系统。根据本发明的一个实施例,业务同步模块依次读取二级缓存中的报文并传送至下游系统,其中下游系统处于与上游系统不同的网络中。在步骤204-207之后,连通两个不同网络的二级缓存中的报文的顺序是符合业务处理前后逻辑的。根据本发明的一个实施例,将二级缓存中的报文同步至下游系统包括将报文发送到下游系统。

继续上述营业厅示例,在本步骤中,根据前序步骤204-207的处理,此时二级缓存中工单顺序已调整为开通在前,订购在后,二级缓存连接运营商内部网络和公网,由业务同步模块依次读取后将开通和订购报文同步至公网中的第三方合作厂商平台。

图3示出了根据本发明的一个实施例的用户账号开通方法300的示图。该方法300针对上述营业厅示例。

在步骤301,上游系统向业务平台发送账号开通报文。在步骤302,业务平台数据接口对请求参数做基础合法性校验,并同步返回上游系统。在步骤303,将通过校验的数据存入一级缓存,由此数据进入处理队列。在步骤304,业务平台模块处理业务逻辑,例如账号开通逻辑:(步骤304-1)若已存在用户且为正常状态,只记录开通报文;(步骤304-2)若已存在用户且为停机状态,只记录开通报文;(步骤304-3)若已存在用户且为销户状态,重新生成业务账号并开通,记录开通报文;(步骤304-4)若用户不存在,则新开业务账号,记录开通报文。在步骤305,将开通结果异步返回至上游系统。在步骤306,将开通报文存入二级缓存。在步骤307,将开通报文同步至下游系统。

图4示出了根据本发明的一个实施例的业务订购方法400的示图。该方法400针对上述营业厅示例。即,方法400针对存在逻辑关系的业务处理及异常处理流程(以账号开通和订购为例)。

在步骤401,上游系统向业务平台发送业务数据,例如订购请求。在步骤402,业务平台数据接口对请求参数基础校验,同步返回上游系统。在步骤403,将通过校验的订购报文存入一级缓存。在步骤404,业务平台模块处理业务逻辑,例如订购逻辑:(步骤404-1)若订购账户没有开通记录,则将订购报文暂时存入数据库,等待开通报文到达后再次处理;(步骤401-2)若订购账户已开户,则生成并记录相应账户权益,并将订购报文同步到下游系统,以向下游系统发起订购同步消息。

本发明与现有技术相比,其显著优点为:

(1)当遇到大批量数据时,采用第一级缓存和多线程异步处理业务逻辑,提高系统在高并发场景下的处理能力,减少响应超时引起的丢单等问题;

(2)对于处于不同网络环境的系统,业务平台设置二级缓存连接不同网络,使得业务数据能够实时同步;

(3)将第二级缓存与数据库结合,自动化处理各系统由于业务逻辑顺序和业务规范不同导致的数据异常。

图5示出了根据本发明的一实施例的可应用于本发明的各方面的硬件设备的计算设备500的框图。例如,本发明中的上游系统、业务平台、下游系统等可被实现为计算设备500或被实现在计算设备500中。

参考图5,计算设备500可以是可被配置成用于实现处理和/或计算的任何机器,可以是但并不局限于工作站、服务器、桌面型计算机、膝上型计算机、平板计算机、个人数字处理、智能手机、车载计算机、家用摄像头、会议录像设备、道路摄像头或者它们的任何组合。前述的各种方法/装置/服务器/客户端设备可全部或者至少部分地由计算设备500或者类似设备或系统来实现。

计算设备500可包括可经由一个或多个接口和总线502连接或通信的组件。例如,计算设备500可包括总线502、一个或多个处理器504、一个或多个输入设备506以及一个或多个输出设备508。该一个或多个处理器504可以是任何类型的处理器并且可包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如,专门的处理芯片)。输入设备506可以是任何类型的能够向计算设备输入信息的设备并且可以包括但不限于鼠标、键盘、触摸屏、麦克风、摄像头和/或远程控制器。输出设备508可以是任何类型的能够呈现信息的设备并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。计算设备500也可以包括非瞬态存储设备510或者与所述非瞬态存储设备相连接,所述非瞬态存储设备可以是非瞬态的并且能够实现数据存储的任何存储设备,并且所述非瞬态存储设备可以包括但不限于磁盘驱动器、光存储设备、固态存储器、软盘、软磁盘、硬盘、磁带或任何其它磁介质、光盘或任何其它光介质、ROM(只读存储器)、RAM(随机存取存储器)、高速缓冲存储器和/或任何存储芯片或盒式磁带、和/或计算机可从其读取数据、指令和/或代码的任何其它介质。非瞬态存储设备510可从接口分离。非瞬态存储设备510可具有用于实施上述方法和步骤的数据/指令/代码。计算设备500也可包括通信设备512。通信设备512可以是任何类型的能够实现与内部装置通信和/或与网络通信的设备或系统并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组,例如蓝牙设备、IEEE1302.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似设备。

总线502可以包括但不限于工业标准结构(ISA)总线、微通道结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外部设备互连(PCI)总线。

计算设备500还可包括工作存储器514,该工作存储器514可以是任何类型的能够存储有利于处理器504的工作的指令和/或数据的工作存储器并且可以包括但不限于随机存取存储器和/或只读存储设备。

软件组件可位于工作存储器514中,这些软件组件包括但不限于操作系统516、一个或多个应用程序518、驱动程序和/或其它数据和代码。用于实现本发明上述方法和步骤的指令可包含在所述一个或多个应用程序518中,并且可通过处理器504读取和执行所述一个或多个应用程序518的指令来实现本发明的上述方法200。

也应该认识到可根据具体需求而做出变化。例如,也可使用定制硬件、和/或特定组件可在硬件、软件、固件、中间件、微代码、硬件描述语音或其任何组合中实现。此外,可采用与其它计算设备、例如网络输入/输出设备等的连接。例如,可通过具有汇编语言或硬件编程语言(例如,VERILOG、VHDL、C++)的编程硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)利用根据本发明的逻辑和算法来实现所公开的方法和设备的部分或全部。

尽管目前为止已经参考附图描述了本发明的各方面,但是上述方法、系统和设备仅是示例,并且本发明的范围不限于这些方面,而是仅由所附权利要求及其等同物来限定。各种组件可被省略或者也可被等同组件替代。另外,也可以在与本发明中描述的顺序不同的顺序实现所述步骤。此外,可以按各种方式组合各种组件。也重要的是,随着技术的发展,所描述的组件中的许多组件可被之后出现的等同组件所替代。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号