一种基于协议的进程大数据内存共享方法及系统技术方案

技术编号:33556119 阅读:16 留言:0更新日期:2022-05-26 22:53
本发明专利技术提供了一种基于协议的进程大数据内存共享方法,所述方法包括以下步骤:步骤S1、使进程A和进程B通信,在进程A和进程B中开辟两个共享内存区,用在读写指令及数据;步骤S2、进程B接收指令线程操作等待进程A发送指令;步骤S3、进程A发送指令线程操作指令进入操作队列;步骤S4、进程B接收进程A发送指令的操作类型,并对指令的类型进行判断;步骤S5、进程B针对进程A发送的指令执行操作,判断该指令是否为中断指令操作,是,则返回步骤S2,否,则执行指令操作;步骤S6、进程B操作结束后,发送完成指令给操作进程A;本发明专利技术能够实现根据用户需要交互的进程间的大数据进行分指令类型,完成对占用内存空间数据分段分任务进行处理。用内存空间数据分段分任务进行处理。用内存空间数据分段分任务进行处理。

【技术实现步骤摘要】
一种基于协议的进程大数据内存共享方法及系统


[0001]本专利技术涉及计算机
,特别是一种基于协议的进程大数据内存共享方法及系统。

技术介绍

[0002]进程间通讯的方式有很多种,常用的有共享内存、命名管道和匿名管道、发送消息等几种方法来直接完成,另外还可以通过socket口、配置文件和注册表等来间接实现进程间数据通讯任务。以上这几种方法各有优缺点,具体到在进程间进行大数据量数据的快速交换问题上,则可以排除使用配置文件和注册表的方法;另外,由于管道和socket套接字的使用需要有网卡的支持,因此也可以不予考虑。这样,可供选择的通讯方式只剩下共享内存和发送消息两种。在交换数据量较大的情况下实现数据频繁而又快速的交换用发送消息的方法也是不合适的(因为发送消息有同步消息和异步消息两种方法,同步消息就是接收方进程处理完毕接收到的消息才返回结果给发送进程,发送进程可根据进程间返回的通迅结果进行下一步处理,但缺点时容易导致发送进程卡死,消息没返回之前不能进一步处理。异步消息处理则是发送进程发送完消息,不等待结果返回,就进行下一步消息处理,但是无法获取消息的执行结果,无法保证结果的正确性当数据传输过于频繁时将有可能导致数据的丢失。
[0003]比之以上几种进程间通讯方法,共享内存有着明显的优势。共享内存是通过直接操作内存映射文件来进行的,而内存映射文件又是进行单机数据共享的最低层机制,前面几种数据交换方式在低层都是通过内存映射文件来进行的。因此使用共享内存可以以较小的开销获取较高的性能,是进行大数据量数据快速交换的最佳方案。而且如果进程间需要共享的内存数据过大,比如大过2G很容易造成系统的不稳定。通常操作系统对应用程序是有内存大小限制的,比如32位系统内进程最大处理的内存就是4G。64位操作系统则会多一些,通常一个进程大过3G内存也很容易不稳定造成系统崩溃。缺点是共享内存的同题,这个可以通过好的系统流程解决问题。

技术实现思路

[0004]为克服上述问题,本专利技术的目的是提供一种能够根据用户需要交互的进程间的大数据进行分指令类型,并对其中某个指令的的数据特别占用内存空间部分进行数据分段分任务处理的方法。
[0005]本专利技术采用以下方案实现:一种基于协议的进程大数据内存共享方法,所述方法包括以下步骤:
[0006]步骤S1、使进程A和进程B通信,在进程A和进程B中开辟两个共享内存区,用在读写指令及数据;
[0007]步骤S2、进程B接收指令线程操作等待进程A发送指令;
[0008]步骤S3、进程A发送指令线程操作指令进入操作队列;
[0009]步骤S4、进程B接收进程A发送指令的操作类型,并对指令的类型进行判断;
[0010]步骤S5、进程B针对进程A发送的指令执行操作,判断该指令是否为中断指令操作,是,则返回步骤S2,否,则执行指令操作;
[0011]步骤S6、进程B操作结束后,发送完成指令给操作进程A,从而能够实现根据用户需要交互的进程间的大数据进行分指令类型,完成对占用内存空间数据分段分任务进行处理。
[0012]进一步的,所述步骤S1进一步具体为:通过共享内存区实现进程A和进程B的通信,在进程A和进程B中开辟两个共享内存区,在一个共享内存区内进程A只能写数据,进程B只能读数据,另一个共享内存区内进程A只能读数据,进程B只能写数据。
[0013]进一步的,所述步骤S3进一步具体为:操作队列为根据进程A发送的指令线程操作具体指令数量。
[0014]本专利技术还提供了一种基于协议的进程大数据内存共享系统,包括通信模块、接收模块、发送模块、判断模块、执行模块和完成模块,所述通信模块,即使进程A和进程B通信,在进程A和进程B中开辟两个共享内存区,用在读写指令及数据;所述接收模块,即进程B接收指令线程操作等待进程A发送指令;所述发送模块,即进程A发送指令线程操作指令进入操作队列;所述判断模块,即进程B接收进程A发送指令的操作类型,并对指令的类型进行判断;所述执行模块,即进程B针对进程A发送的指令执行操作,判断该指令是否为中断指令操作,是,则返回步骤S2,否,则执行指令操作;所述完成模块,即进程B操作结束后,发送完成指令给操作进程A,从而能够实现根据用户需要交互的进程间的大数据进行分指令类型,完成对占用内存空间数据分段分任务进行处理。
[0015]进一步的,所述通信模块进一步具体为:通过共享内存区实现进程A和进程B的通信,在进程A和进程B中开辟两个共享内存区,在一个共享内存区内进程A只能写数据,进程B只能读数据,另一个共享内存区内进程A只能读数据,进程B只能写数据。
[0016]进一步的,所述发送模块进一步具体为:操作队列为根据进程A发送的指令线程操作具体指令数量。
[0017]本专利技术的有益效果在于:本专利技术能够根据用户需要交互的进程间的大数据进行分指令类型,并对其中某个指令的的数据特别占用内存空间部分进行数据分段分任务处理;由于用了共享内存区域映射技术并加入了共享内存区域映射技术的同步进制,使两个进程能快速准确的共享内容,减少的用户相同的操作,节省了时间,以及发生两次操作产生的错误率问题;保证了一份数据一次修改,两个使用的地方保持了当前的统一的同步信息。
附图说明
[0018]图1是本专利技术的方法流程示意图。
[0019]图2是本专利技术的系统原理框图。
具体实施方式
[0020]下面结合附图对本专利技术做进一步说明。
[0021]请参阅图1所示,本专利技术的一种基于协议的进程大数据内存共享方法,所述方法包括以下步骤:
[0022]步骤S1、使进程A和进程B通信,在进程A和进程B中开辟两个共享内存区,用在读写指令及数据;
[0023]步骤S2、进程B接收指令线程操作等待进程A发送指令;
[0024]步骤S3、进程A发送指令线程操作指令进入操作队列;
[0025]步骤S4、进程B接收进程A发送指令的操作类型,并对指令的类型进行判断;
[0026]步骤S5、进程B针对进程A发送的指令执行操作,判断该指令是否为中断指令操作,是,则返回步骤S2,否,则执行指令操作;
[0027]步骤S6、进程B操作结束后,发送完成指令给操作进程A,从而能够实现根据用户需要交互的进程间的大数据进行分指令类型,完成对占用内存空间数据分段分任务进行处理。
[0028]下面通过一具体实施例对本专利技术作进一步说明:
[0029]本专利技术主要包含以下六个步骤:
[0030]1、进程A,进程B开劈两个共享内存区1,2,分别用在读写指令及数据;
[0031]2、进程B接收指令线程操作等待进程A发送指令;
[0032]3、进程A发送指令线程操作指令进入操作队列;
[0033]如在进程A中选中一个物件,并进行COPY+C则表示要准备复制此物件,并把当前要复制的操作合并成一个指令,进入操作队列,则此时操作队列只有一个文件,如果同时选择多个物件,则操作队列中需要复制的指令本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于协议的进程大数据内存共享方法,其特征在于,所述方法包括以下步骤:步骤S1、使进程A和进程B通信,在进程A和进程B中开辟两个共享内存区,用在读写指令及数据;步骤S2、进程B接收指令线程操作等待进程A发送指令;步骤S3、进程A发送指令线程操作指令进入操作队列;步骤S4、进程B接收进程A发送指令的操作类型,并对指令的类型进行判断;步骤S5、进程B针对进程A发送的指令执行操作,判断该指令是否为中断指令操作,是,则返回步骤S2,否,则执行指令操作;步骤S6、进程B操作结束后,发送完成指令给操作进程A,从而能够实现根据用户需要交互的进程间的大数据进行分指令类型,完成对占用内存空间数据分段分任务进行处理。2.根据权利要求1所述的一种基于协议的进程大数据内存共享方法,其特征在于:所述步骤S1进一步具体为:通过共享内存区实现进程A和进程B的通信,在进程A和进程B中开辟两个共享内存区,在一个共享内存区内进程A只能写数据,进程B只能读数据,另一个共享内存区内进程A只能读数据,进程B只能写数据。3.根据权利要求1所述的一种基于协议的进程大数据内存共享方法,其特征在于:所述步骤S3进一步具体为:操作队列为根据进程A发送的指令线程操作具体指令数量。4.一种基于协议的进程大数据内存共享系统,其特...

【专利技术属性】
技术研发人员:刘德建李佳张延锋郑成龙柳旭辉
申请(专利权)人:福建天晴在线互动科技有限公司
类型:发明
国别省市:

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

1