WO2017206601A1 - 客户端数据处理方法及装置 - Google Patents

客户端数据处理方法及装置 Download PDF

Info

Publication number
WO2017206601A1
WO2017206601A1 PCT/CN2017/080837 CN2017080837W WO2017206601A1 WO 2017206601 A1 WO2017206601 A1 WO 2017206601A1 CN 2017080837 W CN2017080837 W CN 2017080837W WO 2017206601 A1 WO2017206601 A1 WO 2017206601A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
client
processing
pipeline
layer
Prior art date
Application number
PCT/CN2017/080837
Other languages
English (en)
French (fr)
Inventor
许永昌
盛阁
Original Assignee
深圳市鼎盛智能科技有限公司
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 深圳市鼎盛智能科技有限公司 filed Critical 深圳市鼎盛智能科技有限公司
Publication of WO2017206601A1 publication Critical patent/WO2017206601A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种客户端数据处理方法,所述客户端数据处理方法包括以下步骤:所述IO层在接收到各个客户端发送的数据时,将接收到的数据存储于预设的缓冲区中;所述分发层从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的类别将提取到的所述数据压入对应的管道中;所述处理层对各个管道中的数据进行相应的处理。本发明还公开了一种客户端数据处理装置。本发明解决了服务器在处理客户端的请求时,由于读取请求及处理请求在同一个线程中进行,可能会导致代码逻辑上的混乱及数据处理效率降低的问题。

Description

客户端数据处理方法及装置
技术领域
本发明涉及数据处理技术领域,尤其涉及一种客户端数据处理方法及装置。
背景技术
大部分服务器是基于顺序迭代处理客户端请求,也就是等待客户端请求,再读取请求,处理请求,回复响应。但是在处理请求时,需要大量的cpu时间,会造成对其它客户端响应的不及时,这就需要一种解决方式,常见的解决方式就是并发。具体来说,就是为每个客户端分配一个线程来处理,当有新的客户端请求进来时,为它创建一个线程,并需要为这个线程分配一个socket(通常也称作"套接字")及port(端口)来进行IO操作。然而,采用这种方式来进行IO操作时,由于读取请求及处理请求在同一个线程中进行,当多个客户端同时进行请求时,可能会引起代码逻辑上的混乱,进而导致数据处理效率降低。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种客户端数据处理方法及装置,旨在解决服务器在处理客户端的请求时,由于读取请求及处理请求在同一个线程中进行,可能会导致代码逻辑上的混乱及数据处理效率降低的问题。
为实现上述目的,本发明提供的一种客户端数据处理方法,应用于服务器中,所述服务器包括IO层、分发层及处理层,所述客户端数据处理方法包括以下步骤:
所述IO层在接收到各个客户端发送的数据时,将接收到的数据存储于预设的缓冲区中;
所述分发层从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的类别将提取到的所述数据压入对应的管道中;
所述处理层对各个管道中的数据进行相应的处理。
可选地,所述IO层在接收到各个客户端发送的数据时,将接收到的数据存储于预设的缓冲区中的步骤包括:
所述IO层在接收到各个客户端发送的数据时,获取发送所述数据的客户端的地址信息;
所述IO层将所述地址信息添加至接收到的所述数据的头部;
所述IO层将包含有头部信息的所述数据存储于预设的缓冲区。
可选地,所述分发层从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的类别将提取到的所述数据压入对应的管道中的步骤包括:
所述分发层从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的头部信息对提取到的所述数据进行分类;
所述分发层根据提取到的所述数据的类别建立对应的管道;
所述分发层将提取到的所述数据压入对应的管道中。
可选地,所述分发层将提取到的所述数据压入对应的管道中的步骤之前,还包括:
所述分发层将提取到的所述数据的头部信息移除。
可选地,所述处理层对各个管道中的数据进行相应的处理的步骤包括:
所述处理层为各个管道分配一个工作线程,以通过所述工作线程对管道中的数据进行相应的处理。
此外,为实现上述目的,本发明还提供一种客户端数据处理装置,所述客户端数据处理装置包括;
存储模块,用于在接收到各个客户端发送的数据时,将接收到的数据存储于预设的缓冲区中;
压入模块,用于从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的类别将提取到的所述数据压入对应的管道中;
处理模块,用于对各个管道中的数据进行相应的处理。
可选地,所述存储模块包括:
获取单元,用于在接收到各个客户端发送的数据时,获取发送所述数据的客户端的地址信息;
添加单元,用于将所述地址信息添加至接收到的所述数据的头部;
存储单元,用于将包含有头部信息的所述数据存储于预设的缓冲区。
可选地,所述压入模块包括:
分类单元,用于从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的头部信息对提取到的所述数据进行分类;
建立单元,用于根据提取到的所述数据的类别建立对应的管道;
压入单元,用于将提取到的所述数据压入对应的管道中。
可选地,所述压入模块还包括:
移除单元,用于将提取到的所述数据的头部信息移除。
可选地,所述处理模块,还用于为各个管道分配一个工作线程,以通过所述工作线程对管道中的数据进行相应的处理。
本发明提出的客户端数据处理方法及装置,通过所述IO层在接收到各个客户端发送的数据时,将接收到的数据存储于预设的缓冲区中;所述分发层从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的类别将提取到的所述数据压入对应的管道中;所述处理层对各个管道中的数据进行相应的处理。采用多层处理的方式对客户端的请求进行处理,使得对客户端请求中的读取请求及处理请求不再同一层进行处理,避免了当接收到多个客户端的读取请求的代码与处理请求的代码由于在同一层中可能引起的代码逻辑上的混乱,同时通过多个层对客户端的数据进行处理,提高了对客户端数据处理的效率。
附图说明
图1为本发明客户端数据处理方法的第一实施例的流程示意图;
图2为本发明图1中的IO层在接收到各个客户端发送的数据时,将接收到的数据存储于预设的缓冲区中的步骤细化流程示意图;
图3为图1中的分发层从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的类别将提取到的所述数据压入对应的管道中的步骤细化流程示意图;
图4为本发明图1中的分发层从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的类别将提取到的所述数据压入对应的管道中的另一步骤细化流程示意图;
图5为本发明客户端数据处理装置的第一实施例的功能模块示意图;
图6为本发明图5中的存储模块的细化功能模块示意图;
图7为本发明图5中的压入模块的细化功能模块示意图;
图8为本发明图5中的压入模块的另一细化功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
基于上述问题,本发明提供一种客户端数据处理方法,应用于服务器中,所述服务器包括IO层、分发层及处理层。
参照图1,图1为本发明客户端数据处理方法的第一实施例的流程示意图。
在本实施例中,所述客户端数据处理方法包括:
步骤S10,所述IO层在接收到各个客户端发送的数据时,将接收到的数据存储于预设的缓冲区中;
本发明提供的客户端数据处理方法,与现有的技术方案的区别在于采用分层处理的方式对客户端的数据进行处理,可以提高对客户端的数据的处理效率。具体的,本发明中的服务器逻辑上可以分为三层,分别为IO层、分发层及处理层。所述IO层是基于完成端口的, IO完成端口是一种机制,通过这个机制,应用程序在启动时会首先创建一个线程池,然后该应用程序使用线程池处理异步I /O请求。这些线程被创建的唯一目的就是用于处理I/O请求。对于处理大量并发异步I/O请求的应用程序来说,相比于在I/O请求发生时创建线程来说,使用完成端口就可以做的更快且更有效率。由于所述IO层是基于完成端口的,因此,所述IO层在接收到各个客户端发送的数据时,即接收到各个客户端的I /O请求时,可以立刻采用该IO层中的多个线程读取客户端发送的数据,每个线程读取一个客户端的I /O请求,在接收到客户端发送的数据后将该接收到的数据存储于预设的缓冲区。所述预设的缓冲区为所述IO层的工作线程预先建立的管道缓冲区的末尾的存储区间。即每次IO层在将接收到的数据存入管道中时,都是将数据存储于管道缓冲区中的剩余存储区间的最末尾的存储区间中。在本实施例中,所述IO层只接收各个客户端发送的数据,而不对各个客户端发送的数据进行处理,即IO层中的工作线程只对各个客户端的I /O请求进行读取,而不对各个客户端的请求进行处理。
步骤S20,所述分发层从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的类别将提取到的所述数据压入对应的管道中;
所述分发层实时或当时查看管道中的预设存储区中是否存在数据,若所述管道中的预设缓冲区中存在数据,则所述分发层从该管道的预设存储区中读取存储的数据。具体的,所述分发层可以通过该层中的工作线程提取该管道预设缓冲区中的数据,在提取到数据后,确定提取到的数据的类别,即该提取到的数据是哪个客户端所发送的数据,在确定提取到的数据的类别后,将该数据压入对应的管道中。所述分发层可以根据提取到的数据的类别建立管道,同一个类别的数据压入相同的管道中,不同类别的数据压入不同数据类别相对应的管道中。所述分发层根据提取的数据每确定一个新的类别时,就新创建一个管道,以供该类别的数据能压入到对应的管道中。
步骤S30,所述处理层对各个管道中的数据进行相应的处理。
由于每个管道都对应着一个远程的客户端,因此,所述处理层可以对各个客户端发送的数据进行处理。
具体地,所述步骤S30包括:所述处理层为各个管道分配一个工作线程,以通过所述工作线程对管道中的数据进行相应的处理。
所述处理层为各个管道中分配一个工作线程,通过该工作线程对管道中的数据进行读取,存放,处理,及回应等操作。同时,由于各个管道中都分配了一个工作线程,故在对各个管道中的数据进行处理操作时的暂时中断不会影响其他客户端的数据的处理及回应。
本实施例通过所述IO层在接收到各个客户端发送的数据时,将接收到的数据存储于预设的缓冲区中;所述分发层从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的类别将提取到的所述数据压入对应的管道中;所述处理层对各个管道中的数据进行相应的处理。采用多层处理的方式对客户端的请求进行处理,使得对客户端请求中的读取请求及处理请求不再同一层进行处理,避免了当接收到多个客户端的读取请求的代码与处理请求的代码由于在同一层中可能引起的代码逻辑上的混乱,同时通过多个层对客户端的数据进行处理,提高了对客户端数据处理的效率。
进一步地,参照图2,图2为本发明客户端数据处理方法的第二实施例的流程示意图。基于上述客户端数据处理方法的第一实施例,所述步骤S10包括:
步骤S11,所述IO层在接收到各个客户端发送的数据时,获取发送所述数据的客户端的地址信息;
步骤S12,所述IO层将所述地址信息添加至接收到的所述数据的头部;
步骤S13,所述IO层将包含有头部信息的所述数据存储于预设的缓冲区。
由于所述IO层接收到各个客户端发送的数据中不包含地址信息,即接收到的数据中不包含发送该数据的客户端的地址信息,所述地址信息包括客户端的本地地址及端口号,例如,本地地址:192.168.1.99,端口号:2400。因此,为了对各个客户端发送的数据进行分类区别,需要在接收到各个客户端发送的数据时,获取发送该数据的客户端的地址信息,即获取发送该数据的客户端的本地地址及端口号,所述IO层可以通过客户端与服务器进行通讯创建的套接字中获取发送所述数据的客户端的地址信息。所述IO层在获取到发送所述数据的客户端的地址信息后,将所述地址信息添加至接收到的所述数据的头部,使得接收到的数据都包含有数据源的地址信息,从而为分发层对该接收到数据进行转发处理提高了必要的识别信息。IO层在将地址信息添加至接收到的数据的头部后,将该包含有头部的所述数据存储于预设的缓冲区。
本实施例通过所述IO层在接收到各个客户端发送的数据时,获取发送所述数据的客户端的地址信息,并将所述地址信息添加至接收到的所述数据的头部,从而为所述分发层对该接收到数据进行转发处理提高了必要的识别信息,使得所述分发层能够准确的将各个客户端发送的数据分发至各请求处理线程中。
进一步地,参照图3,图3为本发明客户端数据处理方法的第三实施例的流程示意图。基于上述客户端数据处理方法的第二实施例,所述步骤S20包括:
步骤S21,所述分发层从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的头部信息对提取到的所述数据进行分类;
步骤S22,所述分发层根据提取到的所述数据的类别建立对应的管道;
步骤S23,所述分发层将提取到的所述数据压入对应的管道中。
所述分发层在从所述预设的缓冲区中提取到存储的数据后,对所述提取到的数据进行分类。具体的,所述分发层根据提取到的数据的头部信息进行分类,由于提取到的数据的头部信息为客户端的地址信息,故在对各个提取到的数据进行分类时,将头部信息一致的数据分为一类,头部信息不一致的数据分为不同的类别。在将提取到的数据进行分类后,所述分发层根据数据的类别建立对应的管道,每一类的数据建立一个管道,存在多少个类别的数据就建立多少个管道,例如提取到的数据总共存在8类,则需要建立8个管道。所述分发层在建立管道时,可以在没发现一个新类别的数据就建立一个新的管道,若确定该提取的数据是已有类别的数据,则不需要再建立管道。分发层在建立管道后,即可将各个类别的数据分别压入与其类别相对应的管道中。
本实施例通过为每类数据都建立一个对应的管道,使得对各个客户端数据的处理更加及时,准确,不会产生混乱。
进一步地,参照图4,图4为本发明客户端数据处理方法的第四实施例的流程示意图。基于上述客户端数据处理方法的第三实施例,所述步骤S23之前,还包括:
步骤S24,所述分发层将提取到的所述数据的头部信息移除。
所述分发层在根据提取到的数据的类别建立对应的管道之后,由于提取到的数据的头部信息为客户端的地址信息,该信息的作用仅为分发层根据该信息确定将提取到的数据压入到哪个管道中,故在确定提取到的数据需要压入的管道后,为了节省存储空间,则在将该提取到的数据压入管道之前,可以将该提取到的数据的头部信息移除,以便处理层对该数据进行处理。进一步地,所述分发层将提取到的所述数据的头部信息移除的步骤也可以由所述处理层执行,即当所述处理层对管道中的数据处理之前,首先将待处理数据的头部移除,然后再对该数据进行相应的处理。
本实施例通过在将提取到的数据压入对应的管道之前,将该数据的头部信息移除,从而节省存储空间。
本发明进一步提供一种客户端数据处理装置。
参照图5,图5为本发明客户端数据处理装置的第一实施例的功能模块示意图。
在本实施例中,所述客户端数据处理装置包括:存储模块10、压入模块20及处理模块30。
所述存储模块10,,用于在接收到各个客户端发送的数据时,将接收到的数据存储于预设的缓冲区中;
本发明的技术方案与现有的技术方案的区别在于采用分层处理的方式对客户端的数据进行处理,可以提高对客户端的数据的处理效率。具体的,本发明中的服务器逻辑上可以分为三层,分别为IO层、分发层及处理层。所述IO层是基于完成端口的, IO完成端口是一种机制,通过这个机制,应用程序在启动时会首先创建一个线程池,然后该应用程序使用线程池处理异步I /O请求。这些线程被创建的唯一目的就是用于处理I/O请求。对于处理大量并发异步I/O请求的应用程序来说,相比于在I/O请求发生时创建线程来说,使用完成端口就可以做的更快且更有效率。由于所述IO层是基于完成端口的,因此,所述IO层在接收到各个客户端发送的数据时,即接收到各个客户端的I /O请求时,可以立刻采用该IO层中的多个线程读取客户端发送的数据,每个线程读取一个客户端的I /O请求,在接收到客户端发送的数据后将该接收到的数据存储于预设的缓冲区。所述预设的缓冲区为所述IO层的工作线程预先建立的管道缓冲区的末尾的存储区间。即每次IO层在将接收到的数据存入管道中时,都是将数据存储于管道缓冲区中的剩余存储区间的最末尾的存储区间中。在本实施例中,所述IO层只接收各个客户端发送的数据,而不对各个客户端发送的数据进行处理,即IO层中的工作线程只对各个客户端的I /O请求进行读取,而不对各个客户端的请求进行处理。
所述压入模块20,用于从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的类别将提取到的所述数据压入对应的管道中;
所述分发层实时或当时查看管道中的预设存储区中是否存在数据,若所述管道中的预设缓冲区中存在数据,则所述分发层从该管道的预设存储区中读取存储的数据。具体的,所述分发层可以通过该层中的工作线程提取该管道预设缓冲区中的数据,在提取到数据后,确定提取到的数据的类别,即该提取到的数据是哪个客户端所发送的数据,在确定提取到的数据的类别后,将该数据压入对应的管道中。所述分发层可以根据提取到的数据的类别建立管道,同一个类别的数据压入相同的管道中,不同类别的数据压入不同数据类别相对应的管道中。所述分发层根据提取的数据每确定一个新的类别时,就新创建一个管道,以供该类别的数据能压入到对应的管道中。
所述处理模块30,用于对各个管道中的数据进行相应的处理。
由于每个管道都对应着一个远程的客户端,因此,所述处理层可以对各个客户端发送的数据进行处理。
具体地,所述处理模块30,还用于为各个管道分配一个工作线程,以通过所述工作线程对管道中的数据进行相应的处理。
所述处理层为各个管道中分配一个工作线程,通过该工作线程对管道中的数据进行读取,存放,处理,及回应等操作。同时,由于各个管道中都分配了一个工作线程,故在对各个管道中的数据进行处理操作时的暂时中断不会影响其他客户端的数据的处理及回应。
本实施例通过所述IO层在接收到各个客户端发送的数据时,将接收到的数据存储于预设的缓冲区中;所述分发层从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的类别将提取到的所述数据压入对应的管道中;所述处理层对各个管道中的数据进行相应的处理。采用多层处理的方式对客户端的请求进行处理,使得对客户端请求中的读取请求及处理请求不再同一层进行处理,避免了当接收到多个客户端的读取请求的代码与处理请求的代码由于在同一层中可能引起的代码逻辑上的混乱,同时通过多个层对客户端的数据进行处理,提高了对客户端数据处理的效率。
进一步地,参照图6,图6为本发明客户端数据处理装置的第二实施例的功能模块示意图。基于上述客户端数据处理装置的第一实施例,所述存储模块10包括:获取单元11、添加单元12及存储单元13。
所述获取单元11,用于在接收到各个客户端发送的数据时,获取发送所述数据的客户端的地址信息;
所述添加单元12,用于将所述地址信息添加至接收到的所述数据的头部;
所述存储单元13,用于将包含有头部信息的所述数据存储于预设的缓冲区。
由于所述IO层接收到各个客户端发送的数据中不包含地址信息,即接收到的数据中不包含发送该数据的客户端的地址信息,所述地址信息包括客户端的本地地址及端口号,例如,本地地址:192.168.1.99,端口号:2400。因此,为了对各个客户端发送的数据进行分类区别,需要在接收到各个客户端发送的数据时,获取发送该数据的客户端的地址信息,即获取发送该数据的客户端的本地地址及端口号,所述IO层可以通过客户端与服务器进行通讯创建的套接字中获取发送所述数据的客户端的地址信息。所述IO层在获取到发送所述数据的客户端的地址信息后,将所述地址信息添加至接收到的所述数据的头部,使得接收到的数据都包含有数据源的地址信息,从而为分发层对该接收到数据进行转发处理提高了必要的识别信息。IO层在将地址信息添加至接收到的数据的头部后,将该包含有头部的所述数据存储于预设的缓冲区。
本实施例通过所述IO层在接收到各个客户端发送的数据时,获取发送所述数据的客户端的地址信息,并将所述地址信息添加至接收到的所述数据的头部,从而为所述分发层对该接收到数据进行转发处理提高了必要的识别信息,使得所述分发层能够准确的将各个客户端发送的数据分发至各请求处理线程中。
进一步地,参照图7,图7为本发明客户端数据处理装置的第三实施例的功能模块示意图。基于上述客户端数据处理装置的第二实施例,所述压入模块20包括:分类单元21、建立单元22及压入单元23。
所述分类单元21,用于从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的头部信息对提取到的所述数据进行分类;
所述建立单元22,用于根据提取到的所述数据的类别建立对应的管道;
所述压入单元23,用于将提取到的所述数据压入对应的管道中。
所述分发层在从所述预设的缓冲区中提取到存储的数据后,对所述提取到的数据进行分类。具体的,所述分发层根据提取到的数据的头部信息进行分类,由于提取到的数据的头部信息为客户端的地址信息,故在对各个提取到的数据进行分类时,将头部信息一致的数据分为一类,头部信息不一致的数据分为不同的类别。在将提取到的数据进行分类后,所述分发层根据数据的类别建立对应的管道,每一类的数据建立一个管道,存在多少个类别的数据就建立多少个管道,例如提取到的数据总共存在8类,则需要建立8个管道。所述分发层在建立管道时,可以在没发现一个新类别的数据就建立一个新的管道,若确定该提取的数据是已有类别的数据,则不需要再建立管道。分发层在建立管道后,即可将各个类别的数据分别压入与其类别相对应的管道中。
本实施例通过为每类数据都建立一个对应的管道,使得对各个客户端数据的处理更加及时,准确,不会产生混乱。
进一步地,参照图8,图8为本发明客户端数据处理装置的第四实施例的功能模块示意图。基于上述客户端数据处理装置的第三实施例,所述压入模块20还包括:移除单元24。
所述移除单元24,用于将提取到的所述数据的头部信息移除。
所述分发层在根据提取到的数据的类别建立对应的管道之后,由于提取到的数据的头部信息为客户端的地址信息,该信息的作用仅为分发层根据该信息确定将提取到的数据压入到哪个管道中,故在确定提取到的数据需要压入的管道后,为了节省存储空间,则在将该提取到的数据压入管道之前,可以将该提取到的数据的头部信息移除,以便处理层对该数据进行处理。进一步地,所述分发层将提取到的所述数据的头部信息移除的步骤也可以由所述处理层执行,即当所述处理层对管道中的数据处理之前,首先将待处理数据的头部移除,然后再对该数据进行相应的处理。
本实施例通过在将提取到的数据压入对应的管道之前,将该数据的头部信息移除,从而节省存储空间。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (15)

  1. 一种客户端数据处理方法,应用于服务器中,其特征在于,所述服务器包括IO层、分发层及处理层,所述客户端数据处理方法包括以下步骤:
    所述IO层在接收到各个客户端发送的数据时,将接收到的数据存储于预设的缓冲区中;
    所述分发层从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的类别将提取到的所述数据压入对应的管道中;
    所述处理层对各个管道中的数据进行相应的处理。
  2. 如权利要求1所述的客户端数据处理方法,其特征在于,所述IO层在接收到各个客户端发送的数据时,将接收到的数据存储于预设的缓冲区中的步骤包括:
    所述IO层在接收到各个客户端发送的数据时,获取发送所述数据的客户端的地址信息;
    所述IO层将所述地址信息添加至接收到的所述数据的头部;
    所述IO层将包含有头部信息的所述数据存储于预设的缓冲区。
  3. 如权利要求1所述的客户端数据处理方法,其特征在于,所述处理层对各个管道中的数据进行相应的处理的步骤包括:
    所述处理层为各个管道分配一个工作线程,以通过所述工作线程对管道中的数据进行相应的处理。
  4. 如权利要求2所述的客户端数据处理方法,其特征在于,所述分发层从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的类别将提取到的所述数据压入对应的管道中的步骤包括:
    所述分发层从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的头部信息对提取到的所述数据进行分类;
    所述分发层根据提取到的所述数据的类别建立对应的管道;
    所述分发层将提取到的所述数据压入对应的管道中。
  5. 如权利要求2所述的客户端数据处理方法,其特征在于,所述处理层对各个管道中的数据进行相应的处理的步骤包括:
    所述处理层为各个管道分配一个工作线程,以通过所述工作线程对管道中的数据进行相应的处理。
  6. 如权利要求4所述的客户端数据处理方法,其特征在于,所述分发层将提取到的所述数据压入对应的管道中的步骤之前,还包括:
    所述分发层将提取到的所述数据的头部信息移除。
  7. 如权利要求4所述的客户端数据处理方法,其特征在于,所述处理层对各个管道中的数据进行相应的处理的步骤包括:
    所述处理层为各个管道分配一个工作线程,以通过所述工作线程对管道中的数据进行相应的处理。
  8. 如权利要求6所述的客户端数据处理方法,其特征在于,所述处理层对各个管道中的数据进行相应的处理的步骤包括:
    所述处理层为各个管道分配一个工作线程,以通过所述工作线程对管道中的数据进行相应的处理。
  9. 一种客户端数据处理装置,其特征在于,所述客户端数据处理装置包括;
    存储模块,用于在接收到各个客户端发送的数据时,将接收到的数据存储于预设的缓冲区中;
    压入模块,用于从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的类别将提取到的所述数据压入对应的管道中;
    处理模块,用于对各个管道中的数据进行相应的处理。
  10. 如权利要求9所述的客户端数据处理装置,其特征在于,所述存储模块包括:
    获取单元,用于在接收到各个客户端发送的数据时,获取发送所述数据的客户端的地址信息;
    添加单元,用于将所述地址信息添加至接收到的所述数据的头部;
    存储单元,用于将包含有头部信息的所述数据存储于预设的缓冲区。
  11. 如权利要求9所述的客户端数据处理装置,其特征在于,所述处理模块,还用于为各个管道分配一个工作线程,以通过所述工作线程对管道中的数据进行相应的处理。
  12. 如权利要求10所述的客户端数据处理装置,其特征在于,所述压入模块包括:
    分类单元,用于从所述预设的缓冲区中提取存储的数据,并根据提取到的数据的头部信息对提取到的所述数据进行分类;
    建立单元,用于根据提取到的所述数据的类别建立对应的管道;
    压入单元,用于将提取到的所述数据压入对应的管道中。
  13. 如权利要求12所述的客户端数据处理装置,其特征在于,所述处理模块,还用于为各个管道分配一个工作线程,以通过所述工作线程对管道中的数据进行相应的处理。
  14. 如权利要求10所述的客户端数据处理装置,其特征在于,所述压入模块还包括:
    移除单元,用于将提取到的所述数据的头部信息移除。
  15. 如权利要求14所述的客户端数据处理装置,其特征在于,所述处理模块,还用于为各个管道分配一个工作线程,以通过所述工作线程对管道中的数据进行相应的处理。
