CN115374339A - 基于Spring AOC面向切面思想开发的数据接收保存推送补偿方法 - Google Patents

基于Spring AOC面向切面思想开发的数据接收保存推送补偿方法 Download PDF

Info

Publication number
CN115374339A
CN115374339A CN202211031141.0A CN202211031141A CN115374339A CN 115374339 A CN115374339 A CN 115374339A CN 202211031141 A CN202211031141 A CN 202211031141A CN 115374339 A CN115374339 A CN 115374339A
Authority
CN
China
Prior art keywords
message
interface
pushing
orderno
service
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
Application number
CN202211031141.0A
Other languages
English (en)
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.)
Shanghai Health Magnesium Technology Co ltd
Original Assignee
Shanghai Health Magnesium Technology 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 Shanghai Health Magnesium Technology Co ltd filed Critical Shanghai Health Magnesium Technology Co ltd
Priority to CN202211031141.0A priority Critical patent/CN115374339A/zh
Publication of CN115374339A publication Critical patent/CN115374339A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了基于Spring AOC面向切面思想开发的数据接收保存推送补偿方法,包括步骤:对外服务商收到外部应用请求,使用基于AOP切面开发的注解自动化实现请求报文的保存;切面方法会同步该请求报文,同时返回接口将返回报文记录在ES中存储;待接口方法走完后,系统将此次请求报文以及此次接口类型,需要发送的服务名等丢在消息队列中,Mq消费者监听到此次消息在发送指定服务的方法上使用注解@compensate,并指定其属性businessNo字段值为orderNo;若发送成功,在接口推送表中记录一条成功日志,关键字段有orderNo;在程序中添加批处理执行机制,监控接口推送表中的推送记录。本发明能实现自动记录日志,数据库记录,并推送服务方,定时补偿。

Description

基于Spring AOC面向切面思想开发的数据接收保存推送补偿 方法
技术领域
本发明涉及领域,具体为基于Spring AOC面向切面思想开发的数据接收保存推送补偿方法。
背景技术
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
ES工具常用于记录一些日志,报文等,不具备再将数据推送服务方,推送失败自动补偿功能。推送此功能使用注解的方式在接收数据,和推送数据的方法上添加对应注解,就可以自动记录报文,并推送服务方,并在推送服务方失败时,定时补推。由于对外开放的服务接到外部请求报文需要分发到各个业务系统中,此时需要一套简单可用高效的推送功能保证数据的实时性,可维护性及准确性。
发明内容
本发明的目的在于提供基于Spring AOC面向切面思想开发的数据接收保存推送补偿方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:基于Spring AOC面向切面思想开发的数据接收保存推送补偿方法,包括步骤:
S1:对外服务商收到外部应用请求,使用基于AOP切面开发的注解自动化实现请求报文的保存;
S2:切面方法会同步该请求报文,同时返回接口将返回报文记录在ES中存储;并同时向接口日志记录表存储该次报文的相关信息,且关键字段orderNo 会存在日志表中的businessNo中,同时该条数据会存储es中的esId;
S3:待接口方法走完后,系统将此次请求报文以及此次接口类型,需要发送的服务名等丢在消息队列中, Mq消费者监听到此次消息在发送指定服务的方法上使用注解@compensate,并指定其属性businessNo字段值为orderNo;
S4:若发送成功,在接口推送表中记录一条成功日志,关键字段有orderNo;若发送失败也会记录在接口推送表中,但其关键字段有异常类型;
S5:在程序中添加批处理执行机制,监控接口推送表中的推送记录。
优选的,S1中具体步骤为:S101:获取一次订单请求,一次订单请求中含有业务单号orderNo;S102:使用注解PrintLog放在接收数据的控制器方法上,并为其此注解添加属性businessNo,该注解即指定了业务单号orderNo。
优选的,上述业务单号orderNo包括但不限于订单号、交易流水号以及保单号等。
优选的,S4中异常类型归属于网络的问题会在S5中自动重新将报文丢在消息队列中,并重新走一遍消费流程,再次推送至相对应的业务系统;而从属于业务异常的问题,会直接邮件出来通知相关运维人员;推送异常表推送的报文依赖于此表中的业务字段值也就是本次例子中的orderNo 会去将orderNo 关联到开始b步骤中的接口日志记录表中的edId通过esId(使用存储es时自动生成的es唯一id查询es会使查询效率变高),即去es中捞取此业务的请求报文丢在消息队列中实现报文重推功能。
与现有技术相比,本发明的有益效果是:
本发明使用面向切面思想开发出的两个注解只需要加在接收数据方法层,和推送服务方方法层,即能实现自动记录日志,数据库记录,并推送服务方;且在推送失败时,自动记录到推送失败补偿表状态为待补偿,定时重送。
附图说明
图1为本发明的流程框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:基于Spring AOC面向切面思想开发的数据接收保存推送补偿方法,包括步骤:
S1:对外服务商收到外部应用请求,使用基于AOP切面开发的注解自动化实现请求报文的保存;
S2:切面方法会同步该请求报文,同时返回接口将返回报文记录在ES中存储;并同时向接口日志记录表存储该次报文的相关信息,且关键字段orderNo 会存在日志表中的businessNo中,同时该条数据会存储es中的esId;
S3:待接口方法走完后,系统将此次请求报文以及此次接口类型,需要发送的服务名等丢在消息队列中, Mq消费者监听到此次消息在发送指定服务的方法上使用注解@compensate,并指定其属性businessNo字段值为orderNo;
S4:若发送成功,在接口推送表中记录一条成功日志,关键字段有orderNo;若发送失败也会记录在接口推送表中,但其关键字段有异常类型;
S5:在程序中添加批处理执行机制,监控接口推送表中的推送记录。
在本实施例中,S1中具体步骤为:S101:获取一次订单请求,一次订单请求中含有业务单号orderNo;S102:使用注解PrintLog放在接收数据的控制器方法上,并为其此注解添加属性businessNo,该注解即指定了业务单号orderNo。
在本实施例中,上述业务单号orderNo包括但不限于订单号、交易流水号以及保单号等。
在本实施例中,S4中异常类型归属于网络的问题会在S5中自动重新将报文丢在消息队列中,并重新走一遍消费流程,再次推送至相对应的业务系统;而从属于业务异常的问题,会直接邮件出来通知相关运维人员;推送异常表推送的报文依赖于此表中的业务字段值也就是本次例子中的orderNo 会去将orderNo 关联到开始b步骤中的接口日志记录表中的edId通过esId(使用存储es时自动生成的es唯一id查询es会使查询效率变高),即去es中捞取此业务的请求报文丢在消息队列中实现报文重推功能。
上述实施例基于面向切面思想开发出的两个注解只需要加在接收数据方法层,和推送服务方方法层,即能实现自动记录日志,数据库记录,并推送服务方;且在推送失败时,自动记录到推送失败补偿表状态为待补偿,定时重送。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (4)

