专利转让平台_买专利_卖专利_中国高校专利技术交易-买卖发明专利上知查网

全部分类
全部分类
基于服务器负载状态的会话处理系统及方法

基于服务器负载状态的会话处理系统及方法

IPC分类号 : H04L29/08I

申请号
CN201910670425.6
可选规格
  • 专利类型: 发明专利
  • 法律状态: 有权
  • 申请日: 2019-07-23
  • 公开号: CN110401708B
  • 公开日: 2019-11-01
  • 主分类号: H04L29/08
  • 专利权人: 中南民族大学

专利摘要

本发明公开一种基于服务器负载状态的会话处理系统及方法,包括:客户端在接收到会话连接请求时获取对应的待连接服务器;调用预设线程从服务器注册中心获取待连接服务器对应的综合负载信息并根据该信息判断待连接服务器是否满足预设连接条件;在不满时通过预设地址列表管理器从集群服务器地址列表中选取一目标服务器地址;然后与目标服务器地址对应的目标服务器建立会话连接。由于是根据服务器对应的综合负载信息来对待连接的服务器进行筛选,在筛选出的服务器不满足连接条件时从本地集群服务器中重新选取目标服务器建立会话连接,能够保证筛选出的目标服务器稳定地为客户端提供会话服务,避免负载较高导致的服务器宕机造成会话中断情况的发生。

权利要求

1.一种基于服务器负载状态的会话处理系统,其特征在于,所述系统包括:

客户端,用于在接收到会话连接请求时,获取所述会话连接请求对应的待连接服务器;

所述客户端,还用于调用预设线程从服务器注册中心获取所述待连接服务器对应的综合负载信息,并根据所述综合负载信息判断所述待连接服务器是否满足预设连接条件;

所述客户端,还用于在所述待连接服务器不满足所述预设连接条件时,通过预设地址列表管理器从本地预存的集群服务器地址列表中选取一目标服务器地址;

所述客户端,还用于根据所述目标服务器地址确定对应的目标服务器,并与所述目标服务器建立会话连接;

其中,所述客户端,还用于通过所述预设地址列表管理器从所述服务器注册中心获取分布式集群对应的当前服务器地址列表;

所述客户端,还用于检测所述当前服务器地址列表与所述集群服务器地址列表是否一致,若否则获取所述当前服务器地址列表中各服务器地址所对应服务器的网络延时信息;

所述客户端,还用于根据所述网络延时信息对所述当前服务器地址列表中包含的服务器地址进行顺序调整,以获得待缓存服务器地址列表;

所述客户端,还用于将所述待缓存服务器地址列表作为新的集群服务器地址列表进行缓存。

2.如权利要求1所述的系统,其特征在于,所述综合负载信息包括:系统负载、中央处理器利用率、内存占用率以及磁盘利用率;

所述客户端,还用于根据所述系统负载、所述中央处理器利用率、所述内存占用率以及所述磁盘利用率判断所述待连接服务器是否满足预设连接条件。

3.如权利要求2所述的系统,其特征在于,所述客户端,还用于根据所述系统负载、所述中央处理器利用率、所述内存占用率以及所述磁盘利用率,通过预设公式计算出所述待连接服务器对应的综合负载值;

所述客户端,还用于根据所述综合负载值确定所述待连接服务器对应的当前负载状态,并根据所述当前负载状态判断所述待连接服务器是否满足预设连接条件;

其中,所述预设公式为:

CHSLoad=θload+θcpu+θmem+θi/o

式中,CHSLoad为综合负载值,θload为系统负载,θcpu为中央处理器利用率,θmem为内存占用率,θi/o为磁盘利用率。

4.如权利要求1所述的系统,其特征在于,所述客户端,还用于调用所述预设线程连接所述服务器注册中心,对所述服务器注册中心中已注册的服务器进行监听,以获取所述已注册的服务器对应的综合负载信息,从获取的综合负载信息中读取所述待连接服务器对应的综合负载信息。

5.如权利要求1所述的系统,其特征在于,所述预设地址列表管理器,用于获取本地预存的集群服务器地址列表对应的地址列表长度,并检测所述地址列表长度是否小于预设长度,若是则从本地预存的集群服务器地址列表中选取携带有预设标记的可用服务器地址;

所述预设地址列表管理器,还用于验证所述可用服务器地址对应的服务器是否处于高负载状态,若否则从所述可用服务器地址中选取一目标服务器地址。

6.一种基于服务器负载状态的会话处理方法,其特征在于,所述方法包括:

在接收到会话连接请求时,获取所述会话连接请求对应的待连接服务器;

调用预设线程从服务器注册中心获取所述待连接服务器对应的综合负载信息,并根据所述综合负载信息判断所述待连接服务器是否满足预设连接条件;

在所述待连接服务器不满足所述预设连接条件时,通过预设地址列表管理器从本地预存的集群服务器地址列表中选取一目标服务器地址;

根据所述目标服务器地址确定对应的目标服务器,并与所述目标服务器建立会话连接;

其中,所述方法还包括:

通过所述预设地址列表管理器从所述服务器注册中心获取分布式集群对应的当前服务器地址列表;

检测所述当前服务器地址列表与所述集群服务器地址列表是否一致,若否则获取所述当前服务器地址列表中各服务器地址所对应服务器的网络延时信息;

根据所述网络延时信息对所述当前服务器地址列表中包含的服务器地址进行顺序调整,以获得待缓存服务器地址列表;

将所述待缓存服务器地址列表作为新的集群服务器地址列表进行缓存。

7.如权利要求6所述的方法,其特征在于,所述综合负载信息包括:系统负载、中央处理器利用率、内存占用率以及磁盘利用率;

所述根据所述综合负载信息判断所述待连接服务器是否满足预设连接条件的步骤,包括:

根据所述系统负载、所述中央处理器利用率、所述内存占用率以及所述磁盘利用率判断所述待连接服务器是否满足预设连接条件。

8.如权利要求7所述的方法,其特征在于,所述根据所述系统负载、所述中央处理器利用率、所述内存占用率以及所述磁盘利用率判断所述待连接服务器是否满足预设连接条件的步骤,包括:

根据所述系统负载、所述中央处理器利用率、所述内存占用率以及所述磁盘利用率,通过预设公式计算出所述待连接服务器对应的综合负载值;

