CN101478472B - 一种Socket数据传输处理方法及装置 - Google Patents

一种Socket数据传输处理方法及装置 Download PDF

Info

Publication number
CN101478472B
CN101478472B CN2008101709908A CN200810170990A CN101478472B CN 101478472 B CN101478472 B CN 101478472B CN 2008101709908 A CN2008101709908 A CN 2008101709908A CN 200810170990 A CN200810170990 A CN 200810170990A CN 101478472 B CN101478472 B CN 101478472B
Authority
CN
China
Prior art keywords
socket
unit
socket data
cache file
memory queue
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
Application number
CN2008101709908A
Other languages
English (en)
Other versions
CN101478472A (zh
Inventor
王伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kongzhong Messenger Information Technology Co., Ltd.
Original Assignee
BEIJING SHANLIAN XUNTONG NUMERICAL TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING SHANLIAN XUNTONG NUMERICAL TECHNOLOGY Co Ltd filed Critical BEIJING SHANLIAN XUNTONG NUMERICAL TECHNOLOGY Co Ltd
Priority to CN2008101709908A priority Critical patent/CN101478472B/zh
Publication of CN101478472A publication Critical patent/CN101478472A/zh
Application granted granted Critical
Publication of CN101478472B publication Critical patent/CN101478472B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种Socket数据传输处理方法及装置,该方法为将Socket数据写入内存队列中;如果内存队列已满,则按Socket数据的优先级写入相应优先级的缓存文件中;再轮询读取缓存文件,实时地将缓存文件中的Socket数据写入到内存队列中;然后内存队列将Socket数据传输给读取Socket数据的接口。根据本发明,实现了多线程并发模式并带优先级的Socket数据传输,并且有效地防止了Socket数据的丢失。

Description

一种Socket数据传输处理方法及装置
技术领域
本发明涉及Socket数据安全保护,尤其涉及一种Socket数据传输处理方法及装置。
背景技术
Socket通常也称作″套接字″,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过″套接字″向网络发出请求或者应答网络请求。
在服务器,使用ServerSocket监听发送Socket数据的指定端口,等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。而在客户端,使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。
但是由于网络的不稳定性,会造成Socket数据传输的丢失,现有技术中是将数据缓存于内存中等待网络通信的恢复,不足之处是缓存于内存的数据不能得到及时处理,就会在释放中丢掉数据;并且目前都是用过程化执行Socket数据传输,Socket数据传输的速度得不到提高;另外,由于没有对缓存数据进行优先级存储,以至于那些需要高优先级的数据不能得到及时的发送。
发明内容
为了解决上述提及的问题,本发明提供一种带有缓存模式和优先级处理,并能够多线程并发处理socket数据的数据传输方法及装置,根据本发明可以实现安全的、高速的Socket数据传输。
本发明的技术方案是,一种Socket数据传输处理方法,包括以下步骤:
将Socket数据写入内存队列中;
如果内存队列已满,则按Socket数据的优先级写入相应优先级的缓存文件中;
再轮询读取缓存文件,实时地将缓存文件中的Socket数据写入到内存队列中;
然后内存队列将Socket数据传输给读取Socket数据的接口。
一种应用在客户端模式的Socket数据传输处理方法,所述客户端模式为发送Socket数据,该方法包括以下步骤:
将要发送的Socket数据写入内存队列中;
如果内存队列已满,就按Socket数据的优先级写入相应优先级的缓存文件中;
然后缓存文件读取线程轮询读取缓存文件,实时地将缓存文件中的Socket数据写入到内存队列中;
队列读取线程轮询读取内存队列,实时地将内存队列中的Socket数据发送给Socket端口。
一种应用在服务端模式的Socket数据传输处理方法,所述服务端模式为接收Socket数据,该方法包括以下步骤:
将Socket端口处接收到的Socket数据写入内存队列中;
如果内存队列已满,就按Socket数据的优先级写入对应优先级的缓存文件中;
然后缓存文件读取线程轮询读取缓存文件,实时地将缓存文件中的Socket数据写入内存队列;
队列读取线程轮询读取内存队列,实时地将内存队列中的Socket数据发送到读取Socket数据的服务端的程序接口。
所述缓存文件读取线程依优先级的高低顺序依次读取缓存文件中的Socket数据,在读取低优先级缓存文件中的Socket数据的过程中,只要取到数据就终止低优先级Socket数据的读取,返回到最高优先级Socket数据的读取。
所述缓存文件以栈的形式存取数据。
本发明还提供一种Socket数据传输处理装置,该装置包括:
内存队列单元,用于顺序存储Socket数据;
缓存文件单元,用于暂时存储Socket数据,并实时将Socket数据转存到内存队列单元;
轮询读取单元,用于依次对内存队列单元或缓存文件单元的Socket数据进行实时读取;以及
Socket端口单元,用于接收来自网络的Socket数据并发送给内存队列单元,或接收来自内存队列单元的Socket数据并发送给网络。
所述轮询读取单元包括:队列读取单元,用于轮询读取内存队列的Socket数据;缓存文件读取单元,用于轮询读取缓存文件单元的Socket数据。
本发明的一种应用在客户端模式的Socket数据传输处理装置,该装置包括:
第一内存队列单元,用于顺序存储要发送的Socket数据;
第一缓存文件单元,用于在第一内存队列单元已满的情况下暂时存储Socket数据,并实时将第一缓存文件单元中的Socket数据写入到第一内存队列单元;
第一队列读取单元,用于轮询读取第一内存队列单元中的Socket数据,并将Socket数据发送给第一Socket端口单元;
第一缓存文件读取单元,用于轮询读取第一缓存文件单元的Socket数据,并将读取出的Socket数据写入第一内存队列单元中;
第一Socket端口单元,用于接收来自第一队列读取单元中的Socket数据,并发送给网络。
本发明的一种应用在服务端模式下的Socket数据传输装置,该装置包括:
第二内存队列单元,用于顺序存储来自第二Socket端口读取单元的Socket数据;
第二缓存文件单元,用于在第二内存队列单元已满的情况下暂时存储Socket数据,并实时将第二缓存文件单元中的Socket数据写入到第二内存队列单元;
第二队列读取单元,用于轮询读取第二内存队列单元的Socket数据,并将Socket数据发送给读取Socket数据的服务端的程序接口;
第二缓存文件读取单元,用于轮询读取第二缓存文件单元的Socket数据,并将读取出的Socket数据写入第二内存队列单元中;
第二Socket端口单元,用于接收来自网络的Socket数据。
第二Socket端口读取单元,用于轮询读取第二Socket端口单元中的Socket数据,并将Socket数据发送给第二内存队列单元或第二缓存文件单元。
本发明在客户端采用客户端模式下的Socket数据传输处理装置,在服务端采用服务端模式下的Socket数据传输处理装置,因此,可以构成一种Socket数据传输处理系统,所述系统包括:
第一内存队列单元,用于顺序存储要发送的Socket数据;
第一缓存文件单元,用于在第一内存队列单元已满的情况下暂时存储Socket数据,并实时将第一缓存文件单元中的Socket数据写入到内存队列单元;
第一缓存文件读取单元,用于轮询读取第一缓存文件单元的Socket数据,并将读取出的Socket数据写入第一内存队列单元中;
第一队列读取单元,用于轮询读取第一内存队列单元中的Socket数据,并将Socket数据发送给第一Socket端口单元;
第一Socket端口单元,用于接收来自第一队列读取单元的Socket数据,并发送给网络;
第二Socket端口单元,用于接收来自网络的Socket数据;
第二Socket端口读取单元,用于轮询读取第二Socket端口单元的Socket数据,并将Socket数据发送给第二内存队列单元或第二缓存文件单元;
第二内存队列单元,用于顺序存储来自第二Socket端口读取单元的Socket数据;
第二缓存文件单元,用于在第二内存队列单元已满的情况下暂时存储Socket数据,并实时将第二缓存文件单元中的Socket数据写入到第二内存队列单元;
第二缓存文件读取单元,用于轮询读取第二缓存文件单元中的Socket数据,并将读取出的Socket数据写入第二内存队列单元中;
第二队列读取单元,用于轮询读取第二内存队列单元中的Socket数据,并将Socket数据发送给读取Socket数据的服务端的程序接口。
本发明由于使用缓存文件来对未处理的Socket数据进一步地存储,相对于使用缓存于内存的方法来存储Socket数据,缓存文件的优点是:只要存储在里面,会一直保存Socket数据,而不会因为网络或主机的原因,使Socket数据得到丢失;另外,该缓存文件带有优先级模式,从而能够及时地处理高优先级的Socket数据,保证网络良好的通信性能;不仅如此,由于使用轮询读取的线程,能够并发处理Socket数据,使网络通信速度得到提高。
通过以下参照附图对优选实施例的说明,本发明的上述以及其它目的、特征和优点将更加明显。
附图说明
图1为本发明的一种用于客户端的Socket数据传输方法的流程示意图;
图2为本发明的一种用于服务端的Socket数据传输方法的流程示意图。
具体实施方式
下面将详细描述本发明的具体实施例。应当注意,这里描述的实施例只用于举例说明,并不用于限制本发明。
本发明的主要构思在于,在Socket传输端口设置有缓存文件,所述缓存文件并设有优先级,根据Socket数据的重要程度来写入相应优先级的缓存文件中。如果在传输Socket数据的过程中,内存队列已经排满,则将Socket数据写入带有优先级的缓存文件中,然后不断地轮询缓存文件,实时地将缓存文件中的数据写入到内存队列中,然后内存队列再将数据发送到状态良好的Socket IO(Socket端口,以下同)处。根据本发明,实现了多线程并发模式并带优先级的Socket数据传输。
其中这里所述的使用缓存文件来存储数据的方式,不同于缓存于内存来存储数据的方式,前者无论什么原因都不会丢失保存的数据,而后者只要一释放内存就会丢掉缓存与内存中的数据,因此使用缓存文件来存储数据能够解决Socket数据的丢失问题。
具体地,所述Socket数据传输方法分为客户端模式和服务端模式,下面将分别描述在这两种模式下Socket数据的传输方法。
客户端模式下,主要是将用户端口写入的Socket数据发送给网络,当客户端使用Socket对网络上某一个服务器的某一个端口发出连接请求,因此需要将客户端的有关Socket数据发送到socket接口处。图1是本发明的客户端的Socket数据传输方法的流程示意图,如图1所示,在客户端的操作是,首先将Socket数据写到内存队列,如果内存队列满就按Socket数据的优先级写入相应优先级的缓存文件中;然后启动缓存文件读取线程轮询读取缓存文件,实时将缓存文件中的Socket数据导入到内存队列中;内存队列中存在有Socket数据后,然后启动内存队列读取线程,实时将内存队列中的Socket数据发送到正常工作的Socket IO(Socket端口)。
更具体地,在客户端模式下,Socket数据包存入内存队列,如果内存队列写满就暂时先写入缓存文件,根据Socket数据包中指定的优先级写入对应级别的缓存文件。然后缓存文件读取线程实时轮询缓存文件,在内存队列空闲的时候把暂存在缓存文件中的Socket数据包读取到内存队列中;缓存文件读取线程先读取优先级最高的缓存文件,如果高优先级的缓存文件中有数据,则取出一个数据包并写入内存队列,写入内存队列时,判断内存队列可写入量,如果内存队列已满,缓存文件读取线程被阻塞,直到内存队列空为止;然后缓存文件读取线程继续轮询,如果最高优先级缓存文件中没有可读取的数据,缓存文件线程依优先级高低顺序依次读取其他缓存文件,在依次读取过程中,只要取到一个数据包就立刻终止低优先级文件的读取,返回到最高优先级缓存文件的读取,这样就保证了高优先级缓存文件始终能得到优先读取;同时队列读取线程实时轮询内存队列,如果内存队列中有数据,取出一个数据包并写入Socket IO发送到服务端,如果内存队列空,队列读取线程被阻塞,直到内存队列中再次有数据。
较佳地,缓存文件分为10个优先级即10个缓存文件,这里,缓存文件根据客户端数据量的大小和重要程度来具体给定缓存文件的优先级数目。
图2是本发明的一种服务端模式下的Socket数据传输处理方法的流程示意图,如图2所示,在服务端模式下,主要是接收来自网络的Socket数据,将启动Socket读取线程,实时将Socket IO处的Socket数据存入内存队列,如果内存队列满,按数据的优先级写入对应优先级的缓存文件,然后启动缓存文件读取线程轮询缓存文件,实时将缓存文件中的数据导入内存队列,存于内存队列中的数据等待外部程序通过组件接口读取。这里用户端或者服务器端通过其用户端或服务器端口的外部程序接口来读取Socket数据。
更具体地,在服务端模式下,Socket端口监听线程实时等待客户端连接,如果得到客户端连接,启动Socket IO读取线程,Socket IO读取线程实时轮询读取socket IO,如果读到socket IO处的数据包,把数据包写入内存队列,写队列时判断内存队列可写量,如果内存队列满,就写入缓存文件,然后Socket IO读取线程继续轮询;写入缓存文件的数据,由缓存文件读取线程轮询缓存文件,实时地导入到内存队列中,缓存文件读取线程依优先级高低顺序依次读取其他缓存文件,如果最高优先级缓存文件中没有可读取的数据,则转入低优先级缓存文件的读取,在依次读取过程中,只要取到一个数据包就立刻终止低优先级文件的读取,返回到最高优先级缓存文件的读取,这样就保证了高优先级缓存文件始终能得到优先读取。
本发明的缓存文件以栈的形式存取数据包,即数据包在文件中是先进后出。
其中缓存文件分为文件头和文件体。文件头是文件中一段固定长度的数据段,用于记录文件体的大小。
当写数据到缓存文件时,先判断缓存文件是否存在,如果不存在则创建文件,将文件指针指到文件起点,读取文件头,如果文件头不存在,初始化文件头,数据体大小设为0,把文件头写入文件。如果文件中存在文件头,取出文件头数据,并将文件指针从当前位置向后移动头中所记录的长度。把数据包写入文件,更新文件头中记录的长度,将文件指针指向文件开头,重新写入文件头。
当从缓存文件中读取数据时,先判断缓存文件是否存在,如果不存在则创建文件,将文件指针指到文件起点,读取文件头,如果文件头不存在,初始化文件头,数据体大小设为0,把文件头写入文件。如果文件中存在文件头,取出文件头数据,判断数据体的大小,如果数据体大小大于等于一个数据包大小,将文件指针从当前位置向后移动到数据体长度减一个数据包长度的位置,读取数据包。更新文件头中记录的长度,将文件指针指向文件开头,重新写入文件头。
本发明还提供一种Socket数据传输处理装置,包括:内存队列单元,用于顺序存储Socket数据,所述Socket数据可以通过轮询读取单元对其进行读取;缓存文件单元,用于暂时存储Socket数据,并实时将Socket转存到内存队列单元;轮询读取单元,用于依次对内存队列单元或缓存文件单元中的Socket数据进行实时读取;Socket IO单元,用于接收或发送Socket数据。
其中所述轮询读取单元包括队列读取单元,用于轮询读取内存队列的Socket数据;缓存文件读取单元,用于轮询读取缓存文件单元的Socket数据。
根据上述内容,本发明的一种Socket数据传输装置,在客户端模式下,所述装置包括:
内存队列单元,用于顺序存储来自用户接口的Socket数据,所述Socket数据可以通过轮询读取单元对其进行读取;
缓存文件单元,用于在内存队列单元已满的情况下暂时存储Socket数据,并实时将Socket转存到内存队列单元;
队列读取单元,用于轮询读取内存队列的Socket数据,并将Socket数据发送给Socket IO单元;
缓存文件读取单元,用于轮询读取缓存文件单元的Socket数据,并将读取出的Socket数据写入内存队列单元中;
Socket IO单元,用于接收来自队列读取单元的Socket数据,并发送给网络。
同时本发明的一种Socket数据传输处理装置,在服务端模式下,所述装置包括:
内存队列单元,用于顺序存储来自Socket端口的Socket数据,所述Socket数据可以通过轮询读取单元对其进行读取;
缓存文件单元,用于在内存队列单元已满的情况下暂时存储Socket数据,并实时将Socket转存到内存队列单元;
队列读取单元,用于轮询读取内存队列的Socket数据,并将Socket数据发送给用户外部程序接口;
缓存文件读取单元,用于轮询读取缓存文件单元的Socket数据,并将读取出的Socket数据写入内存队列单元中;
Socket IO单元,用于接收来自网络的Socket数据。
Socket IO读取单元,用于轮询读取Socket IO单元的Socket数据,并将Socket数据发送给内存队列单元或缓存文件单元。
上述Socket数据传输处理装置分为客户端模式和服务端模式,在一个端口中既可以同时实现这两种模式的Socket数据处理,也可以在不同的两个端口实现客户端模式的发送Socket数据处理,以及服务端模式的接收Socket数据处理。
如果在客户端采用客户端模式下的Socket数据传输处理装置,在服务端采用服务端模式下的Socket数据传输处理装置,因此,可以构成一种Socket数据传输处理系统,所述系统包括:
第一内存队列单元,用于顺序存储要发送的Socket数据;
第一缓存文件单元,用于在内存队列单元已满的情况下暂时存储Socket数据,并实时将缓存文件单元中的Socket数据写入到内存队列单元;
第一缓存文件读取单元,用于轮询读取缓存文件单元的Socket数据,并将读取出的Socket数据写入内存队列单元中;
第一队列读取单元,用于轮询读取内存队列中的Socket数据,并将Socket数据发送给Socket端口单元;
第一Socket端口单元,用于接收来自队列读取单元的Socket数据,并发送给网络;
第二Socket端口单元,用于接收来自网络的Socket数据。
第二Socket端口读取单元,用于轮询读取Socket端口单元的Socket数据,并将Socket数据发送给内存队列单元或缓存文件单元。
第二内存队列单元,用于顺序存储来自Socket端口读取单元的Socket数据;
第二缓存文件单元,用于在内存队列单元已满的情况下暂时存储Socket数据,并实时将缓存文件单元中的Socket数据写入到内存队列单元;
第二缓存文件读取单元,用于轮询读取缓存文件单元中的Socket数据,并将读取出的Socket数据写入内存队列单元中;
第二队列读取单元,用于轮询读取内存队列中的Socket数据,并将Socket数据发送给读取Socket数据的服务端的程序接口。
虽然已参照上述典型实施例描述了本发明,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。

Claims (11)

1.一种Socket数据传输处理方法,其特征在于,所述方法包括以下步骤:
将Socket数据写入内存队列中;
如果内存队列已满,则按Socket数据的优先级写入相应优先级的缓存文件中;
再轮询读取缓存文件,实时地将缓存文件中的Socket数据写入到内存队列中;
然后内存队列将Socket数据传输给读取Socket数据的接口。
2.根据权利要求1所述的方法,其特征在于,所述方法应用在客户端模式下,所述客户端模式为发送Socket数据,所述方法包括以下步骤:
将要发送的Socket数据写入内存队列中;
如果内存队列已满,就按Socket数据的优先级写入相应优先级的缓存文件中;
然后缓存文件读取线程轮询读取缓存文件,实时地将缓存文件中的Socket数据写入到内存队列中;
队列读取线程轮询读取内存队列,实时地将内存队列中的Socket数据发送给Socket端口。
3.根据权利要求1所述的方法,其特征在于,所述方法应用在服务端模式下,所述服务端模式为接收Socket数据,所述方法包括以下步骤:
将Socket端口处接收到的Socket数据写入内存队列中;
如果内存队列已满,就按Socket数据的优先级写入对应优先级的缓存文件中;
然后缓存文件读取线程轮询读取缓存文件,实时地将缓存文件中的Socket数据写入内存队列;
队列读取线程轮询读取内存队列,实时地将内存队列中的Socket数据发送到读取Socket数据的服务端的程序接口。
4.根据权利要求2或3所述的方法,其特征在于,所述缓存文件读取线程依优先级的高低顺序依次读取缓存文件中的Socket数据,在读取低优先级缓存文件中的Socket数据的过程中,只要取到数据就终止低优先级Socket数据的读取,返回到最高优先级Socket数据的读取。
5.根据权利要求1-3任意一项所述的方法,其特征在于,所述Socket数据以栈的形式写入缓存文件中。
6.根据权利要求3所述的方法,其特征在于,采用Socket端口读取线程实时地将Socket端口处接收到的Socket数据写入内存队列中。
7.一种Socket数据传输处理装置,其特征在于,所述装置包括:
内存队列单元,用于顺序存储Socket数据;
缓存文件单元,用于暂时存储Socket数据,并实时将Socket数据转存到内存队列单元;
轮询读取单元,用于依次对内存队列单元或缓存文件单元的Socket数据进行实时读取;以及
Socket端口单元,用于接收来自网络的Socket数据并发送给内存队列单元,或接收来自内存队列单元的Socket数据并发送给网络。
8.根据权利要求7所述的装置,其特征在于,所述轮询读取单元包括:队列读取单元,用于轮询读取内存队列单元的Socket数据;缓存文件读取单元,用于轮询读取缓存文件单元的Socket数据。
9.根据权利要求8所述的装置,其特征在于,所述装置应用在客户端模式下,所述客户端模式为发送Socket数据,所述装置包括:
内存队列单元,用于顺序存储要发送的Socket数据;
缓存文件单元,用于在内存队列单元已满的情况下暂时存储Socket数据,并实时将缓存文件单元中的Socket数据写入到内存队列单元;
队列读取单元,用于轮询读取内存队列单元中的Socket数据,并将Socket数据发送给Socket端口单元;
缓存文件读取单元,用于轮询读取缓存文件单元的Socket数据,并将读取出的Socket数据写入内存队列单元中;
Socket端口单元,用于接收来自队列读取单元中的Socket数据,并发送给网络。
10.根据权利要求8所述的装置,其特征在于,所述装置应用在服务端模式下,所述服务端模式为接收Socket数据,所述装置包括:
内存队列单元,用于顺序存储来自Socket端口读取单元的Socket数据;
缓存文件单元,用于在内存队列单元已满的情况下暂时存储Socket数据,并实时将缓存文件单元中的Socket数据写入到内存队列单元;
队列读取单元,用于轮询读取内存队列单元的Socket数据,并将Socket数据发送给读取Socket数据的服务端的程序接口;
缓存文件读取单元,用于轮询读取缓存文件单元的Socket数据,并将读取出的Socket数据写入内存队列单元中;
Socket端口单元,用于接收来自网络的Socket数据;
Socket端口读取单元,用于轮询读取Socket端口单元中的Socket数据,并将Socket数据发送给内存队列单元或缓存文件单元。
11.一种Socket数据传输处理系统,其特征在于,所述系统包括客户端模式下的Socket数据传输处理装置和服务端模式下的Socket数据传输处理装置,其中所述客户端模式下的Socket数据传输处理装置包括:
第一内存队列单元,用于顺序存储要发送的Socket数据;
第一缓存文件单元,用于在第一内存队列单元已满的情况下暂时存储Socket数据,并实时将第一缓存文件单元中的Socket数据写入到第一内存队列单元;
第一缓存文件读取单元,用于轮询读取第一缓存文件单元的Socket数据,并将读取出的Socket数据写入第一内存队列单元中;
第一队列读取单元,用于轮询读取第一内存队列单元中的Socket数据,并将Socket数据发送给第一Socket端口单元;
第一Socket端口单元,用于接收来自第一队列读取单元的Socket数据,并发送给网络;
其中所述服务端模式下的Socket数据传输处理装置包括:
第二Socket端口单元,用于接收来自网络的Socket数据;
第二Socket端口读取单元,用于轮询读取第二Socket端口单元的Socket数据,并将Socket数据发送给第二内存队列单元或第二缓存文件单元;
第二内存队列单元,用于顺序存储来自第二Socket端口读取单元的Socket数据;
第二缓存文件单元,用于在第二内存队列单元已满的情况下暂时存储Socket数据,并实时将第二缓存文件单元中的Socket数据写入到第二内存队列单元;
第二缓存文件读取单元,用于轮询读取第二缓存文件单元中的Socket数据,并将读取出的Socket数据写入第二内存队列单元中;
第二队列读取单元,用于轮询读取第二内存队列单元中的Socket数据,并将Socket数据发送给读取Socket数据的服务端的程序接口。
CN2008101709908A 2008-10-21 2008-10-21 一种Socket数据传输处理方法及装置 Active CN101478472B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101709908A CN101478472B (zh) 2008-10-21 2008-10-21 一种Socket数据传输处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101709908A CN101478472B (zh) 2008-10-21 2008-10-21 一种Socket数据传输处理方法及装置

Publications (2)

Publication Number Publication Date
CN101478472A CN101478472A (zh) 2009-07-08
CN101478472B true CN101478472B (zh) 2011-09-07

Family

ID=40839107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101709908A Active CN101478472B (zh) 2008-10-21 2008-10-21 一种Socket数据传输处理方法及装置

Country Status (1)

Country Link
CN (1) CN101478472B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101877666B (zh) * 2009-11-13 2013-05-08 曙光信息产业(北京)有限公司 基于零拷贝方式的多应用程序报文接收方法和装置
CN102340489B (zh) * 2010-07-20 2014-10-29 阿里巴巴集团控股有限公司 一种服务器之间的数据传输方法和服务器
CN102129396B (zh) * 2011-03-04 2013-07-10 中国科学院软件研究所 一种实时快速的线程间数据交换方法
CN102262668A (zh) * 2011-07-28 2011-11-30 南京中兴新软件有限责任公司 分布式文件系统文件读写方法、分布式文件系统及其装置
CN102710772B (zh) * 2012-06-04 2015-09-30 何春涛 一种基于云平台的海量数据通讯系统
CN103399856B (zh) * 2013-07-01 2017-09-15 北京科东电力控制系统有限责任公司 面向scada系统的爆发式数据缓存处理系统及其方法
CN104199790B (zh) * 2014-08-21 2017-10-24 北京奇艺世纪科技有限公司 数据处理方法及装置
EP3535956B1 (en) 2016-12-09 2021-02-17 Zhejiang Dahua Technology Co., Ltd Methods and systems for data transmission
CN107506405A (zh) * 2017-08-07 2017-12-22 北京小度信息科技有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN108234595B (zh) * 2017-11-29 2021-05-14 山东鲁能软件技术有限公司 日志传输方法及系统
CN109697034B (zh) * 2018-12-19 2022-04-29 北京字节跳动网络技术有限公司 一种数据写入方法、装置、电子设备及存储介质
CN109660562A (zh) * 2019-01-30 2019-04-19 苏州德锐特成像技术有限公司 一种用于大数据同步的系统及客户端
CN111427854B (zh) * 2020-03-23 2024-01-30 深圳震有科技股份有限公司 支持存储批量数据的栈结构实现方法及装置、设备、介质
CN111831625B (zh) * 2020-07-14 2024-03-12 深圳力维智联技术有限公司 数据迁移方法、数据迁移装置和可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1700177A (zh) * 2005-06-24 2005-11-23 中国人民解放军国防科学技术大学 构建基于软流水结构的Web服务器的方法及其服务器
CN1868193A (zh) * 2003-09-05 2006-11-22 高通股份有限公司 通信缓冲管理器和通信缓冲管理方法
CN101236530A (zh) * 2008-01-30 2008-08-06 清华大学 高速缓存替换策略的动态选择方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1868193A (zh) * 2003-09-05 2006-11-22 高通股份有限公司 通信缓冲管理器和通信缓冲管理方法
CN1700177A (zh) * 2005-06-24 2005-11-23 中国人民解放军国防科学技术大学 构建基于软流水结构的Web服务器的方法及其服务器
CN101236530A (zh) * 2008-01-30 2008-08-06 清华大学 高速缓存替换策略的动态选择方法

Also Published As

Publication number Publication date
CN101478472A (zh) 2009-07-08

Similar Documents

Publication Publication Date Title
CN101478472B (zh) 一种Socket数据传输处理方法及装置
TWI400617B (zh) 無線傳輸之排程及資料快取
CN102761517B (zh) 一种高速网络的内容还原方法
CN102065569B (zh) 一种适用于wlan的以太网mac子层控制器
CN103827842B (zh) 向控制器存储器空间写入消息
CN101917350A (zh) 一种Linux下基于网卡驱动的零拷贝以太网报文捕获及发送的实现方法
CN104735077B (zh) 一种使用环形缓存和环形队列实现udp高效并发的方法
CN105095109B (zh) 缓存访问方法、缓存访问路由器和计算机系统
CN102195874A (zh) 数据分组的预提取
CN103605485B (zh) 一种变长数据的存储方法与装置
CN112559436B (zh) 一种rdma通信设备的上下文访问方法及系统
CN103064761B (zh) 一种数据同步方法、设备和系统
EP2430803B1 (en) Network communication apparatus, method and program
CN107888687A (zh) 一种基于分布式存储系统的代理客户端存储加速方法及系统
CN102916902A (zh) 数据存储方法及装置
EP2206294B1 (en) A memory buffer system and a method for operating a memory buffer system for fast data exchange
CN105933325A (zh) 一种基于NFSoRDMA的内核态RPC通信加速方法
CN108874555A (zh) 一种写消息至消息中间件的方法及装置
JP3439320B2 (ja) データ通信方法、データ通信装置、およびデータ通信プログラム記録媒体
CN113572582B (zh) 数据发送、重传控制方法及系统、存储介质及电子设备
CN102750245A (zh) 报文接收方法、报文接收模块、装置及系统
CN203574673U (zh) 一种消息处理系统
CN110989930B (zh) 一种池空间数据处理方法、装置、设备及存储介质
CN101021896A (zh) 一种实现多任务访问智能卡的方法
CN103179162A (zh) 一种输出日志的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIJING CHUANGYI HEXIAN TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: BEIJING SHANLIAN XUNTONG NUMERICAL TECHNOLOGY CO., LTD.

Effective date: 20120605

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100176 DAXING, BEIJING TO: 100007 DONGCHENG, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20120605

Address after: Office building 100007 Beijing city Dongcheng District Dongzhimen South Street No. 1 Raffles Center 9

Patentee after: Beijing Chuangyi Chord Science and Trade Co., Ltd.

Address before: 447, room 100176, block B, 18 West South Road, Beijing economic and Technological Development Zone, Beijing, China

Patentee before: Beijing Shanlian Xuntong Numerical Technology Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20181012

Address after: 100044 33 floor, Tengda building, 168 west Wai Street, Haidian District, Beijing.

Patentee after: Beijing Kongzhong Messenger Information Technology Co., Ltd.

Address before: 100007 9 floor, office building, Raffles center, 1 East Street, Dongcheng District, Beijing.

Patentee before: Beijing Chuangyi Chord Science and Trade Co., Ltd.