共享资源的访问方法、装置、存储介质以及电子设备与流程

文档序号:38025150发布日期:2024-05-17 12:59阅读:12来源:国知局
共享资源的访问方法、装置、存储介质以及电子设备与流程

本申请涉及计算机领域,尤其涉及一种共享资源的访问方法、装置、存储介质以及电子设备。


背景技术:

1、现有技术中,在分布式系统中,如果多个程序要访问同一份资源,那么,多个程序要进行互斥访问,也就是按照控制策略来分别单独访问该资源。而现有的互斥访问是由一个控制节点来控制多个程序的互斥访问,如果控制节点异常,则多个程序无法进行互斥访问。


技术实现思路

1、本申请提供了一种共享资源的访问方法、装置、存储介质以及电子设备,以解决控制节点异常造成多个程序无法对资源进行互斥访问的技术问题。

2、第一方面,本申请提供了一种共享资源的访问方法,包括:在当前程序请求访问目标资源时,向其他程序发送目标访问请求,其中,上述当前程序与上述其他程序为分布式系统中被允许访问共享资源的程序,上述共享资源包括上述目标资源;将上述目标访问请求存储到上述当前程序的本地请求队列中,其中,上述当前程序与上述其他程序均维护一个本地请求队列;在所有的上述其他程序都返回目标同意消息的情况下,由上述当前程序访问上述目标资源,其中,上述其他程序用于根据上述其他程序的本地请求队列确定是否向上述当前程序发送上述目标同意消息,上述目标同意消息用于表示允许上述当前程序访问上述目标资源。

3、第二方面,本申请提供了一种共享资源的访问装置,包括:发送模块,用于在当前程序请求访问目标资源时,向其他程序发送目标访问请求,其中,上述当前程序与上述其他程序为分布式系统中被允许访问共享资源的程序,上述共享资源包括上述目标资源;存储模块,用于将上述目标访问请求存储到上述当前程序的本地请求队列中,其中,上述当前程序与上述其他程序均维护一个本地请求队列;访问模块,用于在所有的上述其他程序都返回目标同意消息的情况下,由上述当前程序访问上述目标资源,其中,上述其他程序用于根据上述其他程序的本地请求队列确定是否向上述当前程序发送上述目标同意消息,上述目标同意消息用于表示允许上述当前程序访问上述目标资源。

4、作为一种可选的示例,上述装置还包括:确定模块,用于在接收到上述其他程序的第一访问请求的情况下,将上述第一访问请求存储到上述当前程序的本地请求队列中,其中,上述本地请求队列中的请求按照请求的时间戳排序;根据上述当前程序的本地请求队列中的请求,确定是否向上述其他程序返回第一同意消息。

5、作为一种可选的示例,上述确定模块包括:第一确定单元,用于在上述当前程序的本地请求队列中包括第二访问请求的情况下,根据上述第二访问请求的时间戳与上述第一访问请求的时间戳确定是否向上述其他程序返回第一同意消息,其中,上述第二访问请求为与上述第一访问请求访问相同资源的请求;在上述当前程序的本地请求队列中未包括上述第二访问请求的情况下,返回上述第一同意消息。

6、作为一种可选的示例,上述确定模块还包括:第二确定单元,用于根据上述第一访问请求中的资源标识,在上述当前程序的本地请求队列中,确定与上述第一访问请求访问相同资源的上述第二访问请求,其中,包括上述第一访问请求与上述第二访问请求在内的每一个访问请求中包括请求标识、资源标识和上述时间戳。

7、作为一种可选的示例,上述第一确定单元包括:确定子单元,用于在上述第二访问请求的时间戳晚于上述第一访问请求的时间戳的情况下,向上述其他程序返回上述第一同意消息;在上述第二访问请求的时间戳早于上述第一访问请求的时间戳的情况下,等待接收上述其他程序发送的第二同意消息,并禁止向上述其他程序返回上述第一同意消息。

8、作为一种可选的示例,上述装置还包括:处理模块,用于在上述当前程序访问上述目标资源后,删除上述当前程序的本地请求队列中的上述目标访问请求并释放上述目标资源;向发送上述目标访问请求的其他程序返回上述目标同意消息。

9、作为一种可选的示例,上述装置还包括:监控模块,用于监控上述当前程序的本地请求队列中的每一个请求;在任意一个当前请求的时间戳与当前时间的时间间隔超过预设的标准间隔的情况下,将上述当前请求从上述当前程序的本地请求队列中删除。

10、第三方面,本申请提供了一种电子设备,包括:至少一个通信接口;与上述至少一个通信接口相连接的至少一个总线;与上述至少一个总线相连接的至少一个处理器;与上述至少一个总线相连接的至少一个存储器,其中,上述存储器存储有计算机程序,上述处理器被配置为执行上述计算机程序时实现上述任一项上述的共享资源的访问方法。

11、第四方面,本申请还提供了一种计算机存储介质,存储有计算机可执行指令,上述计算机可执行指令用于执行本申请上述任一项上述的共享资源的访问方法。

12、本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方案,在当前程序请求访问目标资源时,向其他程序发送目标访问请求,其中,上述当前程序与上述其他程序为分布式系统中被允许访问共享资源的程序,上述共享资源包括上述目标资源;将上述目标访问请求存储到上述当前程序的本地请求队列中,其中,上述当前程序与上述其他程序均维护一个本地请求队列;在所有的上述其他程序都返回目标同意消息的情况下,由上述当前程序访问上述目标资源,从而通过各个程序之间发送访问请求和是否恢复同意消息,来决定各个程序对共享资源的互斥访问,避免了控制节点故障无法进行互斥访问的问题。



技术特征:

1.一种共享资源的访问方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述当前程序的本地请求队列中的请求,确定是否向所述其他程序返回第一同意消息包括:

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

5.根据权利要求3所述的方法,其特征在于,所述在所述当前程序的本地请求队列中包括第二访问请求的情况下,根据所述第二访问请求的时间戳与所述第一访问请求的时间戳确定是否向所述其他程序返回第一同意消息包括:

6.根据权利要求5所述的方法,其特征在于,在所述当前程序访问所述目标资源后,所述方法还包括:

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:

8.一种共享资源的访问装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至少一个总线相连接的至少一个处理器;与所述至少一个总线相连接的至少一个存储器,其中,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任意一项中所述的方法。

10.一种计算机可读的存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行本申请上述权利要求1至7任一项所述的方法。


技术总结
本申请涉及一种共享资源的访问方法、装置、存储介质以及电子设备。该方法包括:在当前程序请求访问目标资源时,向其他程序发送目标访问请求;将目标访问请求存储到当前程序的本地请求队列中;在所有的其他程序都返回目标同意消息的情况下,由当前程序访问目标资源,其中,其他程序用于根据其他程序的本地请求队列确定是否向当前程序发送目标同意消息,目标同意消息用于表示允许当前程序访问目标资源。本申请解决了控制节点异常造成多个程序无法对资源进行互斥访问的技术问题。

技术研发人员:雷文伟
受保护的技术使用者:北京金山云网络技术有限公司
技术研发日:
技术公布日:2024/5/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1