根据所述综合负载值确定所述待连接服务器对应的当前负载状态,并根据所述当前负载状态判断所述待连接服务器是否满足预设连接条件;

其中,所述预设公式为:

CHSLoad=θload+θcpu+θmem+θi/o

式中,CHSLoad为综合负载值,θload为系统负载,θcpu为中央处理器利用率,θmem为内存占用率,θi/o为磁盘利用率。

9.如权利要求6所述的方法,其特征在于,所述调用预设线程从服务器注册中心获取所述待连接服务器对应的综合负载信息,并根据所述综合负载信息判断所述待连接服务器是否满足预设连接条件的步骤,包括:

调用所述预设线程连接所述服务器注册中心,对所述服务器注册中心中已注册的服务器进行监听,以获取所述已注册的服务器对应的综合负载信息;

从获取的综合负载信息中读取所述待连接服务器对应的综合负载信息,并根据读取的综合负载信息判断所述待连接服务器是否满足预设连接条件。

说明书

技术领域

本发明涉及计算机技术领域,尤其涉及一种基于服务器负载状态的会话处理系统及方法。

背景技术

在ZooKeeper(一种分布式的、开放源码的分布式应用程序协调服务)集群中,如果客户端连接在ZooKeeper服务器时只考虑最快响应时间这一个因素,可能会造成某台ZooKeeper服务器资源过重,严重时可能造成服务器宕机,停止服务。而宕机对于一些用户量众多的企业来说,代价是十分巨大的,轻则影响用户体验,重则直接会给公司造成不可挽回的损失。因此,如何保证客户端连接的服务器能够稳定运行,避免服务器宕机造成的会话中断就成为了一个亟待解决的问题。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

发明内容

本发明的主要目的在于提供了一种基于服务器负载状态的会话处理系统及方法,旨在解决现有技术无法有效保证客户端连接的服务器能够稳定运行,避免服务器宕机造成会话中断的技术问题。

为实现上述目的,本发明提供了一种基于服务器负载状态的会话处理系统,所述系统包括:

客户端,用于在接收到会话连接请求时,获取所述会话连接请求对应的待连接服务器;

所述客户端,还用于调用预设线程从服务器注册中心获取所述待连接服务器对应的综合负载信息,并根据所述综合负载信息判断所述待连接服务器是否满足预设连接条件;

所述客户端,还用于在所述待连接服务器不满足所述预设连接条件时,通过预设地址列表管理器从本地预存的集群服务器地址列表中选取一目标服务器地址;

所述客户端,还用于根据所述目标服务器地址确定对应的目标服务器,并与所述目标服务器建立会话连接。

优选地,所述综合负载信息包括:系统负载、中央处理器利用率、内存占用率以及磁盘利用率;

所述客户端,还用于根据所述系统负载、所述中央处理器利用率、所述内存占用率以及所述磁盘利用率判断所述待连接服务器是否满足预设连接条件。

优选地,所述客户端,还用于根据所述系统负载、所述中央处理器利用率、所述内存占用率以及所述磁盘利用率,通过预设公式计算出所述待连接服务器对应的综合负载值;

所述客户端,还用于根据所述综合负载值确定所述待连接服务器对应的当前负载状态,并根据所述当前负载状态判断所述待连接服务器是否满足预设连接条件;

其中,所述预设公式为:

CHSLoad=θloadcpumemi/o

式中,CHSLoad为综合负载值,θload为系统负载,θcpu为中央处理器利用率,θmem为内存占用率,θi/o为磁盘利用率。

优选地,所述客户端,还用于调用所述预设线程连接所述服务器注册中心,对所述服务器注册中心中已注册的服务器进行监听,以获取所述已注册的服务器对应的综合负载信息,从获取的综合负载信息中读取所述待连接服务器对应的综合负载信息。

优选地,所述客户端,还用于通过所述预设地址列表管理器从所述服务器注册中心获取分布式集群对应的当前服务器地址列表;

所述客户端,还用于检测所述当前服务器地址列表与所述集群服务器地址列表是否一致,若否则获取所述当前服务器地址列表中各服务器地址所对应服务器的网络延时信息;

所述客户端,还用于根据所述网络延时信息对所述当前服务器地址列表中包含的服务器地址进行顺序调整,以获得待缓存服务器地址列表;

所述客户端,还用于将所述待缓存服务器地址列表作为新的集群服务器地址列表进行缓存。

所述预设地址列表管理器,用于获取本地预存的集群服务器地址列表对应的地址列表长度,并检测所述地址列表长度是否小于预设长度,若是则从本地预存的集群服务器地址列表中选取携带有预设标记的可用服务器地址;

优选地,所述预设地址列表管理器,还用于验证所述可用服务器地址对应的服务器是否处于高负载状态,若否则从所述可用服务器地址中选取一目标服务器地址。

此外,为实现上述目的,本发明还提出一种基于服务器负载状态的会话处理方法,所述方法包括:

在接收到会话连接请求时,获取所述会话连接请求对应的待连接服务器;

调用预设线程从服务器注册中心获取所述待连接服务器对应的综合负载信息,并根据所述综合负载信息判断所述待连接服务器是否满足预设连接条件;

在所述待连接服务器不满足所述预设连接条件时,通过预设地址列表管理器从本地预存的集群服务器地址列表中选取一目标服务器地址;

根据所述目标服务器地址确定对应的目标服务器,并与所述目标服务器建立会话连接。

优选地,所述综合负载信息包括:系统负载、中央处理器利用率、内存占用率以及磁盘利用率;

所述根据所述综合负载信息判断所述待连接服务器是否满足预设连接条件的步骤,包括:

根据所述系统负载、所述中央处理器利用率、所述内存占用率以及所述磁盘利用率判断所述待连接服务器是否满足预设连接条件。

优选地,所述根据所述系统负载、所述中央处理器利用率、所述内存占用率以及所述磁盘利用率判断所述待连接服务器是否满足预设连接条件的步骤,包括:

根据所述系统负载、所述中央处理器利用率、所述内存占用率以及所述磁盘利用率,通过预设公式计算出所述待连接服务器对应的综合负载值;

