CN115374339A - 基于Spring AOC面向切面思想开发的数据接收保存推送补偿方法 - Google Patents
基于Spring AOC面向切面思想开发的数据接收保存推送补偿方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message 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面向切面思想开发的数据接收保存推送补偿方法。
背景技术
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中自动重新将报文丢在消息队列中,并重新走一遍消费流程,再次推送至相对应的业务系统。
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) |
-
2022
- 2022-08-26 CN CN202211031141.0A patent/CN115374339A/zh active Pending
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 |