本发明专利技术特别涉及一种基于共享内存的进程间实例数据共享方法。该基于共享内存的进程间实例数据共享方法,多个进程使用相同的key值通过系统调用mmap映射同一块物理内存;ME进程将元数据写入共享内存,将元数据在共享内存中的偏移量通过RPC发给AE进程;AE进程映射共享内存后,读取指定位置的数据,实现数据的共享,进而保证多个进程对数据的访问一致性。该基于共享内存的进程间实例数据共享方法,不仅可以在进程间共享数据内容,还可以共享数据之上的行为,从而对数据的操作进行约束,实现规范化,既保证了进程间通信,又保证了数据在多个进程内的一致性。
【技术实现步骤摘要】
本专利技术涉及分元数据共享,特别涉及一种基于共享内存的进程间实例数据共享方法。
技术介绍
1、kdp是一个集云(c)边(e)端(t)一体的时序数据库平台,系统正常工作时,是多个进程同时在运行,进程间通过共享内存实现通信。系统数据分为元数据和数据两部分,其中元数据保存了租户、数据库、表等描述信息,数据则是信号采集器采集的信息,保存在数据库的表中。
2、元数据作为系统的描述信息,需要被多个进程访问,包括读或写,若进程通过socket通信来共享元数据信息,存在如下问题:
3、1)、元数据信息会在每个进程的内存中保存一份副本,一个进程修改后,需要及时的向其他进程通信,存在数据不一致的风险;
4、2)、进程间操作元数据的行为各异,不能规范元数据之上的行为操作。基于进程间通过socket共享数据的缺点,公开了一种基于共享内存的进程间实例数据共享方法,不仅可共享数据本身,还可共享数据之上的行为,解决了数据不一致等风险。
5、基于上述情况,本专利技术提出了一种基于共享内存的进程间实例数据共享方法。
...
【技术保护点】
1.一种基于共享内存的进程间实例数据共享方法,其特征在于:多个进程使用相同的key值通过系统调用mmap映射同一块物理内存;ME进程将元数据写入共享内存,将元数据在共享内存中的偏移量通过RPC发给AE进程;AE进程映射共享内存后,读取指定位置的数据,实现数据的共享,进而保证多个进程对数据的访问一致性。
2.根据权利要求1所述的基于共享内存的进程间实例数据共享方法,其特征在于:
3.根据权利要求2所述的基于共享内存的进程间实例数据共享方法,其特征在于:所述步骤S1中,共享内存根据数据的不同生命周期,将申请的数据放入不同的块内;将共享内存的Body区域划分为系统sys...
【技术特征摘要】
1.一种基于共享内存的进程间实例数据共享方法,其特征在于:多个进程使用相同的key值通过系统调用mmap映射同一块物理内存;me进程将元数据写入共享内存,将元数据在共享内存中的偏移量通过rpc发给ae进程;ae进程映射共享内存后,读取指定位置的数据,实现数据的共享,进而保证多个进程对数据的访问一致性。
2.根据权利要求1所述的基于共享内存的进程间实例数据共享方法,其特征在于:
3.根据权利要求2所述的基于共享内存的进程间实例数据共享方法,其特征在于:所述步骤s1中,共享内存根据数据的不同生命周期,将申请的数据放入不同的块内;将共享内存的body区域划分为系统system区域和流数据tsdata区域;系统system区域用于存放全局的共享信息,生命周期长;流数据tsdata区域用于存放ae采集的数据,数据flush持久化后即可释放,生命周期短。
4.根据权利要求2所述的基于共享内存的进程间实例数据共享方法,其特征在于:所述步骤s1中,申请共享内存时,若申请的内存占用小于阈值的请求,则认为是小内存,小内...
【专利技术属性】
技术研发人员:贾德星,刘牧,
申请(专利权)人:上海沄熹科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。