一种跨平台的实时内存通信系统方法技术方案

技术编号:13046572 阅读:61 留言:0更新日期:2016-03-23 14:20
本发明专利技术的一种跨平台的实时内存通信系统方法,本发明专利技术的一种跨平台的实时内存通信系统方法,应用在进程内的数据交互和码流存储中,完全直接利用内存,不但使其在进程内的数据交互使用起来十分类似网络接口,效率非常高,操作非常简单,且不会造成系统性的资源浪费及冲突,系统程序稳定性、有效性及系统资源的利用率均得到大大提高,同时,还研发出了一个十分科学的API接口封装,使视频码流得到了科学的管理方法和科学的使用手段,使其具有代码逻辑,可读性非常强。

【技术实现步骤摘要】

本专利技术涉及应用在进程内的数据交互和码流存储的
,尤其涉及一种跨平台的实时内存通信系统方法
技术介绍
很多的通信方案都直接调用系统平台的通信接口,造成通信效率低下,同时各平台通信的差异性很大,最方便的也就是利用网络接口,但同时会造成系统性的浪费及不确定的冲突。而本专利技术则完全直接利用内存,使在进程内的数据交互使用起来十分类似网络接口,但是效率非常高,操作简单,同时不会造成系统性的资源浪费及冲突等。同时,现在很多公司的码流管理方式非常多,根据调查结果到目前为止,这些管理方式都没有一个科学的管理方法和使用手段,也没有代码逻辑,每次取出视频码流以后必须要用到stb的方式判断确定后才能知道视频码流的种类、大小和来源等信息,其可读性非常差,操作步骤复杂,低效率。本专利技术还针对当前安防行业对视频码流的管理研发出一个十分科学的API接口封装,该接口使得视频码流的使用和管理更为科学,更为方便,也更为简单。
技术实现思路
本专利技术要解决的技术问题是提供一种完全直接利用内存,不但使其在进程内的数据交互使用起来十分类似网络接口,效率非常高,操作非常简单,且不会造成系统性的资源浪费及冲突,同时,还研发出了一个十分科学的API接口封装,使得视频码流的使用和管理更为科学,更为方便,操作更为简单的实时内存通信系统方法。本专利技术是通过以下技术方案来实现的:一种跨平台的实时内存通信系统方法,应用在进程内的数据交互和码流存储中,该使用方法步骤如下:A:跨平台的实时内存通信库,在进程开启之前先对所有的通道进行初始化,需要使用其中的一个线程来创建一个通道,当前期已经创建好通道的,此时便不用再次创建。B:通道创建好之后,在通道处于通信的过程中写入数据和写点位置,其中,写点位置是指写点在一圈的位置;当写点位置写完大小一圈时需要换圈,其总圈数乘以每圈的大小就是写点能够偏移的圈总数的大小,其中,写点是指写点总的偏移大小,总的偏移大小是指一圈以上的写点位置累加起来,当写点写到圈总数大小的时候,写点归零重新开始写数据。C:当需要从此通道中读取数据时,首先要确定读点的位置,在读取成功之后将读点的位置偏移读取数据的大小位置。D:当读取的数据在两圈里面,那么这时候就涉及到换圈,当读取完一圈数据后立即将读取此时的读点位置大小归零,然后继续在下一圈的零点位置开始读取。E:在步骤B、C、D的数据中导入读取的类型,要读取的类型为数据类型的,读取数据时可选择读取数据的类型。F:最后摧毁通道,当通道需要重新启用时必须重新创建另一条通道,之后再进行读写操作。进一步地,重新创建新的一条通道时,读点和写点都必须归零处理。进一步地,在通道里面读取数据和写入数据时,读点位置应要小于写点位置,当写点位置大于读点位置一圈的情况下,读取数据时需要重置读点位置,使读点位置和写点位置处在同一圈上面的同一点上。进一步地,在步骤B的通道中写入数据时,当处于写入数据的最后阶段时,写点的最大值减去圈总数据大小后,必须保留一圈的大小,以保证读取数据能跟上写入数据的速度。进一步地,在C步骤读取数据的时候,通过判断读点、写点的大小来锁定是否能够读取数据,当读点大于写点时,读点则表示读点位置出错,需要重新定位;当读点小于写点一圈时,读点同样需要重新定位,以保证读点和写点能够正确地在一圈的大小上面读出写入的数据;当读点等于写点时,则代表没有新数据,其他情况便是正常读取数据;在正常读取数据时,当读取的数据出现在不同一圈的情况下,其需在读完当前圈之后立即换圈,以便于读取另外一部分数据,最后把读取的数据拷贝出去。进一步地,在C步骤读取数据时需要外部重置读点,然后再次把读点的大小传送进入通道来判断,外部重置读点的方式可让读点和写点在同一个位置上。进一步地,在步骤E中读取数据类型时,在读取码流数据的过程中,当要知道读取码流的帧类型或者要重新定位到下一帧数据时,其需要将读取的帧类型标志位值先在外部填好后再传进去通道里面,传进通道里面以后再进行循环读,直到读取数据成功,当通道里面无数据时,则返回显示无数据的标志类型。进一步地,摧毁通道是指释放通道在创建时候申请的数据大小。进一步地,进程内的线程创建通道、在通道内读取数据、在通道中写入数据或摧毁通道时都是通过线程锁来控制的,目的是防止多个线程同时创建同一个通道,避免同一个通道出现二次创建以及同一个通道出现二次读写的现象,每个时刻只能允许一个线程对该通道进行操作,避免多个线程同时操作从而导致通道里面的数据混乱,通道在摧毁时也只能由一个线程来释放该通道,每个线程操作完成对应的通道以后,才能让另一线程来操作存在有效的对应通道。本专利技术的一种跨平台的实时内存通信系统方法,应用在进程内的数据交互和码流存储中,其有益效果为:在进程内数据交互使用起来非常类似网络接口,使用起来效率非常高效简单,并且不会造成系统性资源的浪费以及冲突,同时,在码流管理中研发出了十分科学的API接口的封装,使码流的使用和管理十分科学,使用方便,操作十分简单,效率高。附图说明为了易于说明,本专利技术由下述的较佳实施例及附图作以详细描述。图1为本专利技术的一种跨平台的实时内存通信系统方法的整体结构图。图2为本专利技术的一种跨平台的实时内存通信系统方法的通道创建和读写点操作示意图。图3为本专利技术的一种跨平台的实时内存通信系统方法的读数据和写入数据的过程示意图。图4为本专利技术的一种跨平台的实时内存通信系统方法的多线程操作通道过程的示意图。图5为本专利技术的一种跨平台的实时内存通信系统方法的圈的结构示意图。具体实施方式为了便于理解本专利技术,下面将参照相关附图对本专利技术进行更全面的描述。附图中给出了本专利技术的较佳实施方式。但是,本专利技术可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本专利技术的公开内容理解的更加透彻全面。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中在本专利技术的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本专利技术。本实施例中,参照图1至图5所示,本专利技术的一种跨平台的实时内存通信系统方法,应用在进程内的数据交互和码流存储中,完全直接利用内存,不但使其在进程内的数据交互使用起来十分类似网络接口,效率非常高,操作非常简单,且不会造成系统性的资源浪费及冲突,同时,还研发出了一个十分科学的API接口封装,使得视频码流的使用和管理更为科学,更为方便,操作更为简单,该使用方法步骤如下:A:跨平台的实时内存通信库,在进程开启之前先对所有的通道进行初始化,需要使用其中的一个线程来创建一个通道,当前期已经创建好通道的,此时便不用再次创建。B:通道创建好之后,在通道处于通信的过程中写入数据和写点位置,其中,写点位置是指写点在一圈的位置;当写点位置写完大小一圈时需要换圈,其总圈数乘以每圈的大小就是写点能够偏移的圈总数的大小,其中,写点是指写点总的偏移大小,本文档来自技高网
...

【技术保护点】
一种跨平台的实时内存通信系统方法,应用在进程内的数据交互和码流存储中,其特征在于:该使用方法步骤如下:        A:跨平台的实时内存通信库,在进程开启之前先对所有的通道进行初始化,需要使用其中的一个线程来创建一个通道,当前期已经创建好通道的,此时便不用再次创建;        B:通道创建好之后,在通道处于通信的过程中写入数据和写点位置,其中,写点位置是指写点在一圈的位置;当写点位置写完大小一圈时需要换圈,其总圈数乘以每圈的大小就是写点能够偏移的圈总数的大小,其中,写点是指写点总的偏移大小,总的偏移大小是指一圈以上的写点位置累加起来,当写点写到圈总数大小的时候,写点归零重新开始写数据;        C:当需要从此通道中读取数据时,首先要确定读点的位置,在读取成功之后将读点的位置偏移读取数据的大小位置;        D:当读取的数据在两圈里面,那么这时候就涉及到换圈,当读取完一圈数据后立即将读取此时的读点位置大小归零,然后继续在下一圈的零点位置开始读取;        E:在步骤B、C、D的数据中导入读取的类型,要读取的类型为数据类型的,读取数据时可选择读取数据的类型;        F:最后摧毁通道,当通道需要重新启用时必须重新创建另一条通道,之后再进行读写操作。...

【技术特征摘要】
1.一种跨平台的实时内存通信系统方法,应用在进程内的数据交互和码流存储中,其特征在于:该使用方法步骤如下:
A:跨平台的实时内存通信库,在进程开启之前先对所有的通道进行初始化,需要使用其中的一个线程来创建一个通道,当前期已经创建好通道的,此时便不用再次创建;
B:通道创建好之后,在通道处于通信的过程中写入数据和写点位置,其中,写点位置是指写点在一圈的位置;当写点位置写完大小一圈时需要换圈,其总圈数乘以每圈的大小就是写点能够偏移的圈总数的大小,其中,写点是指写点总的偏移大小,总的偏移大小是指一圈以上的写点位置累加起来,当写点写到圈总数大小的时候,写点归零重新开始写数据;
C:当需要从此通道中读取数据时,首先要确定读点的位置,在读取成功之后将读点的位置偏移读取数据的大小位置;
D:当读取的数据在两圈里面,那么这时候就涉及到换圈,当读取完一圈数据后立即将读取此时的读点位置大小归零,然后继续在下一圈的零点位置开始读取;
E:在步骤B、C、D的数据中导入读取的类型,要读取的类型为数据类型的,读取数据时可选择读取数据的类型;
F:最后摧毁通道,当通道需要重新启用时必须重新创建另一条通道,之后再进行读写操作。
2.根据权利要求1所述的一种跨平台的实时内存通信系统方法,其特征在于:重新创建新的一条通道时,读点和写点都必须归零处理。
3.根据权利要求1所述的一种跨平台的实时内存通信系统方法,其特征在于:在通道里面读取数据和写入数据时,读点位置应要小于写点位置,当写点位置大于读点位置一圈的情况下,读取数据时需要重置读点位置,使读点位置和写点位置处在同一圈上面的同一点上。
4.根据权利要求1所述的一种跨平台的实时内存通信系统方法,其特征在于:在步骤B的通道中写入数据时,当处于写入数据的最后阶段时,写点的最大值减去圈总数据大小后,必须保留一圈的大小,以保证读取数据能跟上写入数据的速度。
5.根据权利...

【专利技术属性】
技术研发人员:周成勇
申请(专利权)人:东莞福泽尔电子科技有限公司
类型:发明
国别省市:广东;44

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

1