一种业务执行的方法、装置、存储介质及电子设备制造方法及图纸

技术编号:36358277 阅读:44 留言:0更新日期:2023-01-14 18:15
本说明书公开了一种业务执行的方法、设备、装置及存储介质。分布式系统根据处理节点的标识,确定该处理节点以及该处理节点的相邻节点在第一环形链表对应的位置,该处理节点根据该处理节点自身以及该处理节点的相邻节点在第一环形链表对应的位置,确定在第二环形链表上的查询范围,该分布式系统根据查询范围,确定落入第二环形链表中查询范围内的待执行会话任务,将确定出的查询结果发送给该处理节点,该处理节点接收查询结果,并执行查询结果中的待执行会话任务。本方法通过处理节点寻找待执行任务的方式,使得与该会话任务相关的其他任务均在一个处理节点内执行,除去了跨处理节点调用会话的步骤,提高了处理节点执行会话的效率。的效率。的效率。

【技术实现步骤摘要】
一种业务执行的方法、装置、存储介质及电子设备


[0001]本说明书涉及计算机应用领域,尤其涉及一种业务执行的方法、装置、存储介质及电子设备。

技术介绍

[0002]随着时代的发展,计算机技术已经发展得较为成熟并广泛应用在各个领域。其中,对于分布式系统中如何进行资源分配是一个需要解决的技术问题。
[0003]现有技术中,一种分布式系统的资源分配方法是,预先构建一个环形链表,然后确定分布式系统中各处理节点对应的哈希值,根据各处理节点的哈希值,确定各处理节点对应在该环境链表上的位置。针对需要由分布式系统处理的每个业务数据,分别确定该业务数据对应的哈希值,从而确定该业务数据在该环形链表上的位置。最后,按照预设的该环形链表的遍历方向,在该环形链表上寻找与该业务数据在该环形链表上的位置距离最近的处理节点对应的位置,将找到的距离最近的处理节点,作为处理该业务数据的处理节点,将业务数据发送至该处理节点执行业务。
[0004]但是,在以长链会话为主的业务场景中,难以控制相同会话的业务操作由同一处理节点处理,导致处理节点之间的调用较多,降低了分布式系统的处理效率。因此,本说明书提供一种业务执行的方法。

技术实现思路

