本发明专利技术公开了一种会话的管理方法及系统,该方法包括:预先分别使用红黑树和哈希表组织多个会话,其中,红黑树的每个节点包括关键字及节点值,关键字为超时时间,节点值为该超时时间所对应的所有会话名称的集合;哈希表的每一项包括键对象和值对象,且键对象为会话名称,值对象包括超时时间和会话信息;在红黑树中以超时时间为关键字查找相应的会话名称,且在哈希表中以会话名称为键对象查找相应的超时时间和会话信息。实施本发明专利技术的技术方案可通过会话名称或超时时间中的任一者查找相应的会话,从而提高了会话检测的效率。
【技术实现步骤摘要】
一种会话的管理方法及系统
本专利技术涉及网络
,尤其涉及一种会话的管理方法及系统。
技术介绍
在通信网络中,会话指网络服务器与客户端之间的连接及相关状态,网络服务器与客户端的会话如果在一定的时间间隔内没有请求则认为会话超时,而后服务器会回收相关资源,以提高利用率。一个会话通常包括会话名称、超时时间和会话信息,其中,会话名称用来唯一标识一次会话,一般以用户ID或者用户名作为会话名称;超时时间一般使用unix时间戳,unix时间戳是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数;会话信息是保存与会话、与用户相关的信息的数据结构,可以是用户登录时间,最后活动时间,业务数据等。目前,通常通过遍历链表中的所有会话来进行检测会话,但是,这种遍历的检测方式存在弊端,如果会话数量庞大,检测效率会比较低下,随着管理的会话的数量增大,这种检测方式的效率会越来越差;而且,这种检测方法无法根据会话名称来检测所对应的超时时间。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述效率低且无法根据会话名称来检测所对应的超时时间的缺陷,提供一种会话的管理方法及系统,效率高且可根据会话名称来检测所对应的超时时间。本专利技术解决其技术问题所采用的技术方案是:构造一种会话的管理方法,包括:预先分别使用红黑树和哈希表组织多个会话,其中,红黑树的每个节点包括关键字及节点值,所述关键字为超时时间,所述节点值为该超时时间所对应的所有会话名称的集合;哈希表的每一项包括键对象和值对象,且所述键对象为会话名称,所述值对象包括超时时间和会话信息;在所述红黑树中以超时时间为关键字查找相应的会话名称,且在所述哈希表中以会话名称为键对象查找相应的超时时间和会话信息。在本专利技术所述的会话的管理方法中,在插入会话时,进行以下步骤:在所述哈希表中:根据待插入的会话名称计算相应的哈希值,并根据所计算的哈希值计算在所述哈希表中的相应位置;在所述相应位置插入会话名称与超时时间、会话信息的映射;在所述红黑树中:根据待插入的超时时间查找所述超时时间相应的节点;若查找到相应的节点,则将所述哈希表中与所述超时时间对应的会话名称添加到所述相应节点的节点值中;若查找不到相应的节点,则以所述超时时间为关键字创建节点,并将所述哈希表中与所述超时时间对应的会话名称添加到所创建节点的节点值中。在本专利技术所述的会话的管理方法中,在修改特定会话名称的超时时间时,进行以下步骤:根据所述特定会话名称,在所述哈希表中查找相应的超时时间和会话信息,并修改哈希表中所述特定会话名称所对应的超时时间;在所述红黑树中以所查找到的超时时间为关键字查找相应的节点,并在所查找到的节点的节点值中删除所述特定会话名称;在所述红黑树中以新的超时时间为关键字查找相应的节点,且在查找到相应的节点时,将所述特定会话名称添加到该节点的节点值中;在查找不到相应的节点时,以所述新的超时时间为关键字创建节点,并将所述特定会话名称添加到所创建节点的节点值中。在本专利技术所述的会话的管理方法中,在超时检测时,进行以下步骤:在所述红黑树中依次从各个节点中找到超时时间小于当前时间的节点,并返回所查找到的相应节点所对应的会话名称。本专利技术还构造一种会话的管理系统,包括:存储模块,用于预先分别使用红黑树和哈希表组织多个会话,其中,红黑树的每个节点包括关键字及节点值,所述关键字为超时时间,所述节点值为该超时时间所对应的所有会话名称的集合;哈希表的每一项包括键对象和值对象,且所述键对象为会话名称,所述值对象包括超时时间和会话信息;查找模块,用于在所述红黑树中以超时时间为关键字查找相应的会话名称,且在所述哈希表中以会话名称为键对象查找相应的超时时间和会话信息。在本专利技术所述的会话的管理系统中,还包括:用于插入会话的插入模块,且所述插入模块包括:第一插入单元,用于在所述哈希表中,根据待插入的会话名称计算相应的哈希值,并根据所计算的哈希值计算在所述哈希表中的相应位置;而且,在所述相应位置插入会话名称与超时时间、会话信息的映射;第二插入单元,用于在所述红黑树中,根据待插入的超时时间查找相应的节点;若查找到相应的节点,则将所述哈希表中与所述超时时间对应的会话名称添加到所述相应节点的节点值中;若查找不到相应的节点,则以所述超时时间为关键字创建节点,并将所述哈希表中与所述超时时间对应的会话名称添加到所创建节点的节点值中。在本专利技术所述的会话的管理系统中,还包括用于修改特定会话名称的超时时间的修改模块,且所述修改模块包括:第一修改单元,用于根据所述特定会话名称,在所述哈希表中查找相应的超时时间和会话信息,并将所述哈希表中所述特定会话名称所对应的超时时间修改为新的超时时间;第二修改单元,用于在所述红黑树中以所查找到的超时时间为关键字查找相应的节点,并在所查找到的节点的节点值中删除所述特定会话名称;然后,在所述红黑树中以新的超时时间为关键字查找相应的节点,若查找到相应的节点,则将所述特定会话名称添加到该节点的节点值中;若查找不到相应的节点,则以所述新的超时时间为关键字创建节点,并将所述特定会话名称添加到所创建节点的节点值中。在本专利技术所述的会话的管理系统中,还包括:超时检测模块,用于在所述红黑树中依次从各个节点中找到超时时间小于当前时间的节点,并返回所查找到的相应节点所对应的会话名称。实施本专利技术的技术方案,在进行会话检测时,可在红黑树中以超时时间为关键字查找相应的会话名称,而且,还可在哈希表中以会话名称为键对象查找相应的超时时间和会话信息,亦即可通过会话名称或超时时间中的任一者查找相应的会话,从而提高了会话检测的效率。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1是本专利技术使用红黑树组织多个会话实施例一的示意图;图2是本专利技术使用哈希表组织多个会话实施例一的示意图;图3是本专利技术会话的管理方法实施例一的流程图;图4是本专利技术会话的管理系统实施例一的逻辑图;图5是本专利技术会话的管理系统实施例二的逻辑图。具体实施方式图1是本专利技术使用红黑树组织多个会话实施例一的示意图,红黑树上包括多个节点,每个节点包括关键字和节点值,其中,关键字是超时时间,节点值为该超时时间所对应的所有会话名称的集合,例如,超时时间为1的节点的节点值(会话名称)为se10,超时时间为2的节点的节点值为se20、se21,超时时间为3的节点的节点值为se30、se31,超时时间为4的节点的节点值为se40、se41,超时时间为5的节点的节点值为se50、se51,超时时间为6的节点的节点值为se60、se61、se62,超时时间为7的节点的节点值为se70、se71,依此类推。图2是本专利技术使用哈希(hash)表组织多个会话实施例一的示意图,哈希表包括多个项,每一项包括键对象和值对象,且所述键对象为会话名称,所述值对象包括超时时间和会话信息。例如,会话名称为se10的值对象为1(超时时间)和data10(会话信息),会话名称为se20的值对象为2和data20,会话名称为se21的值对象为2和data21,会话名称为se40的值对象为4和data40,会话名称为se41的值对象为4和data41,会话名称为se60的值对象为6和data60,依此类推。图3本文档来自技高网...
【技术保护点】
一种会话的管理方法,其特征在于,包括:预先分别使用红黑树和哈希表组织多个会话,其中,红黑树的每个节点包括关键字及节点值,所述关键字为超时时间,所述节点值为该超时时间所对应的所有会话名称的集合;哈希表的每一项包括键对象和值对象,且所述键对象为会话名称,所述值对象包括超时时间和会话信息;在所述红黑树中以超时时间为关键字查找相应的会话名称,且在所述哈希表中以会话名称为键对象查找相应的超时时间和会话信息。
【技术特征摘要】
1.一种会话的管理方法,其特征在于,包括:预先分别使用红黑树和哈希表组织多个会话,其中,红黑树的每个节点包括关键字及节点值,所述关键字为超时时间,所述节点值为该超时时间所对应的所有会话名称的集合;哈希表的每一项包括键对象和值对象,且所述键对象为会话名称,所述值对象包括超时时间和会话信息;在所述红黑树中以超时时间为关键字查找相应的会话名称,且在所述哈希表中以会话名称为键对象查找相应的超时时间和会话信息;其中,在插入会话时,进行以下步骤:在所述哈希表中:根据待插入会话的会话名称计算相应的哈希值,并根据所计算的哈希值计算在所述哈希表中的相应位置;在所述相应位置插入会话名称与超时时间、会话信息的映射;在所述红黑树中:根据待插入会话的超时时间查找所述超时时间相应的节点;若查找到相应的节点,则将所述哈希表中与所述超时时间对应的会话名称添加到所述相应节点的节点值中;若查找不到相应的节点,则以所述超时时间为关键字创建节点,并将所述哈希表中与所述超时时间对应的会话名称添加到所创建节点的节点值中。2.根据权利要求1所述的会话的管理方法,其特征在于,在修改特定会话的超时时间时,进行以下步骤:根据所述特定会话的会话名称,在所述哈希表中查找相应的超时时间和会话信息,并修改哈希表中所述特定会话名称所对应的超时时间;在所述红黑树中以所查找到的超时时间为关键字查找相应的节点,并在所查找到的节点的节点值中删除所述特定会话名称;在所述红黑树中以修改后的超时时间为关键字查找相应的节点,且在查找到相应的节点时,将所述特定会话名称添加到该节点的节点值中;在查找不到相应的节点时,以所述修改后的超时时间为关键字创建节点,并将所述特定会话名称添加到所创建节点的节点值中。3.根据权利要求1所述的会话的管理方法,其特征在于,在超时检测时,进行以下步骤:在所述红黑树中依次从各个节点中找到超时时间小于当前时间的节点,并返回所查找到的相应节点所对应的会话名称。4.一种会话的管理系统,其特征在于,包括:存储模块,用于预先分别使用红黑树...
【专利技术属性】
技术研发人员:刘小杰,
申请(专利权)人:深圳市快播科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。