[发明专利]一种数据处理方法及装置在审
申请号: | 201911055003.4 | 申请日: | 2019-10-31 |
公开(公告)号: | CN110941622A | 公开(公告)日: | 2020-03-31 |
发明(设计)人: | 贺鹏 | 申请(专利权)人: | 京东数字科技控股有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F11/00 |
代理公司: | 北京华夏泰和知识产权代理有限公司 11662 | 代理人: | 张丽颖 |
地址: | 100176 北京市大兴区北京经*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据处理 方法 装置 | ||
本申请涉及一种数据处理方法及装置,其中方法包括:获取待发送消息和业务数据;其中,待发送消息根据业务数据生成;生成任务信息;其中,任务信息包括待发送消息;建立将第一操作与第二操作相关联的执行策略;分别执行所述第一操作以及第二操作。通过本申请中的方法可以将发消息系统从发送方系统等业务系统中独立出来,可以避免因发消息超时,导致数据库事务长时间未提交,相应数据库连接也会随之被占用而得不到释放的问题;以及在业务系统访问量较大时,因被占用的数据库得不到释放最终会导致业务请求无数据库连接可用,系统层面出现系统可用性下降,用户层面出现操作失败等问题;进而可以使业务系统的数据库及时进行释放,并保障系统可用性。
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据处理方法及装置。
背景技术
在实际应用中,消息发送方通常会执行写数据库和发送消息的操作,消息接收方接收到消息后对消息进行处理;在执行上述操作时,需要确保消息在发送方和接收方的一致性,即双方正确发送和接收了消息,并根据消息正确处理了业务逻辑等。
为了确保消息的一致性,消息发送方写数据库和发送消息的操作均要成功,消息接收方接收到消息后要保证业务正确运行,消息要保证不丢失,消息接收方一定能够接收到消息,接收方对同一个消息只能消费一次等。上述过程中的任何一个环节出现问题都会导致不一致。
在实现本发明的过程中发明人发现,当业务与发消息属于同一事务中,会存在如下问题:
若发消息超时,则会导致数据库事务长时间未提交,相应数据库连接也会随之被占用而得不到释放;当业务系统访问量较大时,最终会导致用户的业务请求无数据库连接可用,系统层面将会出现系统可用性下降,用户层面将会出现操作失败请重试等体验问题。
针对相关技术中存在的诸多技术问题,目前尚未提供有效的解决方案。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种数据处理方法及装置。
第一方面,本申请实施例提供了一种数据处理方法,包括:
获取发送方系统发送的待发送消息和业务数据;其中,所述待发送消息根据所述业务数据生成;
根据所述待发送消息生成任务信息;其中,所述任务信息包括所述待发送消息;
建立将第一操作与第二操作相关联的执行策略;其中,所述第一操作包括将所述业务数据写入数据库,所述第二操作包括将所述任务信息插入任务表,所述执行策略用于使所述第一操作和第二操作同时成功或同时失败;
分别执行所述第一操作以及第二操作。
进一步的,如前述的数据处理方法,所述执行所述第一操作以及第二操作,包括:
获取所述业务数据中的业务处理结果数据;
根据所述业务处理结果数据判断所述业务数据是否符合写入所述数据库的写入要求;
在所述业务数据符合所述写入要求时,执行所述第一操作。
进一步的,如前述的数据处理方法,在所述业务数据不符合所述写入要求时,还包括:
在所述第二操作中已执行时,对执行过程进行回滚。
第二方面,本申请实施例提供了一种数据处理方法,包括:
从任务表中获取待发送消息;
将所述待发送消息发送至消息消费方;
获取向所述消息消费方发送所述待发送消息的发送结果;
根据所述发送结果对所述待发送消息执行相应的处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于京东数字科技控股有限公司,未经京东数字科技控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911055003.4/2.html,转载请声明来源钻瓜专利网。