[发明专利]一种数据传输方法、电子装置和存储介质在审
申请号: | 201910369004.X | 申请日: | 2019-05-05 |
公开(公告)号: | CN110083468A | 公开(公告)日: | 2019-08-02 |
发明(设计)人: | 方攀;陈岩 | 申请(专利权)人: | OPPO广东移动通信有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 深圳市恒申知识产权事务所(普通合伙) 44312 | 代理人: | 袁文英 |
地址: | 523860 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 客户端进程 进程 第三方 子缓冲区 服务端 存储介质 电子装置 数据传输 写入 循环接收数据 目标缓冲区 套接字连接 缓冲区 读取操作 读写操作 接收服务 接收数据 收发数据 数据交互 写入操作 并发 独占 存储 场景 交换 应用 | ||
1.一种数据传输方法,其特征在于,包括:
在服务端进程与客户端进程建立套接字连接后,所述服务端进程循环调用发送函数向所述客户端进程发送数据;
所述客户端进程循环调用接收函数接收所述服务端进程发送的所述数据;
所述客户端进程将接收的所述数据写入目标缓冲区中未写满的子缓冲区,其中,所述目标缓冲区包括第一子缓冲区和第二子缓冲区;
在第三方进程需要所述数据时,所述第三方进程从所述目标缓冲区的存储有数据的子缓冲区中读取数据;
若所述第三方进程与所述客户端进程并发对所述目标缓冲区的读写操作,则所述第三方进程和所述客户端进程分别独占所述目标缓冲区中的一个子缓冲区,所述第三方进程和所述客户端进程在对各自独占的子缓冲区操作完成后,分别对对方之前操作的子缓冲区进行独占。
2.根据权利要求1所述的数据传输方法,其特征在于,所述若所述第三方进程与所述客户端进程并发对所述目标缓冲区的读写操作,则所述第三方进程和所述客户端进程分别独占所述目标缓冲区中的一个子缓冲区包括:
若所述第三方进程与所述客户端进程并发对所述目标缓冲区的读写操作,则根据并发读写操作前所述第三方进程与客户端进程对所述目标缓冲区的读写操作情况,确定所述客户端进程在所述目标缓冲区中待锁定的子缓冲区作为第一目标子缓冲区,以及确定所述第三方进程在所述目标缓冲区中待锁定的子缓冲区作为第二目标子缓冲区,其中,所述第一目标子缓冲区为在并发读写操作后所述客户端进程写入数据的子缓冲区,所述第二目标子缓冲区为在并发读写操作后所述第三方进程读取数据的子缓冲区;
所述客户端进程与第三方进程分别申请对所述第一目标子缓冲区和所述第二目标子缓冲区的锁定。
3.根据权利要求2所述的数据传输方法,其特征在于,所述根据并发读写操作前所述第三方进程与客户端进程对所述目标缓冲区的读写操作情况,确定所述客户端进程在所述目标缓冲区中待锁定的子缓冲区作为第一目标子缓冲区,以及确定所述第三方进程在所述目标缓冲区中待锁定的子缓冲区作为第二目标子缓冲区包括:
若并发读写操作前,所述客户端进程正向所述目标缓冲区写入数据,则将所述客户端进程写入数据的子缓冲区作为所述客户端进程待锁定的第一目标子缓冲区,将所述目标缓冲区中的另一个子缓冲区作为所述第三方进程待锁定的第二目标子缓冲区;
若并发读写操作前,所述第三方进程正从所述目标缓冲区读取数据,则将所述第三方进程读取数据的子缓冲区作为所述第三方进程待锁定的第二目标子缓冲区,将所述目标缓冲区中的另一个子缓冲区作为所述客户端进程待锁定的第一目标子缓冲区;
若并发读操作写前,所述第三方进程与客户端进程均未操作所述目标缓冲区,则将所述目标缓冲区中未写满的一个子缓冲区作为所述客户端进程待锁定的第一目标子缓冲区,将所述目标缓冲区中的另一子缓冲区作为所述第三方进程待锁定的第二目标子缓冲区。
4.根据权利要求1所述的数据传输方法,其特征在于,还包括:
在所述客户端进程将接收的所述数据写入目标缓冲区中未写满的子缓冲区时,若所述第三方进程与客户端进程未并发读写操作,所述客户端进程将写入数据的子缓冲区作为第一目标子缓冲区,并申请对所述第一目标子缓冲区的锁定;或者,在所述第三方进程从所述目标缓冲区的存储有数据的子缓冲区中读取数据时,若所述第三方进程与客户端进程未并发读写操作,则所述第三方进程将读取数据的子缓冲区作为第二目标子缓冲区,并申请对所述第二目标子缓冲区的锁定;
所述若所述第三方进程与所述客户端进程并发对所述目标缓冲区的读写操作,则所述第三方进程和所述客户端进程分别独占所述目标缓冲区中的一个子缓冲区包括:
若所述第三方进程与所述客户端进程并发对所述目标缓冲区的读写操作,在所述客户端进程于并发读写操作前已申请了对所述第一目标子缓冲区的锁定的情况下,将所述目标缓冲区中的另一子缓冲区作为第二目标子缓冲区,所述第三方进程申请对所述第二目标子缓冲区的锁定;或者,在所述第三方进程于并发读写操作前已申请了对所述第二目标子缓冲区的锁定的情况下,将所述目标缓冲区中的另一子缓冲区作为第一目标子缓冲区,所述客户端进程申请对所述第一目标子缓冲区的锁定。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于OPPO广东移动通信有限公司,未经OPPO广东移动通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910369004.X/1.html,转载请声明来源钻瓜专利网。