PCT/CN2017/080837 2016-05-30 2017-04-18 客户端数据处理方法及装置 WO2017206601A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610370451.3 2016-05-30
CN201610370451.3A CN106095597B (zh) 2016-05-30 2016-05-30 客户端数据处理方法及装置

Publications (1)

Publication Number Publication Date
WO2017206601A1 true WO2017206601A1 (zh) 2017-12-07

Family

ID=57229619

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/080837 WO2017206601A1 (zh) 2016-05-30 2017-04-18 客户端数据处理方法及装置

Country Status (2)

Country Link
CN (1) CN106095597B (zh)
WO (1) WO2017206601A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106095597B (zh) * 2016-05-30 2017-09-26 深圳市鼎盛智能科技有限公司 客户端数据处理方法及装置
CN106790632B (zh) * 2017-01-03 2020-07-14 北京奇虎科技有限公司 一种流数据的并发传输方法和装置
CN108667505A (zh) * 2018-04-20 2018-10-16 广州亿航智能技术有限公司 无人机通信链路的数据处理方法及计算机可读存储介质
CN111061474B (zh) * 2018-10-16 2024-04-26 深圳市茁壮网络股份有限公司 一种Lamda编程装置及其数据处理方法
CN110046040B (zh) * 2019-04-09 2021-11-16 厦门网宿有限公司 分布式任务处理方法及系统和存储介质
CN111901689A (zh) * 2020-06-17 2020-11-06 视联动力信息技术股份有限公司 流媒体数据的传输方法、装置、终端设备和存储介质
CN113965844B (zh) * 2021-12-22 2022-04-15 深圳市维海德技术股份有限公司 低延时音频传输方法、装置、驱动设备及可读存储介质
CN117041304B (zh) * 2023-10-10 2023-12-19 南京翼辉信息技术有限公司 一种车载原子服务系统及其控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1684413A (zh) * 2004-04-12 2005-10-19 英业达股份有限公司 网络通信的动态实现方法
WO2007127336A2 (en) * 2006-04-28 2007-11-08 Towsend Analytics, Ltd. Order management for electronic securities trading
CN103036961A (zh) * 2012-12-07 2013-04-10 蓝盾信息安全技术股份有限公司 一种日志分布式收集及存储方法
CN106095597A (zh) * 2016-05-30 2016-11-09 深圳市鼎盛智能科技有限公司 客户端数据处理方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571617B (zh) * 2012-03-22 2015-04-01 中国科学院上海高等研究院 流数据服务器、流数据传输方法及数据传输系统
CN103338156B (zh) * 2013-06-17 2016-08-24 南京国电南自美卓控制系统有限公司 一种基于线程池的命名管道服务器并发通信方法
CN104219286B (zh) * 2014-08-13 2015-11-18 腾讯科技(深圳)有限公司 流媒体处理方法、装置、客户端、cdn节点服务器及终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1684413A (zh) * 2004-04-12 2005-10-19 英业达股份有限公司 网络通信的动态实现方法
WO2007127336A2 (en) * 2006-04-28 2007-11-08 Towsend Analytics, Ltd. Order management for electronic securities trading
CN103036961A (zh) * 2012-12-07 2013-04-10 蓝盾信息安全技术股份有限公司 一种日志分布式收集及存储方法
CN106095597A (zh) * 2016-05-30 2016-11-09 深圳市鼎盛智能科技有限公司 客户端数据处理方法及装置

