一种高性能服务器架构系统及数据处理方法技术方案

技术编号:9381720 阅读:135 留言:0更新日期:2013-11-28 00:06
一种高性能服务器架构系统及数据处理方法,包括高速缓存单元、多任务并发处理单元、线程池单元以及数据批量发送单元,预先为高速缓冲队列中的缓存结点分配业务所需的内存空间,当业务数据到来时调用所述线程池单元中的多线程接收业务数据,并保存到已分配的缓存结点中,根据业务类型将每个缓存结点的数据处理过程分成多种业务状态,当各业务状态属于并行关系时,调用所述线程池单元中的多线程对各业务状态进行并发处理,数据处理完后,对多个缓存结点的数据进行整体打包,然后进行批量发送。解决了现有技术中的服务器按时间先后顺序接收前端数据,且采用单线程处理数据,对数据的处理效率低、能力差的技术问题。特别适用于监控系统服务器。

【技术实现步骤摘要】
一种高性能服务器架构系统及数据处理方法
本专利技术涉及一种服务器架构,具体地说是一种高性能服务器架构系统及方法。
技术介绍
在视频监控系统中,常常会出现某前端的数据消息处理不及时,而导致业务不正常的情况。例如视频每帧数据延时,浏览界面会卡顿或花屏;用户下发重启指令,前端几分钟后才响应等。这些非正常情况都是由于服务器处理数据效率低,实时数据的处理存在延时造成的。目前各应用领域的监控服务器的硬件配置都很高,但在实际应用过程中却会出现服务器处理能力不够的情况。当采用专业的监测工具检测后发现,硬件资源还很空闲,这说明根本原因不在于硬件环境,而在于服务器软件架构不合理,降低了前端数据的接收效率。现有专利文献CN201491032U中公开了一种大规模、多线程通信服务器,包括中央处理器,还包括按时间先后顺序对多个客户端所发送连接请求数据进行队列式存储并按先后顺序逐一输出的数据缓冲池,和由中央处理器启动时所预先创建的多个空闲线程组成并具有按照链表方式动态创建与注销线程功能的服务线程池。该方案的不足在于对多个客户端发送的数据只能按时间先后顺序逐个接收,而在监控系统的很多应用场合中,服务器需要实时地接收大量的前端数据,如果采用该方案按时间先后顺序对前端数据进行逐个接收,将严重影响前端数据的接收效率,而且该方案当数据缓冲池中有数据就绪时,采用一个空闲线程对其进行处理,如果数据处理所需时间较长,将产生较大的处理延时,从而降低服务器的处理性能。
技术实现思路
为此,本专利技术所要解决的技术问题在于现有技术中的服务器按时间先后顺序接收前端数据,且采用单线程处理数据,对数据的处理效率低、能力差,从而提出一种高效处理业务数据的服务器架构系统。为解决上述技术问题,本专利技术提供一种高性能服务器架构系统及数据处理方法。高性能服务器架构系统包括:高速缓存单元:在内存中分配高速缓冲队列,预先为该高速缓冲队列中的缓存结点分配所需的内存空间,当业务数据到来时直接将其保存到缓存结点;多任务并发处理单元:根据所述业务信息的业务类型将每个缓存结点的数据处理过程分成多种业务状态,当各业务状态属于并行关系时,各业务状态进行并发处理;线程池单元:存储有多个线程,接收数据时调用所述多线程进行数据接收,所述并发处理时调用所述多线程进行任务处理;数据批量发送单元:数据处理完后,对多个缓存结点的数据进行整体打包,然后进行批量发送。本专利技术所述的高性能服务器架构系统,所述高速缓存单元中各缓存结点之间无关联关系,各缓存结点可独立被业务流程进行操作。本专利技术所述的高性能服务器架构系统,所述高速缓存单元中各缓存结点之间采用双向循环链表串联。一种高性能服务器架构系统的数据处理方法,包括以下步骤:(1)根据业务需求,预先为高速缓冲队列中的缓存结点分配业务所需的内存空间;(2)调用所述线程池单元中的多线程接收业务数据,并保存到已分配的缓存结点中;(3)根据业务类型将每个缓存结点的数据处理过程分成多种业务状态,当各业务状态属于并行关系时,调用所述线程池单元中的多线程对各业务状态进行并发处理,否则按业务状态的先后顺序依次处理,每完成一个业务状态的数据处理过程,将迁移到下一个业务状态;(4)数据处理完后,对多个缓存结点的数据进行整体打包,然后进行批量发送。本专利技术所述的高性能服务器架构系统的数据处理方法,所述缓存结点的数据完成最后一个业务状态的处理后,将缓存结点的状态设置为“初始状态”。本专利技术所述的高性能服务器架构系统的数据处理方法,在所述步骤(3)中,调用所述线程池单元中的多线程处理单个业务状态的数据。本专利技术所述的高性能服务器架构系统的数据处理方法,所述步骤(1)中,各缓存结点之间采用双向循环链表串联。本专利技术所述的高性能服务器架构系统的数据处理方法,所述步骤(1)中,各缓存结点可独立被业务流程进行操作。本专利技术的上述技术方案相比现有技术具有以下优点:(1)本专利技术所述的高性能服务器架构系统包括高速缓存单元、多任务并发处理单元、线程池单元以及数据批量发送单元,其对应的数据处理方法为预先为高速缓冲队列中的缓存结点分配业务所需的内存空间,当业务数据到来时调用所述线程池单元中的多线程接收业务数据,并保存到已分配的缓存结点中,根据业务类型将每个缓存结点的数据处理过程分成多种业务状态,当各业务状态属于并行关系时,调用所述线程池单元中的多线程对各业务状态进行并发处理,数据处理完后,对多个缓存结点的数据进行整体打包,然后进行批量发送。这样为缓存结点预先分配内存空间后,后期业务可以重复利用,防止重复分配内存消耗大量时间,避免了内存碎片,且采用多线程接收数据,能处理的前端数据量成倍增加。此外,高速缓冲队列是多个线程之间的共享资源,所有的业务处理任务都来自同一队列,无需单独拷贝到各自业务线程内,对缓存结点的多个业务状态可以采用多线程进行并发处理,充分利用服务器的资源,提高了服务器的处理能力。数据处理完后,对多个缓存结点的数据进行整体打包,然后进行批量发送,大大提高了数据IO吞吐量,降低了数据的处理延时,提高了服务器的整体性能。(2)本专利技术所述的高性能服务器架构系统中的高速缓存单元中各缓存结点之间采用双向循环链表串联,方便对所有结点数据的快速访问和操作,提高服务器的处理效率。(3)本专利技术所述的高性能服务器架构系统的数据处理方法根据业务类型将每个缓存结点的数据处理过程分成多种业务状态,每一个缓存结点的数据可能需要经历多种处理状态才能完成该结点的生命周期流程,各处理状态之间经过处理后,发生状态迁移,且迁移前后都基于同一结点,这样大大减少了内存再拷贝所需的空间和时间消耗,且缓存结点的数据完成最后一个业务状态的处理后,将缓存结点的状态设置为“初始状态”,供新的业务数据继续存储,而无需再次申请空间。(4)本专利技术所述的高性能服务器架构系统的数据处理方法调用线程池单元中的多线程处理单个业务状态的数据,充分利用CPU的资源,缩短业务数据的处理时间,提高业务数据的处理效率。附图说明为了使本专利技术的内容更容易被清楚的理解,下面根据本专利技术的具体实施例并结合附图,对本专利技术作进一步详细的说明,其中图1是高性能服务器内部实现流程图;图2是业务数据节点生命周期。具体实施方式实施例1本实施例提供一种高性能服务器架构系统,包括高速缓存单元、多任务并发处理单元、线程池单元以及数据批量发送单元,其内部实现流程图如图1所示。高速缓存单元在内存中分配高速缓冲队列,预先为该高速缓冲队列中的缓存结点分配所需的内存空间,图1所示的node1、node2…nodex为高速缓冲队列中的缓存结点,当业务数据到来时直接将其保存到此处的缓存结点中,且各缓存结点之间无关联关系,各缓存结点可独立被业务流程进行操作。多任务并发处理单元根据业务信息的业务类型将每个缓存结点的数据处理过程分成多种业务状态,如图2所示,业务数据节点的生命周期从初始状态开始,经过业务1状态、业务2状态、业务y状态共4个业务状态,当各业务状态属于并行关系时,各业务状态进行并发处理。线程池单元存储有多个线程,接收数据时调用所述多线程进行数据接收,所述并发处理时调用所述多线程进行任务处理,图1中采用多线程thread_1、thread_2…thread_n同时接收数据1、数据2…数据m,采用线程1、线程2…线程n本文档来自技高网...
一种高性能服务器架构系统及数据处理方法

