CN114363428B - 基于socket的数据传递方法 - Google Patents
基于socket的数据传递方法 Download PDFInfo
- Publication number
- CN114363428B CN114363428B CN202210012267.7A CN202210012267A CN114363428B CN 114363428 B CN114363428 B CN 114363428B CN 202210012267 A CN202210012267 A CN 202210012267A CN 114363428 B CN114363428 B CN 114363428B
- Authority
- CN
- China
- Prior art keywords
- data
- connection
- offset
- memory space
- direct memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种基于socket的数据传递方法,包括以下步骤:在源数据端和目标数据端之间建立通信连接;在源数据端设置向目标数据端请求数据的数据长度信息;根据数据的数据长度信息确定在传输过程中的直接内存空间;根据动态设置直接内存空间的偏移量进行数据的转发;根据偏移量对数据的转发进行监听。通过上述的数据传递方法,能够有效减少数据的拷贝次数,更加高效的使用内存空间,降低数据传递过程的延时。
Description
技术领域
本发明涉及通用软件应用中的数据传递领域,具体涉及一种基于socket的数据传递方法。
背景技术
实时数据转发是一种在应用中常用的场景,包括但不限于数据监控平台和物联网数据管理平台。在应用平台中,数据转发都有一个通用流程:由客户端采集数据,然后将数据发送到对应的数据处理服务器,然后再将处理后的数据发送到显示网页中。实时数据转发功能在应用中往往是一种持续的状态,高频率的实时数据转发涉及到大量数据的传递,在此过程中如果没有一个高性能的数据转发方法,将对服务器带来巨大的数据性能考验。
数据性能由两部分组成,一部分是在实时传递的过程中对实时性的性能考验,另一部分是在数据传递的过程中对空间资源的消耗考验。在实时数据的情况下,整个数据转发所消耗的时延越小,就表明实时通信的效率越高。在数据转发的情况下,当在处理过程中更频繁地复制数据时,复制的数据量增加,从而占用的内存空间增加;此外,当分配给应用程序的空间超过要转发的数据长度所需的空间时,会不必要地消耗空间,两种情景都代表数据传递过程中产生了资源浪费。
发明内容
为解决现有技术中的上述和其他方面的至少部分技术问题,根据本发明一个方面的实施例,提供一种基于socket的数据传递方法,包括以下步骤:
在源数据端和目标数据端之间建立通信连接;
在所述源数据端设置向所述目标数据端请求的数据的数据长度信息;
根据所述数据的数据长度信息确定所述数据在传输过程中需要的直接内存空间;
根据动态设置所述直接内存空间的偏移量进行所述数据的转发;
根据所述偏移量对所述数据的转发进行监听。
在本发明的一些实施例中,在所述目标数据端设置所述源数据端的所述数据的关键字标识。
在本发明的一些实施例中,所述数据的数据长度信息设置在所述源数据端的头部存储数据长度特征字段,所述关键字标识信息设置在所述源数据端的头部存储数据特定识别字段。
在本发明的一些实施例中,建立所述连接的过程包括:
识别所述头部存储数据特定识别字段,用于区分所述源数据端和所述目标数据端;
识别所述头部存储数据长度特征字段;
通过所述头部存储数据特定识别字段和所述头部存储数据长度特征字段生成绑定信息;
通过所述绑定信息,区分新连接和已连接。
在本发明的一些实施例中,在所述源数据端的所述连接建立成功时申请所述直接内存空间,用于所述数据的传递;在所述直接内存空间初始化头部数据。
在本发明的一些实施例中,建立所述连接后对所述连接进行注册和管理,包括:
开启连接选择器,对所述连接选择器进行初始化;
将所述连接注册在所述连接选择器中,持续监听所述连接。
在本发明的一些实施例中,所述目标数据端通过监听所述偏移量,在没有所述连接接入时,处于阻塞状态;在有所述连接接入时,立刻获取所述连接,并返回所述连接。
在本发明的一些实施例中,所述数据从所述源数据端写入到所述直接内存空间,再从所述直接内存空间写入到所述目标数据端,之后,所述直接内存空间恢复初始化状态。
在本发明的一些实施例中,所述偏移量的动态设置包括:
在所述数据从所述源数据端写入到所述直接内存空间时,所述偏移量设置在所述头部存储数据后;
在所述数据读取的情况下,所述偏移量设置在所述直接内存空间开始;
在所述数据读取完毕的情况下,所述偏移量设置在所述头部存储数据后。
在本发明的一些实施例中,监听所述偏移量位置,用于判断数据是否发送异常,当所述偏移量不在预期位置时则对剩余数据进行重新发送。
通过上述的数据传递方法,根据数据的大小直接确定直接内存空间,无需固定的分配内存空间的大小,能够解决现有技术中在传递过程中对空间资源的消耗考验,能够有效减少数据的拷贝次数,更加高效的使用内存空间,降低数据传递过程的延时。通过对直接内存偏移量的监听,能够更好的掌握数据传递的过程,对数据传递进行更好的管理。能够解决现有技术中数据传递过程中实时性的性能考验,在监听到直接内存偏移量的异常时,能够快速的从数据错发位置继续传递数据,而无需重新传递所有数据。
附图说明
图1示意性示出了根据本发明实施例的数据传递方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
但是应该理解,这些描述只是示例性的,而并非要限制本发明的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本发明实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知技术的描述,以避免不必要地混淆本发明的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本发明。在此使用的术语“包括”表明了特征、步骤、操作的存在,但是并不排除存在或添加一个或多个其他特征。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
本发明的实施例提供了一种基于socket的数据传递方法,图1示意性示出了根据本发明实施例的数据传递方法的流程示意图。
如图1所示,该方法包括操作S101~操作S105。
在操作S101,在源数据端和目标数据端之间建立通信连接。
在本发明的一些实施例中,连接的建立例如可以是通过在源数据端与目标数据端建立一个channel(通道),然后通过channel进行通信,channel包括两类:FileChannel(文件通道)和SocketChannel(套接字通道),其中SocketChannel有三种,分别是SocketChannel、ServerSocketChannel和DatagramChannel,channel的建立可以使源数据端和目标数据端有效的传输数据。
在操作S102,在源数据端设置向目标数据端请求的数据的数据长度信息。
在本发明的一些实施例中,在channel创建的过程中源数据端会申请DirectByteBuffer(直接内存空间),在DirectByteBuffer中会初始化源数据端的header(头部数据空间),header包含有设置在目标数据端的数据长度信息,数据长度信息决定DirectByteBuffer的大小。
在操作S103,根据数据的数据长度信息确定数据在传输过程中所需的直接内存空间。
在本发明的一些实施例中,通过源数据端的header内部的数据长度信息来直接划分目标数据端的所需直接内存空间大小,直接内存空间偏移量的大小决定了源数据端数据的大小和直接内存空间的大小,这样可以直接把源数据端的数据传递到DirectByteBuffer中,从而避免数据的多次转运与拷贝。
在操作S104,根据动态设置直接内存空间的偏移量进行数据的转发。
在本发明的一些实施例中,在数据写入到直接内存空间时,偏移量设置在header之后,随着数据写入,偏移量不断的往后偏移直到数据写入完毕,在数据读取时,偏移量设置在直接内存空间的开始位置,读取完毕后,偏移量返回到header之后。
在操作S105,根据偏移量对数据的转发进行监听。
在本发明的一些实施例中,通过偏移量的位置能够快速查找到当前数据写入和数据读取的位置,能够了解此时数据的传递状态。
在本发明的一些实施例中,在建立连接的过程中在初始化源数据端的数据的数据长度信息时,会创建数据的数据类型信息,使数据进入待接收状态。
在本发明的另一些实施例中,提供一种基于SpringBoot内置的tomcat-embed-websocket的数据传递方法,使用java.net.SocketInputStream通道作为数据接收通道,当源数据端开启通道,接收到源数据端传来的数据时,首先将数据拷贝到byte buff[]内存区,之后对数据进行转换操作得到String(字符串)类型的数据,然后再将数据拷贝到String中。
在本发明的另一些实施例中,,对String中的数据进行转发,数据在发送过程中先要在WsRemoteEndpointImplBase类中做数次拷贝,先是把数据转化为StringCharBufferpart类型的数据,之后对数据进行内存管理,将数据编码存入编码内存区encoderBuffer,其中编码内存区encoderBuffer的大小为8KB,将编码内存区中的数据转化为MessagePart对象,List<MessagePart>messageParts集合中。
在本发明的另一些实施例中,之后将数据在PerMessageDeflate类中进行数据压缩,首先从数据中获取MessagePart对象,然后将MessagePart对象拷贝到ByteBufferuncompressedPayload内存区,ByteBuffer uncompressedPayload内存区大小也为8KB。通过使用java.util.zip.Deflater类把ByteBuffer uncompressedPayload内存区的数据拷贝到Deflater.buf内存区中进行压缩,压缩完成后再将数据拷贝到compressedPayload内存区中。在PerMessageDeflate类中将compressedPayload内存区的数据拷贝到新创建的new MessagePart对象中,并创建数据列表进行返回。
在本发明的另一些实施例中,最后是数据发送阶段,在WsRemoteEndpointImplBase类中接收从PerMessageDeflate类中的数据列表ListmessageParts,使用MessagePart mp类根据数据列表信息生成headerBuffer头文件数据,然后将数据列表和头文件数据通过SocketWrapperBase套接字包装类转化成OperationState<A>state可操作数据。将可操作数据拷贝到ByteBuffer buf内存区,通过ByteBuffer buf内存区将数据发送到IOUtil类,在通过IOUtil类发送到目标数据端。
在本发明的一些实施例中,基于socket的数据传递方法相比于基于SpringBoot内置的tomcat-embed-websocket的数据传递方法,数据拷贝转发的次数更少,使用的内存区更少,数据传递的效率更高,可以显著的减少数据的拷贝时间,避免对原始数据的压缩及封装造成的时延和空间的浪费。
在本发明的一些实施例中,在源数据端设置目标数据端的数据的关键字标识,数据的关键字标识包括数据的数据类型信息,数据类型信息表明了数据的种类,针对不同种类的数据开辟不同种类的内存空间。
在本发明的一些实施例中,数据的数据长度信息设置在源数据端的头部存储数据长度特征字段,关键字标识信息设置在源数据端的头部存储数据特定识别字段。数据的数据长度信息和数据的关键字标识信息一起构成数据的头文件,通过对数据的头文件进行识别,能够更好的管理数据。
在本发明的一些实施例中,建立连接的过程包括:识别头部存储数据特定识别字段,用于区分源数据端和目标数据端,通过区分源数据端和目标数据端来确定数据传递的方向,防止数据传递过程中发生错误;识别头部存储数据长度特征字段,通过识别到的长度信息创建相匹配的直接内存空间,避免内存空间的浪费;通过头部存储数据特定识别字段和头部存储数据长度特征字段生成绑定信息,处理生成的绑定信息相对于处理单独的头部存储数据特定识别字段和头部存储数据长度特征字段,能够节省更多的空间,处理效率更高;通过绑定信息,区分新连接和已连接,当确认时新链接时,数据的传递从头部存储数据后开始,当确认时已连接时,数据的传递从偏移量的位置开始,通过绑定信息能够得知数据的传输位置。在数据转发过程中数据使用的通信协议都有固定的头文件header,通过复用头部数据空间,本发明的实施例能够对每次的数据发送中重复的头文件header进行复用,直接根据头文件header内存的位置来进行数据的接收写入,然后进行数据转发,能够减少多余空间的浪费。
在本发明的一些实施例中,在源数据端的连接建立成功时申请直接内存空间,用于数据的传递;在直接内存空间初始化头部数据,初始化的头部数据存储在直接内存空间中的初始化头部数据空间,以便于对数据传递的管理。根据数据大小申请数据空间,在数据的转发过程,根据需要转发的数据进行直接内存的空间申请。本发明的实施例能够按照提前确定的数据大小,来对需要转发的数据,进行适用空间的申请,能够减少资源的不必要浪费。
在本发明的一些实施例中,建立连接后对连接进行注册和管理,包括:开启连接选择器,对连接选择器进行初始化,连接选择器是根据数据需求所创建的自定义Channel管理方法JPSSelector,也可以替换成java.nio.Selector包中的Selector类,JPSSelector是一个SelectableChannel对象的多路复用器,使用JPSSelector进行serverSocketChannel的管理;将连接注册在连接选择器中,持续监听连接,通过偏移量的位置来确定连接的有效性,当连接失效时,偏移量的位置不再改变。
在本发明的一些实施例中,目标数据端通过监听偏移量,在没有连接接入时,处于阻塞状态,在阻塞状态中,线程放弃cpu使用权,暂时停止运行,直到线程进入就绪状态,才会转到运行状态;在有连接接入时,立刻获取连接,并返回连接,获取连接后,偏移量开始变化,通过偏移量监听数据传输状态。
在本发明的一些实施例中,在数据传输流程中,数据从源数据端到达JPS的监听端口,将数据读取到直接内存中,然后再将数据读取到目标数据端,目标数据端获取数据后会重置偏移量,偏移量会从数据最后重新移回头部存储数据后,一次偏移量的重置表示一次数据传输的完成,通过查看偏移量的变化能得知数据传输的进程,数据的传递使用多线程模式传递,多线程运用能提高数据传输的速度,数据还会进行序列化转化,为数据进行排序,以便于对数据进行更好的管理。
在本发明的一些实施例中,数据从源数据端写入到直接内存空间,再从直接内存空间写入到目标数据端,之后,直接内存空间恢复初始化状态,在每次数据的传输过程中只会通过一次直接内存空间的转运,这样能够提高数据传输的效率。在数据转发过程中现有技术对数据进行了多次的自定义封装。本发明的实施例能够在整个数据转发过程中做到对数据的零封装,直接保存数据的原始格式,这样能够显著降低数据封装拷贝过程中的传递时延并提升空间资源的利用率。
在本发明的一些实施例中,偏移量的动态设置包括:在数据从源数据端写入到直接内存空间时,偏移量设置在头部存储数据后;在数据读取的情况下,偏移量设置在直接内存空间开始;在数据读取完毕的情况下,偏移量设置在头部存储数据后。在本发明的一些实施例中,偏移量的一次重置代表一次数据传递的完成。本发明的实施例不对数据进行反复拷贝,在数据转发的方法中,数据的拷贝将会需要资源,如果是高频率的数据转发过程,数据拷贝将使用大量的空间资源,并且还会产生拷贝的时延。相比现有技术创建多个内存空间拷贝数据,通过创建直接内存空间来转运全部数据,将会带来显著降低资源的使用并使传递延时降低。
在本发明的一些实施例中,监听偏移量位置,用于判断数据是否发送异常,当偏移量不在预期位置时则对剩余数据进行重新发送。相比于直接监听数据发送的状态,监听偏移量能够更精确地掌握数据发送过程中传递数据的具体大小。
至此,已经结合附图对本发明实施例进行了详细描述。需要说明的是,在附图或说明书正文中,未绘示或描述的实现方式,均为所属技术领域中普通技术人员所知的形式,并未进行详细说明。此外,上述对各零部件的定义并不仅限于实施例中提到的各种具体结构、形状或方式,本领域普通技术人员可对其进行简单地更改或替换。
还需要说明的是,在本发明的具体实施例中,除非有所知名为相反之意,本说明书及所附权利要求中的数值参数是近似值,能够根据通过本发明的内容所得的所需特性改变。具体而言,所有使用于说明书及权利要求中表示组成的尺寸、范围条件等等的数字,应理解为在所有情况中是受到“约”的用语所修饰。一般情况下,其表达的含义是指包含由特定数量在一些实施例中±10%的变化、在一些实施例中±5%的变化、在一些实施例中±1%的变化、在一些实施例中±0.5%的变化。
本领域技术人员可以理解,本发明的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本发明中。特别地,在不脱离本发明精神和教导的情况下,本发明的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本发明的范围。
以上的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于socket的数据传递方法,包括以下步骤:
在源数据端和目标数据端之间建立通信连接;
在所述源数据端设置向所述目标数据端请求的数据的数据长度信息;
根据所述数据的数据长度信息确定所述数据在传输过程中所需的直接内存空间;
其中,所述数据从所述源数据端直接写入所述直接内存空间;
根据动态设置所述直接内存空间的偏移量进行所述数据的转发;
其中,随着所述数据的写入和读取,所述偏移量不断的往后偏移直至所述数据写入完毕和读取完毕;
根据所述偏移量对所述数据的转发进行监听;
其中,通过监听所述偏移量的位置确定数据写入和数据读取的位置;
其中,在所述源数据端设置所述目标数据端的所述数据的关键字标识信息;所述数据的数据长度信息设置在所述源数据端的头部存储数据长度特征字段,所述关键字标识信息设置在所述源数据端的头部存储数据特定识别字段;
其中,建立所述连接的过程包括:识别所述头部存储数据特定识别字段,用于区分所述源数据端和所述目标数据端;识别所述头部存储数据长度特征字段;通过所述头部存储数据特定识别字段和所述头部存储数据长度特征字段生成绑定信息;通过所述绑定信息,区分新连接和已连接。
2.根据权利要求1所述的基于socket的数据传递方法,其中,在所述源数据端的所述连接建立成功时申请所述直接内存空间,用于所述数据的传递;在所述直接内存空间初始化头部数据。
3.根据权利要求1所述的基于socket的数据传递方法,其中,建立所述连接后对所述连接进行注册和管理,包括:
开启连接选择器,对所述连接选择器进行初始化;
将所述连接注册在所述连接选择器中,持续监听所述连接。
4.根据权利要求3所述的基于socket的数据传递方法,其中,所述目标数据端通过监听所述偏移量,在没有所述连接接入时,处于阻塞状态;在有所述连接接入时,立刻获取所述连接,并返回所述连接。
5.根据权利要求1所述的基于socket的数据传递方法,其中,所述数据从所述源数据端写入到所述直接内存空间,再从所述直接内存空间写入到所述目标数据端,之后,所述直接内存空间恢复初始化状态。
6.根据权利要求5所述的基于socket的数据传递方法,其中,所述偏移量的动态设置包括:
在所述数据从所述源数据端写入到所述直接内存空间时,所述偏移量设置在所述头部存储数据后;
在所述数据读取的情况下,所述偏移量设置在所述直接内存空间开始;
在所述数据读取完毕的情况下,所述偏移量设置在所述头部存储数据后。
7.根据权利要求6所述的基于socket的数据传递方法,其中,监听所述偏移量位置,用于判断数据是否发送异常,当所述偏移量不在预期位置时则对剩余数据进行重新发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210012267.7A CN114363428B (zh) | 2022-01-06 | 2022-01-06 | 基于socket的数据传递方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210012267.7A CN114363428B (zh) | 2022-01-06 | 2022-01-06 | 基于socket的数据传递方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114363428A CN114363428A (zh) | 2022-04-15 |
CN114363428B true CN114363428B (zh) | 2023-10-17 |
Family
ID=81106951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210012267.7A Active CN114363428B (zh) | 2022-01-06 | 2022-01-06 | 基于socket的数据传递方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114363428B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009030130A1 (fr) * | 2007-09-07 | 2009-03-12 | Shenzhen Coship Electronics Co., Ltd. | Procédé et système de transmission de données |
CN101826273A (zh) * | 2009-11-11 | 2010-09-08 | 深圳市和怡科技有限公司 | 基于网络连接的多数控***教学设备及通讯方法 |
WO2012115058A1 (ja) * | 2011-02-21 | 2012-08-30 | 日本電気株式会社 | 通信システム、データベース、制御装置、通信方法およびプログラム |
WO2017028399A1 (zh) * | 2015-08-18 | 2017-02-23 | 北京百度网讯科技有限公司 | 通信数据传输方法及*** |
WO2017113960A1 (zh) * | 2015-12-28 | 2017-07-06 | 华为技术有限公司 | 一种数据处理方法以及NVMe存储器 |
WO2017166997A1 (zh) * | 2016-03-30 | 2017-10-05 | 中兴通讯股份有限公司 | 智能网卡侧的异常处理方法和装置 |
CN112948318A (zh) * | 2021-03-09 | 2021-06-11 | 西安奥卡云数据科技有限公司 | 一种Linux操作***下基于RDMA的数据传输方法及装置 |
CN113138945A (zh) * | 2021-04-16 | 2021-07-20 | 宜通世纪科技股份有限公司 | 一种数据缓存方法、装置、设备及介质 |
CN113485823A (zh) * | 2020-11-23 | 2021-10-08 | 中兴通讯股份有限公司 | 数据传输方法、装置、网络设备、存储介质 |
WO2021254330A1 (zh) * | 2020-06-19 | 2021-12-23 | 中兴通讯股份有限公司 | 内存管理方法、***、客户端、服务器及存储介质 |
-
2022
- 2022-01-06 CN CN202210012267.7A patent/CN114363428B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009030130A1 (fr) * | 2007-09-07 | 2009-03-12 | Shenzhen Coship Electronics Co., Ltd. | Procédé et système de transmission de données |
CN101826273A (zh) * | 2009-11-11 | 2010-09-08 | 深圳市和怡科技有限公司 | 基于网络连接的多数控***教学设备及通讯方法 |
WO2012115058A1 (ja) * | 2011-02-21 | 2012-08-30 | 日本電気株式会社 | 通信システム、データベース、制御装置、通信方法およびプログラム |
WO2017028399A1 (zh) * | 2015-08-18 | 2017-02-23 | 北京百度网讯科技有限公司 | 通信数据传输方法及*** |
WO2017113960A1 (zh) * | 2015-12-28 | 2017-07-06 | 华为技术有限公司 | 一种数据处理方法以及NVMe存储器 |
WO2017166997A1 (zh) * | 2016-03-30 | 2017-10-05 | 中兴通讯股份有限公司 | 智能网卡侧的异常处理方法和装置 |
WO2021254330A1 (zh) * | 2020-06-19 | 2021-12-23 | 中兴通讯股份有限公司 | 内存管理方法、***、客户端、服务器及存储介质 |
CN113485823A (zh) * | 2020-11-23 | 2021-10-08 | 中兴通讯股份有限公司 | 数据传输方法、装置、网络设备、存储介质 |
CN112948318A (zh) * | 2021-03-09 | 2021-06-11 | 西安奥卡云数据科技有限公司 | 一种Linux操作***下基于RDMA的数据传输方法及装置 |
CN113138945A (zh) * | 2021-04-16 | 2021-07-20 | 宜通世纪科技股份有限公司 | 一种数据缓存方法、装置、设备及介质 |
Non-Patent Citations (3)
Title |
---|
Liu Tianhua ; Zhu Hongfeng ; Chang Guira ; Zhou Chuansheng.Research and Implementation of Zero-Copy Technology in Linux.《2006 IEEE Sarnoff Symposium》.2008,全文. * |
基于RTL8169网卡的零拷贝技术研究与实现;刘靖龙,刘颖,张思东;《计算机技术与发展》;第21卷(第8期);全文 * |
基于内存映射文件的复杂对象快速读取方法;黄向平;彭明田;杨永凯;;《计算机技术与发展》;30(3);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114363428A (zh) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5364773B2 (ja) | クライアントとサーバ間の接続を管理するためのシステムおよび方法 | |
CN109067733B (zh) | 发送数据的方法和装置,以及接收数据的方法和装置 | |
US7200641B1 (en) | Method and system for encoding SCSI requests for transmission using TCP/IP | |
CN111352889B (zh) | 一种基于mctp协议的设备管理方法、设备、装置和介质 | |
TWI239732B (en) | A method, computer readable medium and system for providing QoS for an iSCSI environment | |
WO2014135038A1 (zh) | 基于pcie总线的报文传输方法与装置 | |
CN114201421B (zh) | 一种数据流处理方法、存储控制节点及可读存储介质 | |
CN111314480B (zh) | 负载自适应跨平台文件传输协议分布式服务实现方法 | |
CN101197773B (zh) | 基于多链路的报文压缩发送和接收解压缩方法及*** | |
CN104317716B (zh) | 分布式节点间的数据传输方法及分布式节点设备 | |
CN114363428B (zh) | 基于socket的数据传递方法 | |
CN113238856B (zh) | 一种基于rdma的内存管理方法及装置 | |
CN105450679A (zh) | 进行数据云存储的方法及*** | |
CN108632321A (zh) | 基于大数据平台下资源调度的处理方法和装置 | |
CN106102101A (zh) | 一种无线接入点与无线接入控制器连接的处理方法及*** | |
CN102480516A (zh) | 网际网络小型电脑界面的数据单元的解析方法 | |
CN102118256B (zh) | 一种snmp数据获取方法及设备侧装置 | |
CN102891732A (zh) | 数据发送方法和装置以及数据接收方法和装置 | |
CN111200594B (zh) | 接收数据的方法、装置、数据接收设备和存储介质 | |
CN116360675B (zh) | 一种宽端口场景中的sas帧路由方法和装置 | |
CN115878351B (zh) | 消息的传输方法及装置、存储介质及电子装置 | |
CN113098780B (zh) | 虚拟网络的报文处理方法、电子设备及存储介质 | |
CN118051453B (zh) | 一种跨die中断的处理方法 | |
US20050265391A1 (en) | Apparatus, system, and method for concurrent high-performance transport of variable-length messages | |
CN114338826A (zh) | 数据传输方法、装置、***及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |