[发明专利]一种事务管理方法和装置有效
申请号: | 201910828468.2 | 申请日: | 2019-09-03 |
公开(公告)号: | CN110688532B | 公开(公告)日: | 2022-06-21 |
发明(设计)人: | 张涛涛;沈军;李阔;王洪超 | 申请(专利权)人: | 视联动力信息技术股份有限公司 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;H04L65/80 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 100000 北京市东城区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 事务管理 方法 装置 | ||
本发明实施例提供了一种事务管理方法和装置,该方法包括:创建信令发送请求对应的目标事务以及事务标识,创建关键字为当前时间与所述目标事务的最大等待时间的和最小堆的堆节点,将事务标识插入堆节点中,将事务标识与目标事务插入事务链表,获取最小堆堆顶的堆节点,将该堆节点的关键字与当前时间作差获得超时时间,等待超时时间后,获取计时的过程中堆顶堆节点中的超时事务标识,若超时事务标识对应的超时次数小于预设超时次数,则根据超时事务标识,在事务链表中获取超时事务标识对应的超时事务,发送超时事务对应的目标信令。本发明实施例中,通过最小堆对事务进行管理,能够在事务超时未响应时自动重新请求,更加简单、可靠。
技术领域
本发明涉及视联网技术领域,特别是涉及一种事务管理方法和一种事务管理装置。
背景技术
视联网现有的事务请求过程中,大部分采用同步方式,即当请求发出后,等待返回的响应消息,在此期间不进行其他请求的发送,直到收到响应消息后才进行下一步处理,这种方式较为简单,但是有可能会出现等待超时的情况,此时会严重影响处理其他事务的效率。
为了提升事务处理的效率,有时也采用异步方式,即当请求发出后,不进行等待,而是进行其他请求的发送,在收到响应消息后对该事务进行处理,这种方式事务处理效率高,但是在需要处理的请求过多时,会导致事务管理困难,如果需要为了保证请求传输的可靠性而多次发送请求时,则进一步会导致代码的复杂度提高,难以进行有效维护。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种事务管理方法和装置。
为了解决上述问题,本发明实施例第一方面公开了一种事务管理方法,其特征在于,该方法可以包括:
响应于信令发送请求,创建所述信令发送请求对应的目标事务以及事务标识;
创建最小堆的堆节点,所述堆节点的关键字为当前时间与所述目标事务的最大等待时间的和;
将所述事务标识插入所述堆节点中;
将所述事务标识与所述目标事务插入事务链表中;
获取所述最小堆堆顶的堆节点,将所述最小堆堆顶的堆节点的关键字与当前时间作差获得超时时间;
计时经过所述超时时间后,获取所述计时的过程中所述最小堆堆顶的堆节点中等待时间超过所述最大等待时间的超时事务标识;
若所述超时事务标识对应的超时次数小于预设超时次数,则根据所述超时事务标识,在事务链表中获取所述超时事务标识对应的超时事务;
执行所述超时事务对应的信令发送请求,发送目标信令。
可选地,所述计时经过所述超时时间后,获取所述计时的过程中所述最小堆堆顶的堆节点中等待时间超过所述最大等待时间的超时事务标识的步骤之后,所述方法还包括:
若所述超时事务标识达到预设超时次数,则删除所述超时事务标识,并从所述事务链表中删除所述超时事务标识与所述超时事务标识对应的超时事务;
生成事务失败的消息。
可选地,所述执行所述超时事务对应的信令发送请求,发送目标信令的步骤之后,所述方法还包括:
接收针对所述目标信令返回的响应消息;
根据所述响应消息对应的事务标识,在所述事务链表中确定目标事务;
在所述最小堆和所述事务链表中添加所述目标事务对应的响应消息;
根据所述响应消息处理所述目标事务;
在所述最小堆中删除所述响应消息对应的事务标识和所述响应消息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于视联动力信息技术股份有限公司,未经视联动力信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910828468.2/2.html,转载请声明来源钻瓜专利网。