[发明专利]跨进程的资源共享方法和设备有效
申请号: | 201310648237.6 | 申请日: | 2013-12-04 |
公开(公告)号: | CN103605577B | 公开(公告)日: | 2017-06-30 |
发明(设计)人: | 吴国瑞;吴海育 | 申请(专利权)人: | 广州博冠信息科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/54 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 王宝筠 |
地址: | 510665 广东省广州市天*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 跨进 资源共享 方法 设备 | ||
技术领域
本发明的实施方式涉及数据存储领域,更具体地,本发明的实施方式涉及跨进程的资源共享方法和设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述可包括可以探究的概念,但不一定是之前已经想到或者已经探究的概念。因此,除非在此指出,否则在本部分中描述的内容对于本申请的说明书和权利要求书而言不是现有技术,并且并不因为包括在本部分中就承认是现有技术。
在一台电脑上,往往会同时运行一个程序的多个进程,例如,游戏玩家为了多个游戏账号下的不同角色之间的交互,或者,为了同时玩多个不同的角色,就会运行一个游戏程序的多个进程。
在现有技术中,每个进程都拥有自己专属的一个内存空间,当某个进程需要资源文件时,该进程会调用一个资源管理模块,该资源管理模块将资源文件从物理磁盘载入到该进程专属的内存空间。
发明内容
但是,本发明人在研究过程中发现,在现有技术中,一个程序的多个进程对资源文件的需求通常是相同,即,一个程序的多个进程通常需要的资源文件是相同的。例如,当一个程序的多个进程都需要资源文件A时,对于每一个进程而言,都会调用一次资源管理模块,并由资源管理模块将资源文件A从物理磁盘载入到每一个进程各自的内存空间中。也就是说,资源管理模块会重复多次地对资源文件A执行载入操作。其中,资源管理模块在每次载入过程中都要执行如下操作:从物理磁盘读取经过编码处理的资源文件,对读取的资源文件进行解码,将解码后的资源文件写入到每个进程各自的内存空间。
因此依照现有技术,在资源管理模块从物理磁盘读取经过编码处理的资源文件的过程中,会消耗IO操作;在资源管理模块对读取的资源文件进行解码的过程中,也会消耗CPU时间;在资源管理模块将解码后的资源文件写入到每个进程各自的内存空间的过程中,还会消耗内存空间。如果资源管理模块重复多次地对相同的资源文件执行读取、解码和存储操作时,必然会消耗大量的IO操作、CPU时间和内存空间。特别是在一个程序同时运行大量进程的情况下,而对IO操作、CPU时间以及内存空间的损耗问题就变得更加严重。
为此,非常需要一种跨进程的集中的资源管理共享方法和设备,以解决现有技术中当同一个程序的多个进程对资源文件的需求相同时,会消耗大量的IO操作、CPU时间以及内存这一技术问题。
在本上下文中,本发明的实施方式期望提供一种实现跨进程的资源共享方法和设备。
在本发明实施方式的第一方面中,提供了一种实现跨进程的资源共享方法,包括:与同一个程序的多个进程实现进程间通信;响应于所述多个进程中当前请求获取资源文件的进程的获取请求,确定所述获取请求所针对的目标资源文件;为所述目标资源文件分配一块共享内存区域作为资源文件存储区,将所述目标资源文件从物理磁盘载入到所述资源文件存储区中;将所述资源文件存储区的映射地址返回给所述多个进程中当前请求获取资源文件的进程。
在本发明实施方式的第二方面中,提供了一种实现跨进程的资源共享设备,包括:进程间通信单元,用于与同一个程序的多个进程实现进程间通信;资源文件确定单元,用于响应于所述多个进程中当前请求获取资源文件的进程的获取请求,确定所述获取请求所针对的目标资源文件;资源文件载入单元,用于为所述目标资源文件分配一块共享内存区域作为资源文件存储区,将所述目标资源文件从物理磁盘载入到所述资源文件存储区中;资源文件地址返回单元,用于将所述资源文件存储区的映射地址返回给所述多个进程中当前请求获取资源文件的进程。
在本发明实施方式中,由于为目标资源文件分配了一块共享内存区域,而共享内存区域允许被同一个程序的多个进程访问,因此,只需执行一次将目标资源文件载入到共享内存区域的操作,而无需重复执行将目标资源文件分别载入到多个进程各自的内存空间的操作。从而,当同一个程序的多个进程对资源文件的需求相同时,可以节约IO操作、CPU时间以及内存空间。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了本发明的实施方式的一个示例性应用场景;
图2示意性地示出了根据本发明的一个实施方式的跨进程的资源共享的方法的流程图;
图3示意性地示出了根据本发明的一个实施方式的基于共享内存实现进程间通信的方法的流程图;
图4示意性地示出了根据本发明的另一个实施方式的跨进程的资源共享的方法的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州博冠信息科技有限公司,未经广州博冠信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310648237.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于盲定位相关源的系统和方法
- 下一篇:检测分子的方法及光学传感器