根据所述综合负载值确定所述待连接服务器对应的当前负载状态,并根据所述当前负载状态判断所述待连接服务器是否满足预设连接条件;

其中,所述预设公式为:

CHSLoad=θloadcpumemi/o

式中,CHSLoad为综合负载值,θload为系统负载,θcpu为中央处理器利用率,θmem为内存占用率,θi/o为磁盘利用率。

优选地,所述调用预设线程从服务器注册中心获取所述待连接服务器对应的综合负载信息,并根据所述综合负载信息判断所述待连接服务器是否满足预设连接条件的步骤,包括:

调用所述预设线程连接所述服务器注册中心,对所述服务器注册中心中已注册的服务器进行监听,以获取所述已注册的服务器对应的综合负载信息;

从获取的综合负载信息中读取所述待连接服务器对应的综合负载信息,并根据读取的综合负载信息判断所述待连接服务器是否满足预设连接条件。

本发明客户端在接收到会话连接请求时,获取会话连接请求对应的待连接服务器;调用预设线程从服务器注册中心获取待连接服务器对应的综合负载信息,并根据综合负载信息判断待连接服务器是否满足预设连接条件;若不满足,则通过预设地址列表管理器从本地预存的集群服务器地址列表中选取一目标服务器地址;然后根据目标服务器地址确定对应的目标服务器,并与目标服务器建立会话连接。由于本发明是根据服务器对应的综合负载信息来对待连接的服务器进行筛选,在筛选出的服务器不满足连接条件时从本地集群服务器中重新选取目标服务器建立会话连接,能够保证筛选出的目标服务器稳定的为客户端提供会话服务,较大程度的避免由于负载较高导致的服务器宕机造成会话中断情况的发生。

附图说明

图1为本发明基于服务器负载状态的会话处理系统的结构示意图;

图2为本发明基于服务器负载状态的会话处理方法第一实施例的流程示意图;

图3为本发明基于服务器负载状态的会话处理方法第二实施例的流程示意图;

图4为本发明基于服务器负载状态的会话处理方法第三实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明基于服务器负载状态的会话处理系统的结构示意图。

如图1所示,该基于服务器负载状态的会话处理系统可以包括:客户端1001、预设地址列表管理器1002以及服务器注册中心1003。其中,所述客户端1001可以是ZooKeeper客户端,所述预设地址列表管理器1002可以是DynamicHostProvider地址列表管理器,本实施例中所述预设地址列表管理器1002可从缓存中获取ZooKeeper集群中各服务器的负载信息及各服务器网络延时状况。所述服务器注册中心1003可以采用ZooKeeper服务器来实现,主要提供所有服务注册的信息存储,供ZooKeeper客户端调用。

本领域技术人员可以理解,图1中示出的结构并不构成对本实施例基于服务器负载状态的会话处理系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本实施例中,所述基于服务器负载状态的会话处理系统包括:

客户端1001,用于在接收到会话连接请求时,获取所述会话连接请求对应的待连接服务器;

需要说明的是,所述会话连接请求可以是作为服务请求方的ZooKeeper客户端发送的与目标服务器建立会话链接的指令。本实施例中客户端1001需要向服务器注册中心1003获取所要连接的服务器综合负载信息,然后通过综合负载信息决定应该连接哪一个服务器。

在具体实现中,客户端1001在接收到用户触发的会话连接请求时,将根据会话连接请求的请求头中包含的请求资源信息来确定所要访问的服务器。应理解的是,在分布式集群场景中,请求资源信息通常保存在多个服务器中,也就是说本实施例中所述待连接服务器的数量可以是一个也可以是多个。

所述客户端1001,还用于调用预设线程从服务器注册中心1003获取所述待连接服务器对应的综合负载信息,并根据所述综合负载信息判断所述待连接服务器是否满足预设连接条件;

应理解的是,本实施例中所述服务器注册中心1003用于为ZooKeeper服务器提供注册信息的存储和管理服务。各ZooKeeper服务器在服务器注册中心1003中进行注册时,可先在ZooKeeper注册中心建立目录“/loadInfo”,然后当ZooKeeper服务器启动时,预先配置的采集ZooKeeper服务器硬件资源信息的脚本程序也启动,并在“/loadInfo”目录下创建临时节点目录,节点目录的名称可以为脚本程序所在的ZooKeeper服务器的互联网协议地址(Internet Protocol Address,IP地址)和端口号;然后将脚本程序采集的ZooKeeper服务器硬件资源信息(包括系统负载、中央处理器利用率、内存占用率、磁盘利用率等)保存到本地存储空间。所述负载综合信息可以由上述ZooKeeper服务器根据硬件资源信息计算获得。

需要说明的是,所述预设线程可以是预先设定的ZKLoadThread线程,该线程用于连接服务器注册中心1003,获取/loadInfo下注册的子节点信息,并对/loadInfo节点进行监听,一旦/loadInfo节点下发生变化,ZKLoadThread线程会及时获取ZooKeeper服务器最新的负载信息。具体的,客户端1001可调用所述预设ZKLoadThread线程连接所述服务器注册中心1003,对所述服务器注册中心中1003已注册的服务器进行监听,以获取所述已注册的服务器对应的综合负载信息,然后从获取的综合负载信息中读取所述待连接服务器对应的综合负载信息。

本实施例中,判断待连接服务器是否满足预设连接条件的方式可以是检测综合负载信息中的某一种信息对应的参数值是否超过或不超过预先设定的数值,还可以是检测综合负载信息中两种或几种信息对应的加权平均值是否超过或不超过预先设定的数值。

在具体实现中,客户端1001可调用预设ZKLoadThread线程从服务器注册中心1003获取待连接服务器对应的综合负载信息,然后根据所述综合负载信息判断待连接服务器是否满足上述预设连接条件。

进一步地,考虑到影响服务器运行速率的负载信息众多,为提高会话连接效率,本实施例中所述综合负载信息主要包括系统负载、中央处理器利用率、内存占用率以及磁盘利用率。相应地,本实施例中客户端1001,还用于根据所述系统负载、所述中央处理器利用率、所述内存占用率以及所述磁盘利用率判断所述待连接服务器是否满足预设连接条件。