【技术保护点】
一种高性能服务器架构系统,其特征在于,包括:高速缓存单元:在内存中分配高速缓冲队列,预先为该高速缓冲队列中的缓存结点分配所需的内存空间,当业务数据到来时直接将其保存到缓存结点;多任务并发处理单元:根据所述业务信息的业务类型将每个缓存结点的数据处理过程分成多种业务状态,当各业务状态属于并行关系时,各业务状态进行并发处理;线程池单元:存储有多个线程,接收数据时调用所述多线程进行数据接收,所述并发处理时调用所述多线程进行任务处理;数据批量发送单元:数据处理完后,对多个缓存结点的数据进行整体打包,然后进行批量发送。

【技术特征摘要】
1.一种高性能服务器架构系统,其特征在于,包括:高速缓存单元:在内存中分配高速缓冲队列,预先为该高速缓冲队列中的缓存结点分配所需的内存空间,当业务数据到来时直接将其保存到缓存结点,各缓存结点之间采用双向循环链表串联;多任务并发处理单元:根据所述业务信息的业务类型将每个缓存结点的数据处理过程分成多种业务状态,当各业务状态属于并行关系时,调用线程池单元中的多线程对各业务状态进行并发处理;当各业务状态不属于并行关系时,按业务状态的先后顺序依次处理,且当结点单个业务状态的处理时间较长时,调用所述线程池单元中的多线程处理单个业务状态的数据,每完成一个业务状态的数据处理过程,将迁移到下一个业务状态,当缓存结点的数据完成最后一个业务状态的处理后,将缓存结点的状态设置为初始状态;线程池单元:存储有多个线程,接收数据时调用所述多线程进行数据接收,所述并发处理时调用所述多线程进行任务处理;数据批量发送单元:数据处理完后,对多个缓存结点的数据进行整体打包,然后进行批量发送。2.根据权利要求1所述的高性能服务器架构系统,其特征在于,所述高速缓存单元中各...

【专利技术属性】
技术研发人员:陈黎周圣强陈卫东
申请(专利权)人:苏州科达科技股份有限公司
类型:发明
国别省市:

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

1