在分布式系统中锁定业务资源的系统和方法技术方案

技术编号:9519238 阅读:169 留言:1更新日期:2014-01-01 16:53
本发明专利技术提供了一种在分布式系统中锁定业务资源的系统,包括:请求解析单元,用于解析接收到的业务资源锁定请求,获取锁定信息,所述锁定信息包括所述分布式系统中需要执行锁定的业务资源和锁定模式;锁定执行单元,用于将创建的数据节点作为锁定所述业务资源的承载节点,并按照所述锁定模式,对所述业务资源执行锁定操作。本发明专利技术还提出了一种在分布式系统中锁定业务资源的方法。通过本发明专利技术的技术方案,可以不依赖于单点服务器,使得在分布式系统中,有助于避免单点服务器的宕机导致业务锁无法释放或请求,从而提高了系统的效率和健壮性。

【技术实现步骤摘要】
【专利摘要】本专利技术提供了一种在分布式系统中锁定业务资源的系统,包括:请求解析单元,用于解析接收到的业务资源锁定请求,获取锁定信息,所述锁定信息包括所述分布式系统中需要执行锁定的业务资源和锁定模式;锁定执行单元,用于将创建的数据节点作为锁定所述业务资源的承载节点,并按照所述锁定模式,对所述业务资源执行锁定操作。本专利技术还提出了一种在分布式系统中锁定业务资源的方法。通过本专利技术的技术方案,可以不依赖于单点服务器,使得在分布式系统中,有助于避免单点服务器的宕机导致业务锁无法释放或请求,从而提高了系统的效率和健壮性。【专利说明】
本专利技术涉及数据处理
,具体而言,涉及在分布式系统中锁定业务资源的系统和相应的方法。
技术介绍
在大并发环境下,必可避免存在并发操作同一资源的情况。如同时修改同一条档案、同时申请新的单据号等等。如果仅靠数据库的锁机制,效率很低,并且会出现逻辑错误和误覆盖的情况。常用的做法是使用业务锁,对资源按照业务需要进行锁定,在一定程度上解决了这个问题。然而在分布式环境中,必须使用单点的方式实现。随着并发访问量增加,对锁的请求越来越大,单点服务器会成为瓶颈。更严重的问题是,单点服务器会因为压力过大,不再响应甚至宕机,导致出现已存在的业务锁不能释放或者无法请求新的业务锁的情况,严重影响业务。因此,如何在分布式系统中实现更为高效的业务锁功能,成为目前亟待解决的技术问题。
技术实现思路
本专利技术正是基于上述问题,提出了一种新的应用于分布式系统中的业务锁技术,可以不依赖于单点服务器,使得在分布式系统中,有助于避免单点服务器的宕机导致业务锁无法释放或请求,从而提高了系统的效率和健壮性。有鉴于此,本专利技术提出了一种在分布式系统中锁定业务资源的系统,包括:请求解析单元,用于解析接收到的业务资源锁定请求,获取锁定信息,所述锁定信息包括所述分布式系统中需要执行锁定的业务资源和锁定模式;锁定执行单元,用于将创建的数据节点作为锁定所述业务资源的承载节点,并按照所述锁定模式,对所述业务资源执行锁定操作。在该技术方案中,通过创建数据节点来作为业务锁的承载节点,使得在分布式系统中,无需采用单点的方式,避免了由于单点服务器的宕机或不响应而导致的业务锁无法释放或无法申请,提升了系统的可靠性。在上述技术方案中,优选地,还包括:第一判断单元,用于判断是否存在已建立的对应于所述业务资源的数据节点;其中,所述锁定执行单元用于:在所述第一判断单元的判断结果为不存在时,新建所述数据节点,并执行对所述业务资源的锁定操作;在所述第一判断单元的判断结果为存在时,若所述锁定模式为排他锁定、或所述锁定模式为共享锁定且已存在的数据节点的锁定模式为排他锁定,则停止执行所述锁定操作并返回,若所述锁定模式为共享锁定且已存在的数据节点的锁定模式为共享锁定,则修改所述数据节点,以完成所述锁定操作。在该技术方案中,对业务锁的类型分为了排他锁定和共享锁定,其中,排他锁定使得同一时间内仅能够由一个对象实现对相应业务资源的锁定,共享锁定则允许多个对象实现对相应业务资源的锁定,从而有助于满足不同对象对于业务的操作需求,避免在操作过程中发生逻辑错误、误覆盖等。而通过在申请业务资源的锁定过程中,对是否已存在数据节点、业务锁的类型等进行确认,也使得对业务资源的锁定处理更准确,避免产生误操作。在上述任一技术方案中,优选地,还包括:分类处理单元,用于按照预设的隔离条件对建立的数据节点进行分类;隔离管理单元,用于对每种类型的数据节点进行隔离管理,且同一数据节点对应于一个或多个所述隔离条件。在该技术方案中,可以基于预设的隔离条件,对不同类型的数据节点进行隔离管理,有助于系统的稳定性和效率的提升。其中,隔离条件可以为系统默认预设的,也可以为用户根据需求预设的,还可以由用户实时设置或编辑,以满足不同情况下的需求。在上述任一技术方案中,优选地,所述请求解析单元还用于:解析接收到的解锁请求,确定需要解除锁定的业务资源;所述系统还包括:第二判断单元,用于判断是否存在对应于所述需要解除锁定的业务资源的数据节点;解锁执行单元,用于在所述第二判断单元的判断结果为存在时,若已存在的数据节点的锁定模式为排他锁,则直接删除,若已存在的数据节点的锁定模式为共享锁,则在共享数目为零时,删除所述已存在的数据节点。在该技术方案中,通过在释放业务锁对应的业务资源时,对业务锁的类型进行查看,避免了对于业务锁对应的数据节点的任意删除,有助于提升系统的稳定性和可靠性。在上述任一技术方案中,优选地,还包括:节点管理单元,用于监控被锁定的业务资源对应的业务节点的状态,以实现对相应的数据节点的管理。在该技术方案中,通过对业务节点进行状态监控,并据此管理对应的数据节点(业务锁的承载),从而可以根据业务资源的实时状态的变化,实现对数据节点的生命周期的管理。比如业务节点所处的服务器发生宕机或不响应时,可以直接删除相应的数据节点,从而避免相应的业务资源无法释放或其他对象无法申请对该业务资源进行锁定。根据本专利技术的另一方面,还提出了一种在分布式系统中锁定业务资源的方法,包括:步骤202,解析接收到的业务资源锁定请求,获取锁定信息,所述锁定信息包括所述分布式系统中需要执行锁定的业务资源和锁定模式;步骤204,将创建的数据节点作为锁定所述业务资源的承载节点,并按照所述锁定模式,对所述业务资源执行锁定操作。在该技术方案中,通过创建数据节点来作为业务锁的承载节点,使得在分布式系统中,无需采用单点的方式,避免了由于单点服务器的宕机或不响应而导致的业务锁无法释放或无法申请,提升了系统的可靠性。在上述技术方案中,优选地,所述步骤204还包括:判断是否存在已建立的对应于所述业务资源的数据节点,当不存在时,新建所述数据节点,并执行对所述业务资源的锁定操作;当存在时,若所述锁定模式为排他锁定、或所述锁定模式为共享锁定且已存在的数据节点的锁定模式为排他锁定,则停止执行所述锁定操作并返回,若所述锁定模式为共享锁定且已存在的数据节点的锁定模式为共享锁定,则修改所述数据节点,以完成所述锁定操作。在该技术方案中,对业务锁的类型分为了排他锁定和共享锁定,其中,排他锁定使得同一时间内仅能够由一个对象实现对相应业务资源的锁定,共享锁定则允许多个对象实现对相应业务资源的锁定,从而有助于满足不同对象对于业务的操作需求,避免在操作过程中发生逻辑错误、误覆盖等。而通过在申请业务资源的锁定过程中,对是否已存在数据节点、业务锁的类型等进行确认,也使得对业务资源的锁定处理更准确,避免产生误操作。在上述任一技术方案中,优选地,还包括:按照预设的隔离条件对建立的数据节点进行分类;对每种类型的数据节点进行隔离管理,且同一数据节点对应于一个或多个所述隔离条件。在该技术方案中,可以基于预设的隔离条件,对不同类型的数据节点进行隔离管理,有助于系统的稳定性和效率的提升。其中,隔离条件可以为系统默认预设的,也可以为用户根据需求预设的,还可以由用户实时设置或编辑,以满足不同情况下的需求。在上述任一技术方案中,优选地,还包括:解析接收到的解锁请求,确定需要解除锁定的业务资源;判断是否存在对应于所述需要解除锁定的业务资源的数据节点,当存在时,若已存在的数据节点的锁定模式为排他锁,则直接删除本文档来自技高网...

【技术保护点】
一种在分布式系统中锁定业务资源的系统,其特征在于,包括:请求解析单元,用于解析接收到的业务资源锁定请求,获取锁定信息,所述锁定信息包括所述分布式系统中需要执行锁定的业务资源和锁定模式;锁定执行单元,用于将创建的数据节点作为锁定所述业务资源的承载节点,并按照所述锁定模式,对所述业务资源执行锁定操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵国滨
申请(专利权)人:用友软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有1条评论
  • 来自[广东省广州市联通] 2015年03月15日 11:22
    古代名刀。梁·陶弘景《古今刀剑录》:“齐高帝肖道成,以建元二年造一刀,铭曰定业。”
    0
1