其中,系统负载被定义为特定时间间隔内运行队列中的平均进程数,它包含的信息不是CPU的使用率状况,而是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息,系统负载可通过proc/loadavg文件获取。例如,可采集5分钟内的系统负载,然后计算单个服务器的系统负载θload,服务器的核数Numcpu可以通过命令grep'model name'/proc/cpuinfo|wc-l来获取。

本实施例服务器系统负载的计算公式如下:

Numcpu=grep'model name'/proc/cpuinfo|wc-l

式中,Lavg_n,n=5即为5分钟内的系统平均负载值。

进一步地,中央处理器利用率,即CPU利用率,可通过proc/stat文件获取,pro/stat文件中存放有实时的CPU状态信息。CPU利用率即处于繁忙阶段的时间片占总CPU时间片的比值,表示机器在某个时间点的运行的情况,CPU使用率越高,说明服务器比较繁忙,反之,则比较空闲。

本实施例每隔5秒统计一次CPU的状态数据,并通过下式计算CPU总的时间片Total2和空闲时间片Total1以及CPU利用率θcpu,下式中总时间片对应的参数编码为“2”和空闲时间片对应的参数编码为“1”)

Total1=user1+nice1+system1+idle1+iowait1+irq1+softirq1+steal1+guest1

Total2=user2+nice2+system2+idle2+iowait2+irq2+softirq2+steal2+guest2

式中,user为CPU处于用户态的时间,nice为CPU用户态处于低优先级的进程执行时间,System为CPU处于核心态的时间,Idle为系统处于idle进程的时间,该值为USER_HZ乘以/proc/uptime文件中的第二个字段的值,Iowait为CPU处于I/O等待的时间,Irq为CPU在中断服务程序的时间开销,Softirq为CPU处理软件中断的时间,Steal为虚拟环境被其他操作系统占用的CPU时间,Guest为内核控制下虚拟出来的CPU访问客户操作系统的时间。

进一步地本实施例中,所述内存占用率θmem则可通过读取proc/meminfo文件来获取,计算内存占用率涉及到的主要指标有:MenTotal、MemFree、Buffers以及Cached,且内存占用率的计算公式如下:

式中,MemTotal表示系统所有可用的随机存取存储器大小,MemFree表示系统尚未使用的内存,Buffers表示用来给文件做缓冲的大小,Cached则表示被高速缓冲存储器用的内存的大小。

进一步地,本实施例中磁盘利用率θi/o,也称磁盘I/O利用率,在Linux系统的终端下可以通过iostat命令获取。通常情况下磁盘活动时间百分比由%util表示,即磁盘I/O利用率磁盘利用率与资源竞争程度成正比,与性能成反比。如果磁盘利用率超过70%,对读写进行来说,则需要更长的时间完成I/O操作,当这种情况发生后,绝大多数进程在等待的过程中将被阻塞或休眠。本实施例中磁盘I/O利用率的计算公式为:θi/o=%util。

在具体实现中,客户端1001可根据获取到的系统负载、中央处理器利用率、内存占用率以及磁盘利用率判断待连接服务器是否满足预设连接条件,若满足所述预设连接条件,则直接将待连接服务器作为目标服务器并与之建立会话连接,或从待连接服务器中选取一个服务器作为目标服务器建立会话连接。

所述客户端1001,还用于在所述待连接服务器不满足所述预设连接条件时,通过预设地址列表管理器1002从本地预存的集群服务器地址列表中选取一目标服务器地址;

需要说明的是,本实施例中所述预设地址列表管理器1002可调用ServerAddressThread线程定时从服务器注册中心1003中获取ZooKeeper服务器地址,然后将获取到的服务器地址与本地预存的集群服务器地址列表中的服务器地址进行比对,若发现需要进行地址列表更新则对获取到的服务器地址按网络延时进行排序后更新至集群服务器地址列表,从而得到最新的集群服务器地址列表。

在具体实现中,若客户端1001在检测到待连接服务器不满足预设连接条件时,可通过预设地址列表管理器1002从本地预存的集群服务器地址列表中选取一目标服务器地址。本实施例中所述目标服务器地址的选取方式可以使随机选取,还可以是根据实际情况设定筛选策略(例如选取网络延时最小的服务器)来选取,本实施例对此不作限制。

所述客户端1001,还用于根据所述目标服务器地址确定对应的目标服务器,并与所述目标服务器建立会话连接。

在具体实现中,客户端1001在筛选出目标服务器地址后,即可根据所述目标服务器地址确定对应的目标服务器,然后与所述目标服务器建立会话连接,由目标服务器来进行后续的请求响应。

本实施例客户端在接收到会话连接请求时,获取会话连接请求对应的待连接服务器;调用预设线程从服务器注册中心获取待连接服务器对应的综合负载信息,并根据综合负载信息判断待连接服务器是否满足预设连接条件;若不满足,则通过预设地址列表管理器从本地预存的集群服务器地址列表中选取一目标服务器地址;然后根据目标服务器地址确定对应的目标服务器,并与目标服务器建立会话连接。由于本实施例是根据服务器对应的综合负载信息来对待连接的服务器进行筛选,在筛选出的服务器不满足连接条件时从本地集群服务器中重新选取目标服务器建立会话连接,能够保证筛选出的目标服务器稳定的为客户端提供会话服务,较大程度的避免由于负载较高导致的服务器宕机造成会话中断情况的发生。

基于上述基于服务器负载状态的会话处理系统的第一实施例,提出本发明基于服务器负载状态的会话处理系统的第二实施例。

本实施例中,所述客户端1001,还用于根据所述系统负载、所述中央处理器利用率、所述内存占用率以及所述磁盘利用率,通过预设公式计算出所述待连接服务器对应的综合负载值;其中,所述预设公式为:

CHSLoad=θloadcpumemi/o

上式中,CHSLoad为综合负载值,θload为系统负载,θcpu为中央处理器利用率,θmem为内存占用率,θi/o为磁盘利用率。

在具体实现中,客户端1001可根据获取到的所述系统负载、所述中央处理器利用率、所述内存占用率以及所述磁盘利用率,然后通过上述预设公式计算出待连接服务器对应的综合负载值。

所述客户端1001,还用于根据所述综合负载值确定所述待连接服务器对应的当前负载状态,并根据所述当前负载状态判断所述待连接服务器是否满足预设连接条件;

