一种进程锁的处理方法、装置及系统制造方法及图纸

技术编号:18783344 阅读:24 留言:0更新日期:2018-08-29 06:48
本发明专利技术公开了一种进程锁的处理方法、装置及系统,所述方法包括:响应于应用程序发送的进程锁处理请求,对所述进程锁处理请求进行解析,获得应用程序标识信息和进程锁处理类型;根据所述应用程序标识信息,查询预设的进程锁数据库,获得待处理的进程锁和所述进程锁的状态信息;根据所述进程锁处理类型和所述进程锁的状态信息对所述进程锁进行相应的处理,并将处理结果返回至所述应用程序。采用本发明专利技术的技术方案能够实现对应用程序资源的合理分配和使用,从而提高应用程序资源的使用效益。

【技术实现步骤摘要】
一种进程锁的处理方法、装置及系统
本专利技术涉及计算机
,尤其涉及一种进程锁的处理方法、装置及系统。
技术介绍
随着计算机技术的快速发展,多任务、多进程和多线程的技术已经得到了非常广泛的应用,在多任务系统下,当某一进程等待使用某一应用程序资源,而该应用程序资源又被等待使用该进程正在使用的应用程序资源的另一进程使用时,就产生了一种进程互相等待的现象,即形成了死锁。由于应用程序资源占用是互斥的,因此,在出现死锁的情况下,当某个进程提出相应的应用程序资源使用申请后,若无外力协助,将永远得不到该应用程序资源,从而无法开始或继续运行。为了解决上述问题,在现有技术公开的技术方案中,每当接收到对某一应用程序资源的调用请求时,首先创建一个针对该调用请求的死锁检测结点,并将该死锁检测结点插入至一个队列中,随后,实时监控该队列中各死锁检测结点的存在时间是否超过死锁时间阈值,如果检测到任一死锁检测结点的存在时间超过了死锁时间阈值,则判定该死锁检测结点所对应的被调用的应用程序资源出现了死锁,并生成相应的死锁提醒信息,以提醒处理人员对该死锁进行处理。由此可见,现有技术仅提供了一种对死锁的出现进行监控和判断的方法,而出现死锁时需要由处理人员来对死锁进行处理,并且当出现的死锁个数较多时,可能需要花费较长时间来等待处理人员进行处理,在等待的过程中死锁中的应用程序资源仍然无法使用,另外,现有技术通过对死锁检测结点的监控来对应用程序资源进行调控,而不同的应用程序资源对应的死锁时间阈值不同,根据单一的死锁时间阈值标准进行死锁判断的结果并不准确,因此,并不能够合理的调控应用程序资源,导致应用程序资源的使用效益十分低下。
技术实现思路
本专利技术实施例所要解决的技术问题在于,提供一种进程锁的处理方法、装置及系统,能够实现对应用程序资源的合理分配和使用,从而提高应用程序资源的使用效益。为了解决上述技术问题,本专利技术实施例提供了一种进程锁的处理方法,包括:响应于应用程序发送的进程锁处理请求,对所述进程锁处理请求进行解析,获得应用程序标识信息和进程锁处理类型;根据所述应用程序标识信息,查询预设的进程锁数据库,获得待处理的进程锁和所述进程锁的状态信息;根据所述进程锁处理类型和所述进程锁的状态信息对所述进程锁进行相应的处理,并将处理结果返回至所述应用程序。进一步地,所述进程锁处理类型为获取进程锁;则所述根据所述进程锁处理类型和所述进程锁的状态信息对所述进程锁进行相应的处理,并将处理结果返回至所述应用程序,具体包括:根据所述进程锁的状态信息判断所述进程锁的资源数量是否大于零;若所述进程锁的资源数量大于零,则将所述进程锁配置给所述应用程序,并对所述进程锁的资源数量进行减一操作,同时生成获取成功信息返回至所述应用程序;若所述进程锁的资源数量不大于零,则不对所述进程锁进行处理,并将所述进程锁处理请求加入预设的获取进程锁队列,等待被唤醒。进一步地,所述进程锁处理类型为释放进程锁;则所述根据所述进程锁处理类型和所述进程锁的状态信息对所述进程锁进行相应的处理,并将处理结果返回至所述应用程序,具体包括:根据所述进程锁的状态信息判断所述应用程序是否已获取所述进程锁;若所述应用程序未获取所述进程锁,则不对所述进程锁进行处理,并生成释放错误信息返回至所述应用程序;若所述应用程序已获取所述进程锁,则对所述进程锁进行释放处理,并对所述进程锁的资源数量进行加一操作,同时生成释放成功信息返回至所述应用程序;唤醒预设的获取进程锁队列中存储的进程锁处理请求进行相应的处理。进一步地,所述进程锁数据库包括进程锁连接数据库和进程锁资源数据库。进一步地,在所述响应于应用程序发送的进程锁处理请求,对所述进程锁处理请求进行解析,获得应用程序标识信息和进程锁处理类型之前,还包括:当接收到进程锁连接请求时,根据所述进程锁连接请求获得所述应用程序标识信息和待连接的进程锁标识信息;其中,所述应用程序标识信息包括进程标识码和线程标识码;将所述应用程序标识信息和所述进程锁标识信息加入所述进程锁连接数据库;则所述根据所述应用程序标识信息,查询预设的进程锁数据库,获得待处理的进程锁和所述进程锁的状态信息,具体包括:根据所述应用程序标识信息,查询所述进程锁连接数据库,获得所述进程锁标识信息;根据所述进程锁标识信息,获得待处理的所述进程锁;根据所述进程锁,查询所述进程锁资源数据库;获得所述进程锁的状态信息。进一步地,所述进程锁的处理方法还包括:若无法根据所述应用程序标识信息获得待处理的所述进程锁,则生成进程锁错误信息并返回至所述应用程序。进一步地,所述进程锁的处理方法还包括:每隔一定的预设时间查询所述进程锁资源数据库,判断获取进程锁的应用程序是否存在;当获取进程锁的应用程序不存在时,生成应用程序错误信息,同时释放对应的进程锁,并对对应的进程锁的资源数量进行加一操作;唤醒预设的获取进程锁队列中存储的进程锁处理请求进行相应的处理。为了解决上述技术问题,本专利技术实施例还提供了一种进程锁的处理装置,包括:进程锁处理请求解析模块,用于响应于应用程序发送的进程锁处理请求,对所述进程锁处理请求进行解析,获得应用程序标识信息和进程锁处理类型;进程锁及状态信息获取模块,用于根据所述应用程序标识信息,查询预设的进程锁数据库,获得待处理的进程锁和所述进程锁的状态信息;以及,进程锁处理模块,用于根据所述进程锁处理类型和所述进程锁的状态信息对所述进程锁进行相应的处理,并将处理结果返回至所述应用程序。为了解决上述技术问题,本专利技术实施例还提供了一种进程锁的处理系统,包括控制中心和至少一个应用程序;其中,所述控制中心用于执行上述任一项所述的进程锁的处理方法;每一所述应用程序用于将进程锁连接请求和进程锁处理请求发送至所述控制中心,并根据接收到的所述控制中心返回的信息进行相应的处理。进一步地,所述控制中心与每一所述应用程序之间通过Unix域套接字进行通信,所述控制中心创建第一套接字和第二套接字,每一所述应用程序分别创建连接套接字和处理套接字;其中,所述第一套接字与所述连接套接字进行通信,所述第二套接字与所述处理套接字进行通信。与现有技术相比,本专利技术实施例提供了一种进程锁的处理方法、装置及系统,通过对进程锁处理请求进行解析以获得应用程序标识信息和进程锁处理类型,根据应用程序标识信息查询预设的进程锁数据库以获得待处理的进程锁和进程锁的状态信息,并根据进程锁处理类型和进程锁的状态信息对进程锁进行相应的处理,能够解决现有技术中无法合理的调控应用程序资源,导致应用程序资源的使用效益十分低下的问题,实现对应用程序资源的合理分配和使用,从而提高应用程序资源的使用效益。附图说明图1是本专利技术提供的一种进程锁的处理系统的一个优选实施例的结构框图;图2是本专利技术提供的一种进程锁的处理方法的一个优选实施例的流程图;图3是本专利技术提供的一种进程锁的处理方法的步骤S13的一个优选实施例的具体流程图;图4是本专利技术提供的一种进程锁的处理方法的步骤S13的另一个优选实施例的具体流程图;图5是本专利技术提供的一种进程锁的处理方法的另一个优选实施例的流程图;图6是本专利技术提供的一种进程锁的处理装置的一个优选实施例的结构框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进本文档来自技高网
...

