[发明专利]一种事务管理方法和装置有效
申请号: | 201910828468.2 | 申请日: | 2019-09-03 |
公开(公告)号: | CN110688532B | 公开(公告)日: | 2022-06-21 |
发明(设计)人: | 张涛涛;沈军;李阔;王洪超 | 申请(专利权)人: | 视联动力信息技术股份有限公司 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;H04L65/80 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 100000 北京市东城区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 事务管理 方法 装置 | ||
1.一种事务管理方法,其特征在于,所述方法包括:
响应于信令发送请求,创建所述信令发送请求对应的目标事务以及事务标识;
创建最小堆的堆节点,所述堆节点的关键字为当前时间与所述目标事务的最大等待时间的和;
将所述事务标识插入所述堆节点中;
将所述事务标识与所述目标事务插入事务链表中;
获取所述最小堆堆顶的堆节点,将所述最小堆堆顶的堆节点的关键字与当前时间作差获得超时时间;
获取所述最小堆堆顶的堆节点中等待时间超过所述最大等待时间的超时事务标识;
若所述超时事务标识对应的超时次数小于预设超时次数,则根据所述超时事务标识,在事务链表中获取所述超时事务标识对应的超时事务;
执行所述超时事务对应的信令发送请求,发送目标信令;
其中,所述获取所述最小堆堆顶的堆节点中等待时间超过所述最大等待时间的超时事务标识,包括:
当所述超时时间大于零时,计时经过所述超时时间后,获取所述计时的过程中等待时间超过所述最大等待时间的超时事务标识;
当所述超时时间小于或等于零时,获取所述堆节点中等待时间超过所述最大等待时间的超时事务标识。
2.根据权利要求1所述的方法,其特征在于,所述计时经过所述超时时间后,获取所述计时的过程中所述最小堆堆顶的堆节点中等待时间超过所述最大等待时间的超时事务标识的步骤之后,所述方法还包括:
若所述超时事务标识达到预设超时次数,则删除所述超时事务标识,并从所述事务链表中删除所述超时事务标识与所述超时事务标识对应的超时事务;
生成事务失败的消息。
3.根据权利要求1所述的方法,其特征在于,所述执行所述超时事务对应的信令发送请求,发送目标信令的步骤之后,所述方法还包括:
接收针对所述目标信令返回的响应消息;
根据所述响应消息对应的事务标识,在所述事务链表中确定目标事务;
在所述最小堆和所述事务链表中添加所述目标事务对应的响应消息;
根据所述响应消息处理所述目标事务;
在所述最小堆中删除所述响应消息对应的事务标识和所述响应消息;
在所述事务链表中删除所述响应消息对应的事务标识、所述响应消息对应的目标事务和所述响应消息。
4.根据权利要求1所述的方法,其特征在于,所述执行所述超时事务对应的信令发送请求,发送目标信令的步骤之后,所述方法还包括:
分别计算所述最小堆堆顶的堆节点中的所有事务新的当前时间和最大等待时间的和;
根据所述新的当前时间和最大等待时间的和,分别将所述最小堆堆顶的堆节点中的所有事务插入所述最小堆的堆节点中;和/或,
将所述新的当前时间和最大等待时间的和作为关键字创建新的堆节点,并将所述新的堆节点插入所述最小堆中。
5.根据权利要求1所述的方法,其特征在于,每一个所述事务链表对应一个最大等待时间,所述将所述事务标识与所述事务插入事务链表中的步骤,包括:
确定与所述事务标识对应的最大等待时间相同的目标事务链表;
将所述事务标识与所述事务插入所述目标事务链表。
6.根据权利要求1所述的方法,其特征在于,所述创建最小堆的堆节点,所述堆节点的关键字为当前时间与所述目标事务的最大等待时间的和的步骤,包括:
在最小堆中查找关键字为当前时间与所述目标事务的最大等待时间的和的堆节点;
当存在所述关键字为当前时间与所述目标事务的最大等待时间的和的堆节点时,将所述目标事务的插入所述堆节点;
当不存在所述关键字为当前时间与所述目标事务的最大等待时间的和的堆节点时,创建最小堆的堆节点,所述堆节点的关键字为当前时间与所述目标事务的最大等待时间的和。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于视联动力信息技术股份有限公司,未经视联动力信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910828468.2/1.html,转载请声明来源钻瓜专利网。