多容器系统间共享系统资源的方法及装置制造方法及图纸

技术编号:15690718 阅读:323 留言:0更新日期:2017-06-24 03:20
本发明专利技术提供了多容器系统间共享系统资源的方法及装置,该方法包括:当内核监测到来自任一容器系统的针对设备的访问请求时,确定访问请求中与设备对应的系统资源相匹配的资源锁;基于系统资源相匹配的资源锁,确定系统资源的状态信息;根据系统资源的状态信息,对系统资源进行加锁,并将加锁后的系统资源分配至容器系统,以用于容器系统对系统资源进行独占访问。通过本发明专利技术,实现了在多容器系统中,根据与系统资源相匹配的资源锁的状态信息,来对系统资源进行加锁处理,保证了该进程的访问请求能够对系统资源进行独占访问,避免了多个进程同时对同一系统资源进行访问时发生访问冲突而导致容器系统不能正常运行的情况。

Method and apparatus for sharing system resources between multi container systems

The present invention provides a method and apparatus for resource sharing system multi container system, the method includes: when the kernel monitored from any container system for equipment access request, the request to determine the corresponding system resources and equipment matching resource lock; system resource matching resource lock based on the determined state the information system of resources; according to the state information of the system resources, the system resources are locked, and will increase the system resource allocation to the container system after the lock, the container system for exclusive access to system resources. The invention realizes the multi vessel system, according to the state information matching and system resource lock, the system resource lock processing, ensure the process can access requests for exclusive access to system resources, avoid multiple processes to access the same resource at the same time occurrence system access conflict container system is not normal operation condition.