需要说明的是,本实施例中所述当前负载状态包括低负载、正常负载和高负载。本实施例中每一种负载状态对应的综合负载值CHSLoad,系统负载θload,中央处理器利用率θcpu,内存占用率θmem以及磁盘利用率θi/o具体可见下表1,如下所示,表1为负载状态指标评价表。

表1负载状态指标评价表

由上述表1可知,当待连接服务器的综合负载值属于[0,2.40)范围时,处于低负载状态,当待连接服务器的综合负载值属于[2.40,3.45)范围时,处于正常负载状态,当待连接服务器的综合负载值属于[3.45,+∞)范围时,处于高负载状态。

本实施例客户端根据系统负载、中央处理器利用率、内存占用率以及磁盘利用率通过预设公式计算出待连接服务器对应的综合负载值;再根据综合负载值确定待连接服务器对应的当前负载状态,然后根据当前负载状态判断待连接服务器是否满足预设连接条件,从而能够确定是否需要选取待连接服务器之外的其它负载状况良好的服务器来建立会话连接,能够最大限度的保证选取的目标服务器能够稳定运行,避免服务器宕机造成会话中断的情况。

基于上述基于服务器负载状态的会话处理系统的上述第一实施例,提出本发明基于服务器负载状态的会话处理系统的第三实施例。

本实施例中,所述客户端1001,还用于通过所述预设地址列表管理器从所述服务器注册中心1003获取分布式集群对应的当前服务器地址列表;

需要说明的是,本实施例中所述分布式集群为服务器中心1003中已注册的服务器所在的分布式服务器集群。所述当前服务器地址列表即服务器中心1003中最近一次更新的服务器地址列表。

在具体实现中,客户端1001通过预设地址列表管理器从服务器注册中心1003获取分布式集群对应的当前服务器地址列表。

所述客户端1001,还用于检测所述当前服务器地址列表与所述集群服务器地址列表是否一致,若否则获取所述当前服务器地址列表中各服务器地址所对应服务器的网络延时信息;

需要说明的是,所述网络延时信息通常是指一个数据包从用户的计算机发送到网站服务器,然后再立即从网站服务器返回用户计算机的来回时间。通俗的讲,就是数据从电脑这边传到那边所用的时间。本实施例中所述网络延时指的是客户端1001与Zookeeper服务器之间的网络延时。客户端可通过向当前服务器地址列表中的所有服务器发送同样的ping命令,然后记录该ping命令的发送时间t1和接收到该ping命令反馈结果的接收时间t4,再获取各服务器记录并反馈给客户端接收到该ping命令的接收时间t2以及对该ping命令响应结束时将反馈结果返回给客户端时的返回时间t3,最后客户端根据公式“网络延时=(t2-t1)+(t4-t3)”即可计算出各服务器当前的网络延时。

应理解的是,本实施例中若客户端1001在检测到当前服务器地址列表与集群服务器地址列表一致时,表明不需要对客户端1001本地存储的集群服务器地址列表进行更新,反之则需要更新。

在具体实现中,若客户端1001在检测到当前服务器地址列表与集群服务器地址列表不一致时,则获取所述当前服务器地址列表中各服务器地址所对应服务器的网络延时信息。

所述客户端1001,还用于根据所述网络延时信息对所述当前服务器地址列表中包含的服务器地址进行顺序调整,以获得待缓存服务器地址列表;

需要说明的是,本实施例中对服务器进行顺序调整的方式可以是按从小到大的顺序对网络延时信息中包含的网络延时进行大小排序,然后根据排序结果对当前服务器地址列表中包含的服务器地址进行顺序调整,从而获得待缓存服务器地址列表。

所述客户端1001,还用于将所述待缓存服务器地址列表作为新的集群服务器地址列表进行缓存。

在具体实现中,客户端1001在获得上述待缓存服务器地址列表后,即可将其作为新的集群服务器地址列表进行缓存。

本实施例客户端通过预设地址列表管理器从服务器注册中心获取分布式集群对应的当前服务器地址列表;检测当前服务器地址列表与集群服务器地址列表是否一致,若否则获取当前服务器地址列表中各服务器地址所对应服务器的网络延时信息;根据所述网络延时信息对当前服务器地址列表中包含的服务器地址进行顺序调整,以获得待缓存服务器地址列表;将待缓存服务器地址列表作为新的集群服务器地址列表进行缓存,从而能保证客户端本地存储的集群服务器地址列表中存放的服务器地址是最新的服务器地址,也便于客户端从中挑选网络延时较小的服务器对应的服务器地址。

基于上述基于服务器负载状态的会话处理系统的第一实施例,提出本发明基于服务器负载状态的会话处理系统的第四实施例。

本实施例中,所述预设地址列表管理器1002,用于获取本地预存的集群服务器地址列表对应的地址列表长度,并检测所述地址列表长度是否小于预设长度,若是则从本地预存的集群服务器地址列表中选取携带有预设标记的可用服务器地址;

需要说明的是,在ZooKeeper客户端会话中,默认采用StaticHostProvider实现HostProvider接口,本实施例预设地址列表管理器1002则是通过DymicHostProvider实现HostProvier接口。本实施例预设地址列表管理器1002中存放有预先编写的硬件资源监控脚本程序:DynamicHostProvider类。在DynamicHostProvider类中,next(long spinDelay)方法是该类的核心方法,也是客户端负载均衡的核心控制模块。所述预设标记即服务器地址对应的下标为index。

在具体实现中,预设地址列表管理器1002在初次调用next(long spinDelay)方法时,先然获取本地预存的集群服务器地址列表对应的地址列表长度(indxe),将index初始化为0,然后检测所述地址列表长度是否小于预设长度(在此之前需要验证地址列表长度是否为空),若大于则在规定的地址长度范围(即所述预设长度)内随机选取一个服务器地址,然后将该服务器地址对应的服务器作为目标服务器。

同样的,若预设地址列表管理器1002检测到所述地址列表长度小于所述预设长度,则从本地预存的集群服务器地址列表中选取携带有预设标记(下标为index)的可用服务器地址。

所述预设地址列表管理器1002,还用于验证所述可用服务器地址对应的服务器是否处于高负载状态,若否则从所述可用服务器地址中选取一目标服务器地址。