1.基于Spring AOC面向切面思想开发的数据接收保存推送补偿方法,其特征在于,包括步骤:
S1:对外服务商收到外部应用请求,使用基于AOP切面开发的注解自动化实现请求报文的保存;
S2:切面方法会同步该请求报文,同时返回接口将返回报文记录在ES中存储;并同时向接口日志记录表存储该次报文的相关信息,且关键字段orderNo 会存在日志表中的businessNo中,同时该条数据会存储es中的esId;
S3:待接口方法走完后,系统将此次请求报文以及此次接口类型,需要发送的服务名等丢在消息队列中, Mq消费者监听到此次消息在发送指定服务的方法上使用注解@compensate,并指定其属性businessNo字段值为orderNo;
S4:若发送成功,在接口推送表中记录一条成功日志,关键字段有orderNo;若发送失败也会记录在接口推送表中,但其关键字段有异常类型;
S5:在程序中添加批处理执行机制,监控接口推送表中的推送记录。
2.根据权利要求1所述的基于Spring AOC面向切面思想开发的数据接收保存推送补偿方法,其特征在于:所述S1中具体步骤为:S101:获取一次订单请求,一次订单请求中含有业务单号orderNo;S102:使用注解PrintLog放在接收数据的控制器方法上,并为其此注解添加属性businessNo,该注解即指定了业务单号orderNo。
3.根据权利要求2所述的基于Spring AOC面向切面思想开发的数据接收保存推送补偿方法,其特征在于:所述业务单号orderNo包括但不限于订单号、交易流水号以及保单号等。
4.根据权利要求1所述的基于Spring AOC面向切面思想开发的数据接收保存推送补偿方法,其特征在于:所述S4中异常类型归属于网络的问题会在S5中自动重新将报文丢在消息队列中,并重新走一遍消费流程,再次推送至相对应的业务系统。
CN202211031141.0A 2022-08-26 2022-08-26 基于Spring AOC面向切面思想开发的数据接收保存推送补偿方法 Pending CN115374339A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211031141.0A CN115374339A (zh) 2022-08-26 2022-08-26 基于Spring AOC面向切面思想开发的数据接收保存推送补偿方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211031141.0A CN115374339A (zh) 2022-08-26 2022-08-26 基于Spring AOC面向切面思想开发的数据接收保存推送补偿方法

Publications (1)

Publication Number Publication Date
CN115374339A true CN115374339A (zh) 2022-11-22

Family

ID=84067499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211031141.0A Pending CN115374339A (zh) 2022-08-26 2022-08-26 基于Spring AOC面向切面思想开发的数据接收保存推送补偿方法

Country Status (1)

Country Link
CN (1) CN115374339A (zh)

Similar Documents

Publication Publication Date Title
US9286368B2 (en) Linking framework for information technology management
CN107402963B (zh) 搜索数据的构建方法、增量数据的推送方法及装置和设备
US8938421B2 (en) Method and a system for synchronizing data
CN102081611B (zh) 一种主、备网管系统数据库同步的实现方法及装置
US7500150B2 (en) Determining the level of availability of a computing resource
CN112507029B (zh) 数据处理系统及数据实时处理方法
US7509539B1 (en) Method for determining correlation of synchronized event logs corresponding to abnormal program termination
US9864788B2 (en) Method and system for cascading a middleware to a data orchestration engine
US9485202B2 (en) Alerting recipients to errors occurring when accessing external services
CN111966692A (zh) 针对数据仓库的数据处理方法、介质、装置和计算设备
CN113326148A (zh) 一种基于微服务的数据交互系统
CN114090529A (zh) 一种日志管理方法、装置、系统和存储介质
CN115374339A (zh) 基于Spring AOC面向切面思想开发的数据接收保存推送补偿方法
CN115757642A (zh) 一种基于归档日志文件的数据同步方法及装置
CN112181927A (zh) 一种微服务架构下的日志审计方法
CN113055378B (zh) 用于工业互联网标识解析的协议转换平台及数据对接方法
CN115964436A (zh) 一种数据库集群管理的方法和装置
CN115344633A (zh) 数据处理方法、装置、设备和存储介质
CN112860746B (zh) 一种基于缓存削减的方法、设备及系统
CN113612832A (zh) 流式数据分发方法与系统
CN112506960A (zh) 基于ArangoDB引擎的多模型数据存储方法及系统
CN102314505B (zh) 基于偏序关系的缓冲区版本产生方法
US11989166B2 (en) Systems and methods for improved servicing of queries for blockchain data
US20240160517A1 (en) Alert aggregation and health issues processing in a cloud environment
CN115794922A (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