【技术实现步骤摘要】
多容器系统间共享系统资源的方法及装置
本专利技术涉及计算机
,具体而言,本专利技术涉及一种多容器系统间共享系统资源的方法,及一种多容器系统间共享系统资源的装置。
技术介绍
随着当今计算机技术的发展,终端设备的各项软硬件配置越来越高,一些高端配置的终端设备运行效果已和桌面设备的相应配置实现的效果接近,这为操作系统的虚拟化奠定了基础;另一方面,用户对于终端设备使用场景的多样性与日俱增,终端设备不仅用于日常生活娱乐,还用于工作学习等重要场景。随着用户的使用需求地不断提高,出现了同一终端设备中根据不同的用户需求提供不同运行环境的解决方案,如设置特定用户在特定的受限运行环境下使用终端设备,或为同一用户在终端设备中的不同使用场景设置不同的运行环境。因此急需在终端设备的不同运行环境中实现系统资源的共享。现有技术中,仅解决了分布式系统的资源共享的访问方法,通过识别资源位于本地的当前互斥锁的标识来判断是否可访问该资源,但是,该方案仅局限于实现各个服务器间的系统资源共享,无法实现单机中各进程间的系统资源共享,且通过现有技术在分布式系统中共享系统资源的解决方案无法移植到单个终端设备中的多系统中以实现共享系统资源,现有技术中,并不存在多系统的单个终端设备中解决各个系统间共享系统资源的方案,因此,亟待一种在多系统的终端设备中解决各个系统间共享系统资源的方法。
技术实现思路
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:本专利技术的实施例提出了一种多容器系统间共享系统资源的方法,包括:当内核监测到来自任一容器系统的针对设备的访问请求时,确定访问请求中与设备对应的系统资源相匹配的资源锁;基于系统资源相匹配的资源锁,确定系统资源的状态信息;根据系统资源的状态信息,对系统资源进行加锁,并将加锁后的系统资源分配至容器系统,以用于容器系统对系统资源进行独占访问。优选地,还包括:为各个系统资源分别创建用于存储其各自已持有的资源锁的第一链表,并为所有资源锁创建一个第二链表;其中,该方法还包括:当任一系统资源对应的资源锁的状态信息发生变化时,更新资源锁的第一链表;基于第一链表的更新信息,更新第二链表。优选地,确定访问请求中与设备对应的系统资源相匹配的资源锁的步骤,包括:确定访问请求中与设备对应的系统资源的资源锁标识;基于系统资源的资源锁标识,从第二链表中确定与系统资源相匹配的资源锁的状态信息。优选地,基于系统资源相匹配的资源锁,确定系统资源的状态信息,包括以下任一情形:若与系统资源相匹配的资源锁的状态信息为已被持有,确定系统资源的状态信息为系统资源已被占用;若与系统资源相匹配的资源锁的状态信息为未被持有,确定系统资源的状态信息为系统资源未被占用;若与系统资源相匹配的资源锁的状态信息为不存在,创建系统资源相匹配的资源锁。可选地,还包括:确定访问请求中与设备对应的系统资源的处理类型;当系统资源的状态信息为已被占用,根据系统资源的状态信息,对系统资源进行加锁,包括以下任一情形:当处理类型为加锁时,等待直至系统资源被释放,获取系统资源,并对系统资源进行加锁;当处理类型为尝试加锁时,返回加锁失败提示信息;当处理类型为定时加锁时,在定时加锁的预定时长内等待系统资源被释放,若获取到系统资源,对系统资源进行加锁;若等待时长超过定时加锁的预定时长,返回加锁失败提示信息。优选地,根据系统资源的状态信息,对系统资源进行加锁,包括:当系统资源的状态信息为未被占用,获取系统资源,并对系统资源进行加锁。可选地,系统资源的处理类型还包括解锁,该方法还包括:基于系统资源的资源锁标识,确定与系统资源相匹配的资源锁是否存在于第一链表中;若存在,对系统资源进行解锁。可选地,若与系统资源相匹配的资源锁不存在于第一链表中,还包括:基于系统资源的资源锁标识,确定与系统资源相匹配的资源锁是否存在于第二链表中;若与系统资源相匹配的资源锁存在于第二链表中,判断系统资源相匹配的资源锁是否被访问请求持有;若是,对系统资源进行解锁。本专利技术的另一实施例提出了一种多容器系统间共享系统资源的装置,包括:监测及确定模块,用于当内核监测到来自任一容器系统的针对设备的访问请求时,确定访问请求中与设备对应的系统资源相匹配的资源锁;确定模块,用于基于系统资源相匹配的资源锁,确定系统资源的状态信息;加锁及分配模块,用于根据系统资源的状态信息,对系统资源进行加锁,并将加锁后的系统资源分配至容器系统,以用于容器系统对系统资源进行独占访问。可选地,还包括:创建模块,用于为各个系统资源分别创建用于存储其各自已持有的资源锁的第一链表,并为所有资源锁创建一个第二链表;其中,该装置还包括:第一更新模块,用于当任一系统资源对应的资源锁的状态信息发生变化时,更新资源锁的第一链表;第二更新模块,用于基于第一链表的更新信息,更新第二链表。优选地,监测及确定模块,包括:第一确定单元,用于确定访问请求中与设备对应的系统资源的资源锁标识;第二确定单元,用于基于系统资源的资源锁标识,从第二链表中确定与系统资源相匹配的资源锁的状态信息。优选地,确定模块用于以下任一情形:若与系统资源相匹配的资源锁的状态信息为已被持有,确定系统资源的状态信息为系统资源已被占用;若与系统资源相匹配的资源锁的状态信息为未被持有,确定系统资源的状态信息为系统资源未被占用;若与系统资源相匹配的资源锁的状态信息为不存在,创建系统资源相匹配的资源锁。本专利技术的实施例中,提出了一种多容器系统间共享系统资源的方案,当内核监测到来自任一容器系统的针对设备的访问请求时,确定访问请求中与设备对应的系统资源相匹配的资源锁,为后续根据资源锁来确定是否能够访问与资源锁相匹配的系统资源提供了必要的前提保障;基于系统资源相匹配的资源锁,确定系统资源的状态信息,为后续确定是否能够对系统资源进行加锁提供了必要的前提保障,使得系统资源能够被合理地分配;根据系统资源的状态信息,对系统资源进行加锁,并将加锁后的系统资源分配至容器系统,以用于容器系统对系统资源进行独占访问,实现了在多容器系统中,根据与系统资源相匹配的资源锁的状态信息,来对系统资源进行加锁处理,保证了该进程的访问请求能够对系统资源进行独占访问,避免了多个进程同时对同一系统资源进行访问时发生访问冲突而导致容器系统不能正常运行的情况,实现了系统资源在被独占访问的前提下,在多容器系统间实现系统资源的共享。本专利技术附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本专利技术中一个实施例的多系统终端设备中各容器系统间的关系示意图;图2为本专利技术中另一实施例的多容器系统间共享系统资源的方法的流程图;图3为本专利技术中又一实施例的多容器系统间共享系统资源的方法的流程图;图4为本专利技术中再一实施例的多容器系统间共享系统资源的方法的流程图;图5为本专利技术中另一实施例的多容器系统间共享系统资源的方法的流程图;图6为本专利技术中另一实施例的多容器系统间共享系统资源的方法的流程图;图7为本专利技术中另一实施例的多容器系统间共享系统资源的方法的流程图;图8为本专利技术中另一实施例的多容器系统间共享系统资源的方法的流程图;图本文档来自技高网...
多容器系统间共享系统资源的方法及装置