在具体实现中,预设地址列表管理器1002还将验证可用服务器地址对应的服务器是否处于高负载状态,若不处于高负载状态就从可用服务器地址中选取一目标服务器地址。服务器具体的负载状态的验证标准可参考上述第二实施例,此处不再赘述。

考虑到集群服务器地址列表中的服务器地址是按照网络延时的从小到大来进行排列的,因此本实施例中预设地址列表管理器1002还可以从可用服务器地址中选取网络延迟最小的非高负载服务器作为目标服务器,进而能够保证会话连接的稳定建立,提高会话连接效率。

参考图2,图2为本发明基于服务器负载状态的会话处理方法第一实施例的流程示意图。

本实施例中,所述基于服务器负载状态的会话处理方法包括:

步骤S10:在接收到会话连接请求时,获取所述会话连接请求对应的待连接服务器;

需要说明的是,本实施例方法的执行主体可以是具有数据处理、程序运行以及网络通信功能的客户端程序,以下简称客户端。

应理解的是,所述会话连接请求可以是作为服务请求方的(ZooKeeper)客户端发送的与目标服务器建立会话链接的指令。本实施例中客户端需要向服务器注册中心获取所要连接的服务器综合负载信息,然后通过综合负载信息决定该连接哪一个服务器。所述服务器注册中心可以采用ZooKeeper服务器来实现,主要提供所有服务注册的信息存储,供(ZooKeeper)客户端调用。

在具体实现中,客户端在接收到用户触发的会话连接请求时,将根据会话连接请求的请求头中包含的请求资源信息来确定所要访问的服务器。应理解的是,在分布式集群场景中,请求资源信息通常保存在多个服务器中,也就是说本实施例中所述待连接服务器的数量可以是一个也可以是多个。

步骤S20:调用预设线程从服务器注册中心获取所述待连接服务器对应的综合负载信息,并根据所述综合负载信息判断所述待连接服务器是否满足预设连接条件;

应理解的是,本实施例中所述服务器注册中心用于为ZooKeeper服务器提供注册信息的存储和管理服务。各ZooKeeper服务器在服务器注册中心中进行注册时,可先在ZooKeeper注册中心建立目录“/loadInfo”,然后当ZooKeeper服务器启动时,预先配置的采集ZooKeeper服务器硬件资源信息的脚本程序也启动,并在“/loadInfo”目录下创建临时节点目录,节点目录的名称可以为脚本程序所在的ZooKeeper服务器的互联网协议地址(Internet Protocol Address,IP地址)和端口号;然后将脚本程序采集的ZooKeeper服务器硬件资源信息(包括系统负载、中央处理器利用率、内存占用率、磁盘利用率等)保存到本地存储空间。所述负载综合信息可以由上述ZooKeeper服务器根据硬件资源信息计算获得。

需要说明的是,所述预设线程可以是预先设定的ZKLoadThread线程,该线程用于连接服务器注册中心,获取/loadInfo下注册的子节点信息,并对/loadInfo节点进行监听,一旦/loadInfo节点下发生变化,ZKLoadThread线程会及时获取ZooKeeper服务器最新的负载信息。

本实施例中,判断待连接服务器是否满足预设连接条件的方式可以是检测综合负载信息中的某一种信息对应的参数值是否超过或不超过预先设定的数值,还可以是检测综合负载信息中两种或几种信息对应的加权平均值是否超过或不超过预先设定的数值。

在具体实现中,客户端可调用预设ZKLoadThread线程从服务器注册中心获取待连接服务器对应的综合负载信息,然后根据所述综合负载信息判断待连接服务器是否满足上述预设连接条件。

进一步地,考虑到影响服务器运行速率的负载信息众多,为提高会话连接效率,本实施例中所述综合负载信息主要包括系统负载、中央处理器利用率、内存占用率以及磁盘利用率。相应地,本实施例中客户端,还用于根据所述系统负载、所述中央处理器利用率、所述内存占用率以及所述磁盘利用率判断所述待连接服务器是否满足预设连接条件。

其中,系统负载被定义为特定时间间隔内运行队列中的平均进程数,它包含的信息不是CPU的使用率状况,而是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息,系统负载可通过proc/loadavg文件获取。例如,可采集5分钟内的系统负载值,然后计算单个服务器的系统负载θload,服务器的核数Numcpu可以通过命令grep'model name'/proc/cpuinfo|wc-l来获取。

本实施例服务器系统负载的计算公式如下:

Numcpu=grep'model name'/proc/cpuinfo|wc-l

式中,Lavg_n,n=5即为5分钟内的系统平均负载值。

进一步地,中央处理器利用率,即CPU利用率,可通过proc/stat文件获取,pro/stat文件中存放有实时的CPU状态信息。CPU利用率即处于繁忙阶段的时间片占总CPU时间片的比值,表示机器在某个时间点的运行的情况,CPU使用率越高,说明服务器比较繁忙,反之,则比较空闲。

本实施例每隔5秒统计一次CPU的状态数据,并通过下式计算CPU总的时间片Total2和空闲时间片Total1以及CPU利用率θcpu,下式中总时间片对应的参数编码为“2”和空闲时间片对应的参数编码为“1”),

Total1=user1+nice1+system1+idle1+iowait1+irq1+softirq1+steal1+guest1

Total2=user2+nice2+system2+idle2+iowait2+irq2+softirq2+steal2+guest2

式中,user为CPU处于用户态的时间,nice为CPU用户态处于低优先级的进程执行时间,System为CPU处于核心态的时间,Idle为系统处于idle进程的时间,该值为USER_HZ乘以/proc/uptime文件中的第二个字段的值,Iowait为CPU处于I/O等待的时间,Irq为CPU在中断服务程序的时间开销,Softirq为CPU处理软件中断的时间,Steal为虚拟环境被其他操作系统占用的CPU时间,Guest为内核控制下虚拟出来的CPU访问客户操作系统的时间。

进一步地本实施例中,所述内存占用率θmem则可通过读取proc/meminfo文件来获取,计算内存占用率涉及到的主要指标有:MenTotal、MemFree、Buffers以及Cached,且内存占用率的计算公式如下:

式中,MemTotal表示系统所有可用的随机存取存储器大小,MemFree表示系统尚未使用的内存,Buffers表示用来给文件做缓冲的大小,Cached则表示被高速缓冲存储器用的内存的大小。

进一步地,本实施例中磁盘利用率θi/o,也称磁盘I/O利用率,在Linux系统的终端下可以通过iostat命令获取。通常情况下磁盘活动时间百分比由%util表示,即磁盘I/O利用率磁盘利用率与资源竞争程度成正比,与性能成反比。如果磁盘利用率超过70%,对读写进行来说,则需要更长的时间完成I/O操作,当这种情况发生后,绝大多数进程在等待的过程中将被阻塞或休眠。本实施例中磁盘I/O利用率的计算公式为:θi/o=%util。

在具体实现中,客户端可根据获取到的系统负载、中央处理器利用率、内存占用率以及磁盘利用率判断待连接服务器是否满足预设连接条件,若满足所述预设连接条件,则直接将待连接服务器作为目标服务器并与之建立会话连接,或从待连接服务器中选取一个服务器作为目标服务器建立会话连接。

步骤S30:在所述待连接服务器不满足所述预设连接条件时,通过预设地址列表管理器从本地预存的集群服务器地址列表中选取一目标服务器地址;

需要说明的是,本实施例中所述预设地址列表管理器可调用ServerAddressThread线程定时从服务器注册中心中获取ZooKeeper服务器地址,然后将获取到的服务器地址与本地预存的集群服务器地址列表中的服务器地址进行比对,若发现需要进行地址列表更新则对获取到的服务器地址按网络延时进行排序后更新至集群服务器地址列表,从而得到最新的集群服务器地址列表。

在具体实现中,若客户端在检测到待连接服务器不满足预设连接条件时,可通过预设地址列表管理器从本地预存的集群服务器地址列表中选取一目标服务器地址。本实施例中所述目标服务器地址的选取方式可以使随机选取,还可以是根据实际情况设定筛选策略(例如选取网络延时最小的服务器)来选取,本实施例对此不作限制。

步骤S40:根据所述目标服务器地址确定对应的目标服务器,并与所述目标服务器建立会话连接。

在具体实现中,客户端在筛选出目标服务器地址后,即可根据所述目标服务器地址确定对应的目标服务器,然后与所述目标服务器建立会话连接,由目标服务器来进行后续的请求响应。

本实施例客户端在接收到会话连接请求时,获取会话连接请求对应的待连接服务器;调用预设线程从服务器注册中心获取待连接服务器对应的综合负载信息,并根据综合负载信息判断待连接服务器是否满足预设连接条件;若不满足,则通过预设地址列表管理器从本地预存的集群服务器地址列表中选取一目标服务器地址;然后根据目标服务器地址确定对应的目标服务器,并与目标服务器建立会话连接。由于本实施例是根据服务器对应的综合负载信息来对待连接的服务器进行筛选,在筛选出的服务器不满足连接条件时从本地集群服务器中重新选取目标服务器建立会话连接,能够保证筛选出的目标服务器稳定的为客户端提供会话服务,较大程度的避免由于负载较高导致的服务器宕机造成会话中断情况的发生。

参考图3,图3为本发明基于服务器负载状态的会话处理方法第二实施例的流程示意图。

基于上述基于服务器负载状态的会话处理方法的第一实施例,在本实施例中所述综合负载信息包括:系统负载、中央处理器利用率、内存占用率以及磁盘利用率。相应地,所述步骤S20则可细化为包括:

步骤S201:调用预设线程从服务器注册中心获取所述待连接服务器对应的综合负载信息,所述综合负载信息包括:系统负载、中央处理器利用率、内存占用率以及磁盘利用率;

在具体实现中,客户端可调用预设ZKLoadThread线程从服务器注册中心获取待连接服务器对应的上述综合负载信息。

步骤S202:根据所述系统负载、所述中央处理器利用率、所述内存占用率以及所述磁盘利用率判断所述待连接服务器是否满足预设连接条件。

在具体实现中,客户端可根据所述系统负载、所述中央处理器利用率、所述内存占用率以及所述磁盘利用率,通过预设公式计算出所述待连接服务器对应的综合负载值;再根据所述综合负载值确定所述待连接服务器对应的当前负载状态,并根据所述当前负载状态判断所述待连接服务器是否满足预设连接条件;其中,所述预设公式为:

CHSLoad=θloadcpumemi/o

式中,CHSLoad为综合负载值,θload为系统负载,θcpu为中央处理器利用率,θmem为内存占用率,θi/o为磁盘利用率。

需要说明的是,本实施例中所述当前负载状态包括低负载、正常负载和高负载。本实施例中每一种负载状态对应的综合负载值CHSLoad,系统负载θload,由上述基于服务器负载状态的会话处理系统实施例中的表1可知,当待连接服务器的综合负载值属于[0,2.40)范围时,处于低负载状态,当待连接服务器的综合负载值属于[2.40,3.45)范围时,处于正常负载状态,当待连接服务器的综合负载值属于[3.45,+∞)范围时,处于高负载状态。

本实施例客户端根据系统负载、中央处理器利用率、内存占用率以及磁盘利用率通过预设公式计算出待连接服务器对应的综合负载值;再根据综合负载值确定待连接服务器对应的当前负载状态,然后根据当前负载状态判断待连接服务器是否满足预设连接条件,从而能够确定是否需要选取待连接服务器之外的其它负载状况良好的服务器来建立会话连接,能够最大限度的保证选取的目标服务器能够稳定运行,避免服务器宕机造成会话中断的情况。

参考图4,图4为本发明基于服务器负载状态的会话处理方法第三实施例的流程示意图。

基于上述实施例,提出本发明基于服务器负载状态的会话处理方法的第三实施例,在本实施例中,所述步骤S20可包括:

步骤S201′:调用所述预设线程连接所述服务器注册中心,对所述服务器注册中心中已注册的服务器进行监听,以获取所述已注册的服务器对应的综合负载信息;

需要说明的是,所述预设线程可以是预先设定的ZKLoadThread线程,该线程用于连接服务器注册中心,获取/loadInfo下注册的子节点信息,并对/loadInfo节点进行监听,一旦/loadInfo节点下发生变化,ZKLoadThread线程会及时获取ZooKeeper服务器最新的负载信息,从而能够保证综合负载信息具有较高的时效性。