【技术保护点】
1.一种进程锁的处理方法,其特征在于,包括:响应于应用程序发送的进程锁处理请求,对所述进程锁处理请求进行解析,获得应用程序标识信息和进程锁处理类型;根据所述应用程序标识信息,查询预设的进程锁数据库,获得待处理的进程锁和所述进程锁的状态信息;根据所述进程锁处理类型和所述进程锁的状态信息对所述进程锁进行相应的处理,并将处理结果返回至所述应用程序。

【技术特征摘要】
1.一种进程锁的处理方法,其特征在于,包括:响应于应用程序发送的进程锁处理请求,对所述进程锁处理请求进行解析,获得应用程序标识信息和进程锁处理类型;根据所述应用程序标识信息,查询预设的进程锁数据库,获得待处理的进程锁和所述进程锁的状态信息;根据所述进程锁处理类型和所述进程锁的状态信息对所述进程锁进行相应的处理,并将处理结果返回至所述应用程序。2.如权利要求1所述的进程锁的处理方法,其特征在于,所述进程锁处理类型为获取进程锁;则所述根据所述进程锁处理类型和所述进程锁的状态信息对所述进程锁进行相应的处理,并将处理结果返回至所述应用程序,具体包括:根据所述进程锁的状态信息判断所述进程锁的资源数量是否大于零;若所述进程锁的资源数量大于零,则将所述进程锁配置给所述应用程序,并对所述进程锁的资源数量进行减一操作,同时生成获取成功信息返回至所述应用程序;若所述进程锁的资源数量不大于零,则不对所述进程锁进行处理,并将所述进程锁处理请求加入预设的获取进程锁队列,等待被唤醒。3.如权利要求1所述的进程锁的处理方法,其特征在于,所述进程锁处理类型为释放进程锁;则所述根据所述进程锁处理类型和所述进程锁的状态信息对所述进程锁进行相应的处理,并将处理结果返回至所述应用程序,具体包括:根据所述进程锁的状态信息判断所述应用程序是否已获取所述进程锁;若所述应用程序未获取所述进程锁,则不对所述进程锁进行处理,并生成释放错误信息返回至所述应用程序;若所述应用程序已获取所述进程锁,则对所述进程锁进行释放处理,并对所述进程锁的资源数量进行加一操作,同时生成释放成功信息返回至所述应用程序;唤醒预设的获取进程锁队列中存储的进程锁处理请求进行相应的处理。4.如权利要求1所述的进程锁的处理方法,其特征在于,所述进程锁数据库包括进程锁连接数据库和进程锁资源数据库。5.如权利要求4所述的进程锁的处理方法,其特征在于,在所述响应于应用程序发送的进程锁处理请求,对所述进程锁处理请求进行解析,获得应用程序标识信息和进程锁处理类型之前,还包括:当接收到进程锁连接请求时,根据所述进程锁连接请求获得所述应用程序标识信息和待连接的进程锁标识信息;其中,所述应用程序标识信息包括进程标识码和线程标识码;将...

【专利技术属性】
技术研发人员:彭炯钟联波
申请(专利权)人:深圳市普威技术有限公司
类型:发明
国别省市:广东,44

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

1