【技术保护点】
一种多容器系统间共享系统资源的方法,其特征在于,包括:当内核监测到来自任一容器系统的针对设备的访问请求时,确定所述访问请求中与所述设备对应的系统资源相匹配的资源锁;基于所述系统资源相匹配的资源锁,确定所述系统资源的状态信息;根据所述系统资源的状态信息,对所述系统资源进行加锁,并将加锁后的系统资源分配至所述容器系统,以用于所述容器系统对所述系统资源进行独占访问。

【技术特征摘要】
1.一种多容器系统间共享系统资源的方法,其特征在于,包括:当内核监测到来自任一容器系统的针对设备的访问请求时,确定所述访问请求中与所述设备对应的系统资源相匹配的资源锁;基于所述系统资源相匹配的资源锁,确定所述系统资源的状态信息;根据所述系统资源的状态信息,对所述系统资源进行加锁,并将加锁后的系统资源分配至所述容器系统,以用于所述容器系统对所述系统资源进行独占访问。2.根据权利要求1所述的方法,其特征在于,还包括:为各个系统资源分别创建用于存储其各自已持有的资源锁的第一链表,并为所有资源锁创建一个第二链表;其中,该方法还包括:当任一系统资源对应的资源锁的状态信息发生变化时,更新所述资源锁的第一链表;基于所述第一链表的更新信息,更新所述第二链表。3.根据权利要求2所述的方法,其特征在于,所述确定所述访问请求中与所述设备对应的系统资源相匹配的资源锁的步骤,包括:确定所述访问请求中与所述设备对应的系统资源的资源锁标识;基于所述系统资源的资源锁标识,从所述第二链表中确定与所述系统资源相匹配的资源锁的状态信息。4.根据权利要求1-3任一项所述的方法,其特征在于,所述基于所述系统资源相匹配的资源锁,确定所述系统资源的状态信息,包括以下任一情形:若与所述系统资源相匹配的资源锁的状态信息为已被持有,确定所述系统资源的状态信息为所述系统资源已被占用;若与所述系统资源相匹配的资源锁的状态信息为未被持有,确定所述系统资源的状态信息为所述系统资源未被占用;若与所述系统资源相匹配的资源锁的状态信息为不存在,创建所述系统资源相匹配的资源锁。5.根据权利要求4所述的方法,其特征在于,还包括:确定所述访问请求中与所述设备对应的系统资源的处理类型;当所述系统资源的状态信息为已被占用,所述根据所述系统资源的状态信息,对所述系统资源进行加锁,包括以下任一情形:当所述处理类型为加锁时,等待直至所述系统资源被释放,获取所述系统资源,并对所述系统资源进行加锁;当所述处理类型为尝试加锁时,返回加锁失败提示信息;当所述处理类型为定时加锁时,在所述定时加锁的预定时长内等待所述系统资源被释放,若获取到所述系统资源,对所述系统资源进行加锁;若等待时长超过所述定时加锁的预定时长,返回加锁失败提示信息。6.根据权利要求4所述的方法,其特征在于,所述根据所述系统资源的状态信息,对所述系统资源进行加锁,包括:当所述系统...

【专利技术属性】
技术研发人员:王岩
申请(专利权)人:北京元心科技有限公司
类型:发明
国别省市:北京,11

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

1