Also Published As

Publication number Publication date
CN106095597B (zh) 2017-09-26
CN106095597A (zh) 2016-11-09

Similar Documents

Publication Publication Date Title
WO2017206601A1 (zh) 客户端数据处理方法及装置
WO2013143341A1 (zh) 一种更新移动终端的应用信息的方法及装置
WO2019165691A1 (zh) 自动生成测试案例的方法、装置、设备及可读存储介质
WO2019161615A1 (zh) 账单录入方法、系统、光学字符识别服务器和存储介质
WO2017190450A1 (zh) 进程关闭方法及装置
WO2013131444A1 (zh) 分享内容的方法、终端、服务器及系统、计算机存储介质
WO2020224247A1 (zh) 基于区块链的数据溯源方法、装置、设备及可读存储介质
WO2018107610A1 (zh) 业务数据处理方法、系统、设备及计算机可读存储介质
WO2017088664A1 (zh) 集群文件系统的数据处理方法和装置
WO2018028121A1 (zh) 数据分区的存储空间管理方法及装置
WO2015135443A1 (en) Method and apparatus for simulating sound in virtual scenario, and terminal
WO2018233369A1 (zh) 基于写时复制的虚拟磁盘写入方法及装置、存储介质
WO2016173192A1 (zh) 电视稳定性测试方法及装置
WO2016090652A1 (zh) 视频压缩方法及装置
WO2014079327A1 (zh) 信息推送方法和系统、数字电视接收终端及计算机存储介质
WO2017036204A1 (zh) 应用程序切换时的焦点定位方法及装置
WO2019100654A1 (zh) 多任务处理方法、装置、应用服务器及存储介质
WO2017059686A1 (zh) 桌面显示方法及装置
WO2018053963A1 (zh) 智能电视的系统升级方法及装置
WO2019205272A1 (zh) 虚拟机服务提供方法、装置、设备及计算机可读存储介质
WO2017036209A1 (zh) 基于智能电视的音频数据播放方法、智能电视及系统
WO2018014567A1 (zh) 一种提高虚拟机性能的方法、终端、设备及计算机可读存储介质
WO2017084301A1 (zh) 音频数据播放方法、装置及智能电视机
WO2019056750A1 (zh) 信息唯一性识别方法、应用服务器、系统及存储介质
WO2019056733A1 (zh) 并发量控制方法、应用服务器、系统及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17805546

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17805546

Country of ref document: EP

Kind code of ref document: A1