步骤S202':从获取的综合负载信息中读取所述待连接服务器对应的综合负载信息,并根据读取的综合负载信息判断所述待连接服务器是否满足预设连接条件。

在具体实现中,客户端在获取到各服务器对应的综合负载信息后,即可根据待连接服务器对应的服务器标识从中读取待连接服务器对应的综合负载信息,然后根据读取的综合负载信息判断所述待连接服务器是否满足预设连接条件。

进一步地,为保证客户端保存的集群服务器地址列表中存储的服务器地址为最新的服务器地址,本实施例基于服务器负载状态的会话处理方法,还包括以下步骤:

步骤1:通过所述预设地址列表管理器从所述服务器注册中心获取分布式集群对应的当前服务器地址列表;

需要说明的是,本实施例中所述分布式集群为服务器中心中已注册的服务器所在的分布式服务器集群。所述当前服务器地址列表即服务器中心中最近一次更新的服务器地址列表。

在具体实现中,客户端通过预设地址列表管理器从服务器注册中心获取分布式集群对应的当前服务器地址列表。

步骤2:检测所述当前服务器地址列表与所述集群服务器地址列表是否一致,若否则获取所述当前服务器地址列表中各服务器地址所对应服务器的网络延时信息;

需要说明的是,所述网络延时信息通常是指一个数据包从用户的计算机发送到网站服务器,然后再立即从网站服务器返回用户计算机的来回时间。通俗的讲,就是数据从电脑这边传到那边所用的时间。本实施例中所述网络延时指的是客户端与Zookeeper服务器之间的网络延时。客户端可通过向当前服务器地址列表中的所有服务器发送同样的ping命令,然后记录该ping命令的发送时间t1和接收到该ping命令反馈结果的接收时间t4,再获取各服务器记录并反馈给客户端接收到该ping命令的接收时间t2以及对该ping命令响应结束时将反馈结果返回给客户端时的返回时间t3,最后客户端根据公式“网络延时=(t2-t1)+(t4-t3)”即可计算出各服务器当前的网络延时。

应理解的是,本实施例中若客户端在检测到当前服务器地址列表与集群服务器地址列表一致时,表明不需要对客户端本地存储的集群服务器地址列表进行更新,反之则需要更新。

在具体实现中,若客户端在检测到当前服务器地址列表与集群服务器地址列表不一致时,则获取所述当前服务器地址列表中各服务器地址所对应服务器的网络延时信息。

步骤3:根据所述网络延时信息对所述当前服务器地址列表中包含的服务器地址进行顺序调整,以获得待缓存服务器地址列表;

需要说明的是,本实施例中对服务器进行顺序调整的方式可以是按从小到大的顺序对网络延时信息中包含的网络延时进行大小排序,然后根据排序结果对当前服务器地址列表中包含的服务器地址进行顺序调整,从而获得待缓存服务器地址列表。

步骤4:将所述待缓存服务器地址列表作为新的集群服务器地址列表进行缓存。

在具体实现中,客户端在获得上述待缓存服务器地址列表后,即可将其作为新的集群服务器地址列表进行缓存,从而能保证客户端本地存储的集群服务器地址列表中存放的服务器地址是最新的服务器地址,也便于客户端从中挑选网络延时较小的服务器对应的服务器地址。

进一步地,为能够保证会话连接的稳定建立,提高会话连接效率,本实施例基于服务器负载状态的会话处理方法,还包括以下步骤:

步骤5:预设地址列表管理器获取本地预存的集群服务器地址列表对应的地址列表长度,并检测所述地址列表长度是否小于预设长度,若是则从本地预存的集群服务器地址列表中选取携带有预设标记的可用服务器地址;

需要说明的是,在ZooKeeper客户端会话中,默认采用StaticHostProvider实现HostProvider接口,本实施例预设地址列表管理器则是通过DymicHostProvider实现HostProvier接口。本实施例预设地址列表管理器中存放有预先编写的硬件资源监控脚本程序:DynamicHostProvider类。在DynamicHostProvider类中,next(long spinDelay)方法是该类的核心方法,也是客户端负载均衡的核心控制模块。所述预设标记即服务器地址对应的下标为index。

在具体实现中,预设地址列表管理器在初次调用next(long spinDelay)方法时,先然获取本地预存的集群服务器地址列表对应的地址列表长度(indxe),将index初始化为0,然后检测所述地址列表长度是否小于预设长度(在此之前需要验证地址列表长度是否为空),若大于则在规定的地址长度范围(即所述预设长度)内随机选取一个地址,然后将该地址对应的服务器作为目标服务器。

同样的,若预设地址列表管理器检测到所述地址列表长度小于所述预设长度,则从本地预存的集群服务器地址列表中选取携带有预设标记(下标为index)的可用服务器地址。

步骤6:预设地址列表管理器验证所述可用服务器地址对应的服务器是否处于高负载状态,若否则从所述可用服务器地址中选取一目标服务器地址。

在具体实现中,预设地址列表管理器还将验证可用服务器地址对应的服务器是否处于高负载状态,若不处于高负载状态就从可用服务器地址中选取一目标服务器地址。

考虑到集群服务器地址列表中的服务器地址是按照网络延时的从小到大来进行排列的,本实施例中所述预设地址列表管理器还从可用服务器地址中选取网络延迟最小的非高负载服务器作为目标服务器,从而保证会话连接的稳定建立,提高会话连接效率。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

基于服务器负载状态的会话处理系统及方法专利购买费用说明

专利买卖交易资料

Q:办理专利转让的流程及所需资料

A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。

1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。

2:按规定缴纳著录项目变更手续费。

3:同时提交相关证明文件原件。

4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。

Q:专利著录项目变更费用如何缴交

A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式

Q:专利转让变更,多久能出结果

A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。

动态评分

0.0

没有评分数据
没有评价数据
×

打开微信,点击底部的“发现”

使用“扫一扫”即可将网页分享至朋友圈

×
复制
用户中心
我的足迹
我的收藏

您的购物车还是空的,您可以

  • 微信公众号

    微信公众号
在线留言
返回顶部