[发明专利]无锁共享内存处理方法、装置、电子设备及可读存储介质有效
申请号: | 201910591481.0 | 申请日: | 2019-07-02 |
公开(公告)号: | CN110287044B | 公开(公告)日: | 2021-08-03 |
发明(设计)人: | 陈慕仪 | 申请(专利权)人: | 广州虎牙科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 唐维虎 |
地址: | 511400 广东省广州市番禺*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 共享 内存 处理 方法 装置 电子设备 可读 存储 介质 | ||
本申请实施例提供一种无锁共享内存处理方法、装置、电子设备及可读存储介质,通过内存映射的方式将共享内存文件映射到共享内存区域中,并根据映射完成后的映射返回值将得到的共享内存区域中对应的映射区域的起始指针地址和偏移记录指针地址记录到数据业务对应的应用程序的内存中。在此基础上,运用原子更新的原子数据结构,并通过数据划分为索引区、哈希数组数据区、提取池以及存储数据区的多个原子整型的方法,从而无需为每个进程或线程设定私有检索数据,在数据高并发处理时占用内存更小,使得在直播业务中,能够为高速发展业务提供高并发的数据读写服务,并为内存数据库提供高并发高性能的读写与存储方案。
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种无锁共享内存处理方法、装置、电子设备及可读存储介质。
背景技术
直播业务并发量大,数据更新和读取频繁,传统的锁竞争下的并发读写存在瓶颈。另外,传统单一的数据读写模式,已不再满足直播业务飞速增长、读写并发请求庞大的需求。
发明内容
有鉴于此,本申请实施例的目的在于提供一种无锁共享内存处理方法、装置、电子设备及可读存储介质,以解决或者改善上述问题。
根据本申请实施例的一个方面,提供一种电子设备,可以包括一个或多个存储介质和一个或多个与存储介质通信的处理器。一个或多个存储介质存储有处理器可执行的机器可执行指令。当电子设备运行时,处理器执行所述机器可执行指令,以执行下述的无锁共享内存处理方法。
根据本申请实施例的另一方面,提供一种无锁共享内存处理方法,应用于电子设备,所述方法包括:
针对每个数据业务,配置该数据业务的内存配置数据,所述内存配置数据包括所需的数据块大小、数据块数量以及共享内存文件路径;
根据所述数据块大小和数据块数量计算该数据业务所需的共享内存空间;
根据所述共享内存文件路径打开共享内存文件,并根据所述共享内存空间,通过预设的内存映射方式将所述共享内存文件映射到共享内存区域中,并获取映射完成后的映射返回值;
根据所述映射返回值得到所述共享内存区域中对应的映射区域的起始指针地址和偏移记录指针地址,并将所述起始指针地址和偏移记录指针地址记录到所述数据业务对应的应用程序的内存中;
对所述共享内存区域进行辅助数据的原子映射后,为所述共享内存区域分配索引区、哈希数组数据区、提取池以及存储数据区的原子数据结构,以完成该数据业务的无锁共享内存处理。
根据本申请实施例的另一方面,提供一种无锁共享内存处理装置,应用于电子设备,所述装置包括:
数据配置模块,用于针对每个数据业务,配置该数据业务的内存配置数据,所述内存配置数据包括所需的数据块大小、数据块数量以及共享内存文件路径;
计算模块,用于根据所述数据块大小和数据块数量计算该数据业务所需的共享内存空间;
内存映射模块,用于根据所述共享内存文件路径打开共享内存文件,并根据所述共享内存空间,通过预设的内存映射方式将所述共享内存文件映射到共享内存区域中,并获取映射完成后的映射返回值;
地址记录模块,用于根据所述映射返回值得到所述共享内存区域中对应的映射区域的起始指针地址和偏移记录指针地址,并将所述起始指针地址和偏移记录指针地址记录到所述数据业务对应的应用程序的内存中;
分配模块,用于对所述共享内存区域进行辅助数据的原子映射后,为所述共享内存区域分配索引区、哈希数组数据区、提取池以及存储数据区的原子数据结构,以完成该数据业务的无锁共享内存处理。
根据本申请实施例的另一方面,提供一种可读存储介质,该可读存储介质上存储有机器可执行指令,该计算机程序被处理器运行时可以执行上述的无锁共享内存处理方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州虎牙科技有限公司,未经广州虎牙科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910591481.0/2.html,转载请声明来源钻瓜专利网。