[发明专利]多进程共享数据处理方法和装置有效
申请号: | 201310695301.6 | 申请日: | 2013-12-17 |
公开(公告)号: | CN104714792B | 公开(公告)日: | 2019-02-26 |
发明(设计)人: | 尚子峰 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/54 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 李志刚;吴贵明 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 进程 共享 数据处理 方法 装置 | ||
本发明公开了一种多进程共享数据处理方法和装置。该多进程共享数据处理方法通过多个进程读取共享数据,多个进程包括第一进程和第二进程,该多进程共享数据处理方法包括:启动第一进程;第一进程读取共享数据;第一进程在读取共享数据之后,将共享数据保存为镜像数据;启动第二进程;以及第二进程通过读取镜像数据读取共享数据。通过本发明,解决了现有技术中进程读写内存效率比较低的问题,进而达到了提高进程读写内存效率的效果。
技术领域
本发明涉及数据处理领域,具体而言,涉及一种多进程共享数据处理方法和装置。
背景技术
现有技术方案解决多个进程间数据共享,一般都采用共享内存的方式,也就是多个进程读写同一块物理内存,通过其中某个进程来维护共享内存的共享数据。
现有技术有如下缺点:
为了保证多个进程读取数据的一致性,进程在访问共享内存前需要加线程锁。线程锁会降低进程读写内存的效率,特别是在多进程频繁访问共享内存的情况下,线程锁更大程度的减低进程读写内存的效率。
共享内存只是共享数据存储区域,不能及时更新共享数据。例如A进程更新了共享内存中的数据,B进程并不知道,需要由A进程来主动通知B进程,在进程较多的情况下,上述更新共享数据的方式不仅繁琐,还大大降低了进程读写内存的效率。
针对现有技术中进程读写内存效率比较低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例的主要目的在于提供一种多进程共享数据处理方法和装置,以解决现有技术中现有技术中进程读写内存效率比较低的问题。
为了实现上述目的,根据本发明实施例的一个方面,提供了一种多进程共享数据处理方法。该方法包括:通过多个进程读取共享数据,多个进程包括第一进程和第二进程,多进程共享数据处理方法包括:启动第一进程;第一进程读取共享数据;第一进程在读取共享数据之后,将共享数据保存为镜像数据;启动第二进程;以及第二进程通过读取镜像数据读取共享数据。
为了实现上述目的,根据本发明实施例的另一方面,提供了一种多进程共享数据处理装置。该装置包括:多进程共享数据处理装置通过多个进程读取共享数据,多个进程包括第一进程和第二进程,多进程共享数据处理装置包括:第一启动单元,用于启动第一进程;第一读取单元,用于通过第一进程读取共享数据;保存单元,用于在第一进程在读取共享数据之后,将共享数据保存为镜像数据;第二启动单元,用于启动第二进程;以及第二读取单元,用于第二进程通过读取镜像数据读取共享数据。
通过本发明实施例,解决了现有技术中进程读写内存效率比较低的问题,进而达到了提高进程读写内存效率的效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明第一实施例的多进程共享数据处理方法的流程图;
图2是根据本发明第二实施例的多进程共享数据处理方法的流程图;
图3是根据本发明实施例的多进程共享数据处理方法的示意图;
图4是根据本发明第三实施例的多进程共享数据处理方法的流程图;
图5是根据本发明实施例的多进程共享数据处理方法的数据处理流程图;
图6是根据本发明第一实施例的多进程共享数据处理装置的示意图;
图7是根据本发明第二实施例的多进程共享数据处理装置的示意图;以及
图8是根据本发明第三实施例的多进程共享数据处理装置的示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310695301.6/2.html,转载请声明来源钻瓜专利网。