[0005]本说明书提供一种业务执行的方法、装置、存储介质及电子设备,以至少部分的解决现有技术存在的上述问题。
[0006]本说明书采用下述技术方案:本说明书提供了一种业务执行的方法,所述方法应用于分布式系统中的任一处理节点,所述分布式系统中,预先配置有处理节点对应的第一环形链表,以及待执行会话任务的第二环形链表,包括:根据所述处理节点的标识,向所述分布式系统发送针对所述第一环形链表的第一查询请求;接收所述分布式系统返回的第一查询结果,所述第一查询结果包括:所述处理节点自身在第一环形链表中对应的位置,以及所述第一环形链表上所述处理节点的相邻节点在第一环形链表中对应的位置;根据所述处理节点自身在第一环形链表中对应的位置和所述相邻节点在第一环形链表中对应的位置,确定在所述第二环形链表上的查询范围;根据所述查询范围确定第二查询请求,并发送至所述分布式系统,使所述分布式系统查询落入所述第二环形链表中所述查询范围内的待执行会话任务,其中,所述待执行会话任务为所述分布式系统根据接收到的待执行会话任务的请求确定的,所述待执行会话任务在所述第二环形链表中的位置,为所述分布式系统根据接收到的所述待执行会话任务
的请求的标识确定的;接收所述分布式系统返回的携带所述待执行会话任务的第二查询结果;执行第二查询结果包含的所述待执行会话任务。
[0007]可选地,根据所述处理节点自身在第一环形链表中对应的位置和所述相邻节点在第一环形链表中对应的位置,确定在所述第二环形链表上的查询范围,具体包括:向所述分布式系统发送获取请求,接收所述分布式系统返回的所述第一环形链表与所述第二环形链表的映射关系;根据所述映射关系、所述处理节点自身在所述第一环形链表中对应的位置和所述相邻节点在第一环形链表中对应的位置,分别确定所述处理节点映射到所述第二环形链表的位置和所述相邻节点映射到所述第二环形链表的位置;根据预设的遍历方向,确定所述第二环形链表中,从所述处理节点映射到所述第二环形链表的位置到所述相邻节点在所述第二环形链表中对应的位置的范围,作为在所述第二环形链表上的查询范围。
[0008]可选地,所述第一环形链表与所述第二环形链表的长度相同,所述第一环形链表中的位置与第二环形链表中的位置一一对应。
[0009]可选地,执行第二查询结果包含的所述待执行会话任务,具体包括:根据所述处理节点的本地线程列表,确定所述本地线程列表中各线程执行会话的会话标识;针对每个待执行会话任务,判断是否存在与该待执行会话任务的该会话标识匹配的线程;若是,则将该待执行会话任务,分配给与该待执行会话任务的该会话标识匹配的线程,使所述线程执行该待执行会话任务;若否,则将该待执行会话任务,分配给空闲线程,由所述空闲线程执行该待执行会话任务。
[0010]可选地,当所述本地线程列表中的线程,没有分配所述待执行会话任务时,确定所述线程执行的会话结束,结束所述线程。
[0011]可选地,所述处理节点对应有至少一个虚拟节点,所述的第一环形链表配置有所述处理节点,以及所述处理节点对应的虚拟节点;根据所述处理节点自身在第一环形链表中对应的位置和所述处理节点相邻的其他处理节点在第一环形链表中对应的位置,确定在所述第二环形链表上的查询范围,具体包括:确定所述处理节点的相邻节点,以及所述处理节点对应的虚拟节点的相邻节点;获取所述第一环形链表与所述第二环形链表的映射关系;根据所述映射关系、所述处理节点自身在所述第一环形链表中对应的位置、所述处理节点的相邻节点在所述第一环形链表中对应的位置,确定所述处理节点在所述第二环形链表上的查询范围;针对所述处理节点对应的每个虚拟节点,根据所述映射关系、该虚拟节点在所述第一环形链表中对应的位置、该虚拟节点的相邻节点在所述第一环形链表中对应的位置,确定该虚拟节点在所述第二环形链表上的查询范围。
[0012]本说明书提供了一种业务执行的方法,所述方法应用分布式系统,所述分布式系统中,预先配置有处理节点对应的第一环形链表,以及待执行会话任务的第二环形链表,所述方法包括:当接收待执行会话任务的请求时,根据所述待执行会话任务的请求的标识,确定所述待执行会话任务在第二环形链表中的位置;响应于处理节点第一查询请求,确定所述处理节点在第一环形链表中对应的位置,并照预设的方向遍历所述第一环形链表,确定所述处理节点的相邻节点在所述第一环形链表中对应的位置;将确定出的所述处理节点在第一环形链表中对应的位置以及所述处理节点的相邻节点在所述第一环形链表中对应的位置,作为第一查询结果返回所述处理节点;接收携带在所述第二环形链表上的查询范围的第二查询请求,并根据所述查询范围,确定落入所述第二环形链表中所述查询范围内的所述待执行会话任务;将确定出的待执行会话任务作为第二查询结果返回所述处理节点,使所述处理节点执行接收到的各待执行会话任务。
[0013]可选地,针对每个处理节点,监听该处理节点的运行状态;当确定该处理节点下线时,在所述第一环形链表中删除该处理节点;当确定该处理节点上线时,根据所述处理节点的标识,确定所述处理节点在所述第一环形链表中的位置,并在所述第一环形链表确定出的位置添加该处理节点。
[0014]本说明书提供了一种业务执行的装置,所述装置应用于分布式系统中的任一处理节点,所述分布式系统中,预先配置有处理节点对应的第一环形链表,以及待执行会话任务的第二环形链表,包括:第一查询请求发送模块,用于根据所述处理节点的标识,向所述分布式系统发送针对所述第一环形链表的第一查询请求;第一查询结果接收模块,用于接收所述分布式系统返回的第一查询结果,所述第一查询结果包括:所述处理节点自身在第一环形链表中对应的位置,以及所述第一环形链表上所述处理节点的相邻节点在第一环形链表中对应的位置;查询范围确定模块,用于根据所述处理节点自身在第一环形链表本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种业务执行的方法,所述方法应用于分布式系统中的任一处理节点,所述分布式系统中,预先配置有处理节点对应的第一环形链表,以及待执行会话任务的第二环形链表,所述方法包括:根据所述处理节点的标识,向所述分布式系统发送针对所述第一环形链表的第一查询请求;接收所述分布式系统返回的第一查询结果,所述第一查询结果包括:所述处理节点自身在第一环形链表中对应的位置,以及所述第一环形链表上所述处理节点的相邻节点在第一环形链表中对应的位置;根据所述处理节点自身在第一环形链表中对应的位置和所述相邻节点在第一环形链表中对应的位置,确定在所述第二环形链表上的查询范围;根据所述查询范围确定第二查询请求,并发送至所述分布式系统,使所述分布式系统查询落入所述第二环形链表中所述查询范围内的待执行会话任务,其中,所述待执行会话任务为所述分布式系统根据接收到的待执行会话任务的请求确定的,所述待执行会话任务在所述第二环形链表中的位置,为所述分布式系统根据接收到的所述待执行会话任务的请求的标识确定的;接收所述分布式系统返回的携带所述待执行会话任务的第二查询结果;执行第二查询结果包含的所述待执行会话任务。2.如权利要求1所述的方法,根据所述处理节点自身在第一环形链表中对应的位置和所述相邻节点在第一环形链表中对应的位置,确定在所述第二环形链表上的查询范围,具体包括:向所述分布式系统发送获取请求,接收所述分布式系统返回的所述第一环形链表与所述第二环形链表的映射关系;根据所述映射关系、所述处理节点自身在所述第一环形链表中对应的位置和所述相邻节点在第一环形链表中对应的位置,分别确定所述处理节点映射到所述第二环形链表的位置和所述相邻节点映射到所述第二环形链表的位置;根据预设的遍历方向,确定所述第二环形链表中,从所述处理节点映射到所述第二环形链表的位置到所述相邻节点在所述第二环形链表中对应的位置的范围,作为在所述第二环形链表上的查询范围。3.如权利要求2所述的方法,所述第一环形链表与所述第二环形链表的长度相同,所述第一环形链表中的位置与第二环形链表中的位置一一对应。4.如权利要求1所述的方法,执行第二查询结果包含的所述待执行会话任务,具体包括:根据所述处理节点的本地线程列表,确定所述本地线程列表中各线程执行会话的会话标识;针对每个待执行会话任务,判断是否存在与该待执行会话任务的该会话标识匹配的线程;若是,则将该待执行会话任务,分配给与该待执行会话任务的该会话标识匹配的线程,使所述线程执行该待执行会话任务;若否,则将该待执行会话任务,分配给空闲线程,由所述空闲线程执行该待执行会话任
务。5.如权利要求4所述的方法,所述方法还包括:当所述本地线程列表中的线程,没有分配所述待执行会话任务时,确定所述线程执行的会话结束,结束所述线程。6.如权利要求1所述的方法,所述处理节点对应有至少一个虚拟节点,所述的第一环形链表配置有所述处理节点,以及所述处理节点对应的虚拟节点;根据所述处理节点自身在第一环形链表中对应的位置和所述处理节点相邻的其他处理节点在第一环形链表中对应的位置,确定在所述第二环形链表上的查询范围,具体包括:确定所述处理节点的相邻节点,以及所述处理节点对应的虚拟节点的相邻节点;获取所述第一环形链表与所述第二环形链表的映射关系;根据所述映射关系、所述处理节点自身在所述第一环形链表中对应的位置、所述处理节点的相邻节点在所述第一环形链表中对应的位置,确定所述处理节点在所述第二环形链表上的查询范围;针对所述处理节点对应的每个虚拟节点,根据所述映射关系、该虚拟节点在所述第一环形链表中对应的位置、该虚拟节点的相邻节点在所述第一环形链表中对应的位置,确定该虚拟节点在所述第二环形链表上的查询范围。7.一种业务执行的方法,所述方法应用分布式系统,所述分布式系统中,预先配置有处理节点对应的第一环形链表,以及待执行会话任务的第二环形链表,所述方法包括:当接收待执行会话任务的请求时,根据所述待执行会话任务的请求的标识,确定所述待执行会话任务在第二环形链表中的位置;响应于处理节点第一查询请求,确定所述处理节点在第一环形链表中对应的位置,并照预设的方向遍历所述第一环形链表,确定所述处理节点的相邻节点在所述第一环形链表中对应的位置;将确定出的所述处理节点在第一环形链表中对应的位置以及所述处理节点的相邻节点在所述第一环形链表中对应的位置,作为第一查询结果返回所述处理节点;接收携带在所述第二环形链表上的查询范围的第二查询请求,并根据所述查询范围,确定落入所述第二环形链表中所述查询范围内的所述待执行会话任务;将确定出的待执行会话任务作为第二查询结果返回所述处理节点,使所述处理节点执行接收到的各待执行会话任务。8.如权利要求7所述的方法,所述方法还包括:针对每个处理节点,监听该处理节点的运行状态;当确定该处理节点下线时,在所述第一环形链表中删除该处理节点;当确定该处理节点上线时,根据所述处理节点的标识,确定所述处理节点在所述第一环形链表中的位置,并在所述第一环形链表确定出的位置添加该处理节点。9.一种业务执行的装置,所述装置应用于分布式系统中的任一处理节点,所述分布式系统中,预先配置有处理节点对应的第一环形链表,以及待执行会话任务的第二环形链表,所述装置包括:第一查询请求发送模...

【专利技术属性】
技术研发人员:黄金恺孔维龙魏雍
申请(专利权)人:杭州心识宇宙科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1