CN1901537A - 自适应会话压缩管理方法、压缩管理器及会话管理系统 - Google Patents

自适应会话压缩管理方法、压缩管理器及会话管理系统 Download PDF

Info

Publication number
CN1901537A
CN1901537A CN 200510085305 CN200510085305A CN1901537A CN 1901537 A CN1901537 A CN 1901537A CN 200510085305 CN200510085305 CN 200510085305 CN 200510085305 A CN200510085305 A CN 200510085305A CN 1901537 A CN1901537 A CN 1901537A
Authority
CN
China
Prior art keywords
state information
compression
session state
session
manager
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.)
Pending
Application number
CN 200510085305
Other languages
English (en)
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN 200510085305 priority Critical patent/CN1901537A/zh
Priority to US11/996,485 priority patent/US8943223B2/en
Priority to JP2008521917A priority patent/JP4831785B2/ja
Priority to PCT/EP2006/063707 priority patent/WO2007009865A1/en
Publication of CN1901537A publication Critical patent/CN1901537A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms

Abstract

本发明提供了一种应用服务器中的自适应会话压缩管理方法及压缩管理器,该压缩管理方法包括:获取来自应用服务器的会话管理器的被指示为需要保存的会话状态信息;根据该会话状态信息以及与系统资源状况有关的配置信息确定是否对该会话状态信息进行压缩;在需要对该会话状态信息进行压缩时,根据该应用服务器的系统资源状况确定最优的压缩器和最优的压缩方式,对该会话状态信息进行压缩;以及,将所述会话状态信息存储在会话管理器的指定位置,在该会话状态信息经过压缩的情况下,将对其进行压缩的压缩器的类型信息随同该会话状态信息一起存储。本发明确定适当的时间和适当的方式对会话信息进行压缩,能够极大地提高应用服务器的性能和能力。

Description

自适应会话压缩管理方法、压缩管理器及会话管理系统
技术领域
本发明涉及应用服务器中的会话管理,具体地,涉及应用服务器中的自适应会话压缩技术。
背景技术
随着计算机网络的发展,各种应用服务器应运而生。从历史角度来看,Web应用服务器是从各种中间件产品和技术中脱化而来的。Web应用服务器(或简称为应用服务器)是分布式中间件软件实施产品,其作用相当于一个接口,一端连接的是的各种类型的客户机,而另一端连接的是各类后台系统资源。它负责管理客户请求,为业务逻辑提供宿主环境,连接数据、事务处理、目录等后端计算资源。通常,在客户机与应用服务器之间是通过HTTP协议来传输数据的,而HTTP协议是一种无状态协议,也就是说,应用服务器将对于每一页的每一次访问都当作相互无关的访问来处理,而不保留前一次访问的任何信息,即使访问就发生在当前访问的几秒钟之前,因此,应用服务器并不了解有关同一客户机以前请求的任何信息。
于是,为了弥补HTTP协议的这一不足,通常在应用服务器中使用会话管理器来管理所有会话状态信息。会话管理器的作用象一个散列表,对于每个新的会话都产生一个唯一的标识符,称为会话ID,以该会话ID作为关键值保存所有会话状态信息。在客户机对应用服务器进行访问期间,会话管理器会对这些会话状态信息进行维护。同时,会话ID还以Cookie的形式保存在客户端的浏览器中。
会话状态信息通常可以保存在应用服务器的内存、文件或数据库中,这样就有三种会话管理机制:基于内存的会话管理、基于文件的会话管理和基于数据库的会话管理。
基于内存的会话管理是运行速度最快的一种机制,它一般在应用服务器的内存中专门开辟一块共享内存区域,在这片内存区域中可直接快速地存取会话状态信息。这种机制对应用服务器的系统配置要求较高,需要系统资源能够承载较高的访问量,否则不仅不能提高访问速度,相反地还会因系统资源不足造成服务器负载过重。
基于文件的会话管理是使用最广泛的一种机制,会话状态信息一般以文本文件的形式存放在应用服务器的硬盘中。这种机制易于实现,对服务器的系统配置要求不高,但是存放会话状态信息的文件之间缺乏逻辑联系,当并发的访问量很大时会话管理的文件数目将增长很快,这不仅大大增加设计会话管理机制的难度,也会相应地影响存取会话信息的速度。
基于数据库的会话管理是最容易扩展的一种机制,它需要应用服务器有一个网络数据库系统支撑,会话状态信息全部存放在网络数据库中,在数据库系统的支持下会话管理可以充分利用数据库具有的事务处理、安全存取和数据完整性检验等机制,有效地管理所有的会话状态信息。
会话管理技术的采用,不仅解决了会话状态信息的存取问题,而且大大方便了应用服务器应用程序的开发。
但是,无论采用哪一种会话管理机制,当用户经常需要建立较多或较大的会话对象时,将会占用应用服务器的大量存储空间。尤其是在会话关系密切和持续环境下或在系统负载繁重环境下,应用服务器的性能和能力将会极大地降低。大对象的序列化/反序列化及I/O将成为应用服务器的瓶颈。
因此,需要有一种技术能够有效地减轻用户会话状态信息为系统带来的负担。
发明内容
为了解决上述问题,本发明提出一种应用服务器中的自适应会话压缩管理方法和压缩管理器,通过根据需要保存的会话状态信息的大小和系统资源状况(如CPU、内存)自动选择最优的压缩器和压缩方式,对用户的会话状态信息进行自适应压缩,从而提升了应用服务器的性能。
根据本发明的一个方面,提供了一种应用服务器中的自适应会话压缩管理器,包括:
压缩判断部件,用于根据会话状态信息以及与系统资源状况有关的配置信息,判断是否需要对所述会话状态信息进行压缩;
压缩方式决策部件,用于在需要对所述会话状态信息进行压缩的情况下,根据应用服务器的系统资源状况,确定最优的压缩器和压缩方式,并通知相应的压缩器;以及
压缩器,用于根据来自压缩方式决策部件的命令,对会话状态信息进行压缩。
根据本发明的另一方面,提供了一种应用服务器中的自适应会话压缩管理方法,包括:
获取来自应用服务器中的会话管理器的被指示为需要保存的会话状态信息;
根据该会话状态信息以及与系统资源状况有关的配置信息确定是否对该会话状态信息进行压缩;
在需要对该会话状态信息进行压缩时,根据该应用服务器的系统资源状况确定最优的压缩器和最优的压缩方式,对该会话状态信息进行压缩;以及
将所述会话状态信息存储在会话管理器的指定位置,在该会话状态信息经过压缩的情况下,将对其进行压缩的压缩器的类型信息随同该会话状态信息一起存储。
根据本发明的另一方面,提供了一种自适应会话管理系统,包括:会话管理器,用于对用户与应用的会话状态信息进行管理和维护;会话状态信息呈递部件,用于在上述会话管理器与应用之间传递用户的会话状态信息;接口单元,用户或该应用服务器的系统管理员通过该接口在配置文件中设置配置信息;以及上述的应用服务器中的自适应会话压缩管理器。
本发明的优点在于:
1.根据本发明的应用服务器中的自适应会话压缩,可以在会话信息中有大对象时提高系统性能。由于Java程序在大对象序列化和反序列化时需要花费大量的时间,而将大的对象压缩后可以大大减少这个时间,从而能够提升系统性能。
2.根据本发明的应用服务器中的自适应会话压缩,可以增加应用服务器中能够承载的用户数量。通过对系统资源更有效的使用,可以使得CPU和内存等资源都得到比较平均的负载,从而增加系统容量。
3.根据本发明的应用服务器中的自适应会话压缩,通过对会话信息的压缩和管理,能够提高系统容错性。
附图说明
相信通过以下结合附图对本发明具体实施方式的说明,能够使人们更好地了解本发明上述的特点、优点和目的。
图1是根据本发明一个实施例的自适应会话管理系统的示意图;
图2是根据本发明一个实施例的应用服务器中的自适应会话压缩管理器的方框图;
图3是根据本发明一个实施例的应用服务器中的自适应会话压缩管理方法中压缩过程的流程图;以及
图4是根据本发明一个实施例的应用服务器中的自适应会话压缩管理方法中解压缩过程的流程图。
具体实施方式
首先,在对本发明优选实施方式进行详细描述之前,先来了解一下应用服务器中的会话管理机制。下面以Servlet的会话管理机制为例进行说明。
如上所述,HTTP是一种无状态的协议。这意味着Web应用并不了解有关同一用户以前请求的信息。维持会话信息的方法之一是使用Servlet或者JSP容器提供的会话跟踪功能。Servlet API规范定义了一个简单的HttpSession接口,通过它可以方便地实现会话跟踪。
HttpSession接口提供了存储和返回标准会话属性的方法。标准会话属性如会话标识符、应用数据等,都以“名字-值”对的形式保存。简而言之,HttpSession接口提供了一种将对象保存到内存、在同一用户的后继请求中提取这些对象的标准方法。在会话中保存数据的方法是setAttribute(Strings,Object o),从会话提取原来所保存对象的方法是getAttribute(String s)。
要获得HttpSession对象,可以调用HttpServletRequest对象的getSession方法。为了正确地维持会话状态,必须在发送任何应答内容之前调用getSession方法。
每当新用户请求一个使用了HttpSession对象的JSP页面,JSP容器除了发回应答页面之外,它还要向浏览器发送一个特殊的数字。这个特殊的数字称为“会话标识符”,它是一个唯一的用户标识符。此后,HttpSession对象就驻留在内存之中,等待同一用户返回时再次调用它的方法。
在客户端,浏览器保存会话标识符,并在每一个后继请求中将这个会话标识符发送给服务器。会话标识符告诉JSP容器当前请求不是用户发出的第一个请求,服务器以前已经为该用户创建了HttpSession对象。此时,JSP容器不再为用户创建新的HttpSession对象,而是寻找具有相同会话标识符的HttpSession对象,然后建立该HttpSession对象和当前请求的关联。
会话标识符以Cookie的形式在服务器和浏览器之间传送。如果浏览器不支持Cookie,则用户对服务器的后继请求将不会带有会话标识符。结果,JSP容器认为该请求来自一个新用户,它会再创建一个HttpSession对象,而以前创建的HttpSession对象仍旧驻留在内存中,但该用户以前的会话信息却丢失了。
在HTTP协议中,当用户不再活动时不存在显式的终止信号。由于这个原因,应用服务器不知道用户是否还要再次返回,如果不采取某种方法解决这个问题,内存中会积累起大量的HttpSession对象。
因此,用户会话既可以用手工方法作废,也可以自动作废。作废会话意味着从内存中删除HttpSession对象以及它的数据。例如,如果一定时间之内(默认30分钟)用户不再发送请求,Java Web Server自动地作废该用户的会话。
Servlet/JSP会话跟踪机制有着一定的局限,即会话对象保存在应用服务器的内存之中,占用了可观的资源。
因此,本发明的主要思想是增强应用服务器中的会话管理系统,使之能够根据需要保存的会话状态信息的大小、系统资源状况(如CPU或内存)来自动选择最优的压缩器和压缩方式来对会话状态信息进行自适应压缩,以达到增强会话管理系统的性能、提高应用服务器能承载的会话数、提高系统容错性的目的。
下面结合附图对本发明的优选实施例进行详细的说明。
根据本发明的一个方面,提供了一种自适应会话管理系统。下面就结合附图对该系统进行详细说明。
图1是根据本发明一个实施例的自适应会话管理系统的示意图。本实施例的自适应会话管理系统对应用服务器中的会话状态信息进行自适应的管理和维护。
如图1所示,本实施例的自适应会话管理系统110驻留在应用服务器100上,包括会话状态信息呈现部件120和130、会话管理器140、自适应会话压缩管理器150和接口单元160。
会话状态信息呈现部件120,用于获取用户与应用交互过程中的会话状态信息,并通过与会话管理器140之间的接口传递给会话管理器,以在会话管理器140中对此会话状态信息进行管理和维护。
会话状态信息呈现部件130,用于接收对在会话管理器中进行维护的会话状态信息的检索请求,根据该请求通过与会话管理器140的接口从会话管理器140中提取相应的会话状态信息,并在经过自适应会话压缩管理器150的自适应解压缩之后呈现给应用。
会话管理器140用于对会话状态信息进行保存和管理。在会话管理器140中,优选地将会话状态信息作为会话状态对象,在会话ID的索引下进行维护。在会话管理器140中,可采用基于内存的会话管理机制、基于文件的会话管理机制或基于数据库的会话管理机制中的任何一种。在本实施例中,会话管理器140可采用现有的任何类型的会话管理器。会话管理器140接收到来自应用的新建会话的会话状态信息、或应用对已建立的会话进行了更新之后的会话状态信息时,会话管理器140首先将该会话状态信息传递给自适应会话压缩管理器150,同时指示该会话状态信息是新建或更新后需要保存的会话状态信息,以对其进行自适应压缩,然后再将压缩后的会话状态信息保存在指定位置。此外,在某一应用向会话管理器140请求读出已有会话状态信息时,会话管理器140从指定位置提取出所请求的已有会话状态信息,并将其传递给自适应会话压缩管理器150,同时指示该会话状态信息是需要呈现给应用的会话状态信息,以对其进行自适应解压缩,然后再通过会话状态信息呈现部件130将其呈现给应用。会话管理器140与自适应会话压缩管理器150之间通过接口互相传递会话状态信息等有关信息。
自适应会话压缩管理器150,一方面,用于根据需要保存的会话状态信息的大小和系统资源状况(如CPU、内存)自动选择最优的压缩器和压缩方式对来自会话管理器140的被指示为需要保存的会话状态信息进行自适应压缩,并将所使用的压缩器的类型信息与压缩后的会话状态信息一起传递给会话管理器140,以便进行保存。另一方面,对于被指示为要从会话管理器140呈现给应用的已有会话状态信息,判断是否需要对其进行解压缩,以及在需要对其进行解压缩时,根据与该会话状态信息一起存储的压缩器的类型信息,以相应的解压缩器对其进行解压缩,并将解压缩后的会话状态信息返回给会话管理器140,以便呈现给请求该信息的应用。
用户或该应用服务器的系统管理员通过接口单元160在配置文件中设置压缩阈值、压缩器和压缩方式等配置信息。
图2是根据本发明一个实施例的应用服务器中的自适应会话压缩管理器的方框图。
如图所示,该自适应会话压缩管理器150包括会话状态信息缓存部件1510、配置信息获取部件1520、压缩/解压缩判断部件1530、压缩/解压缩方式决策部件1540及压缩/解压缩器1550。
会话状态信息缓存部件1510用于缓存来自应用服务器的会话管理器的新创建或更新后的被指示为需要保存的会话状态信息、或会话管理器从指定位置读出的被指示为要呈现给请求该信息的应用的会话状态信息,以由该自适应会话压缩管理器对其进行自适应压缩/解压缩。会话状态信息缓存部件1510与会话管理器140之间具有可传递会话状态信息及其相关信息的接口。
配置信息获取部件1520用于从一配置文件中获取由用户或该应用服务器的系统管理员设置的配置信息,例如,压缩阈值、压缩器和压缩方式等。以下示出了一个配置文件的例子:
[阈值]//会话状态信息大小超过多少开始压缩,例如500k
Size=500,000
[压缩器]//用户可以在这里指定所希望使用的压缩器
Zip=Zipcompressor
Rar=Rarcompressor…
[CPU]//用户在这里可以指定CPU使用率与对应的压缩方式之间的关系,如最大、或不压缩等,数字表示百分比
20=Best
50=Normal
70=Fast
80=None
[内存]//用户在这里可以指定内存使用率与压缩方式之间的关系,数字表示百分比
20=Fast
50=Normal
70=Best
在本实施例中,一方面,压缩/解压缩判断部件1530将会话状态信息缓存部件1510中被指示为需要保存到会话管理器140中的会话状态信息的大小与配置文件中的压缩阈值进行比较,判断是否对该会话状态信息进行压缩。当该会话状态信息的大小超过该阈值时,通知压缩方式决策部件1540选取最优的压缩方式。另一方面,压缩/解压缩判断部件1530判断会话状态信息缓存部件1510中被指示为需要呈现给请求该信息的应用的已有会话状态信息是否经过了压缩。如果该信息经过了压缩,则将此情况通知给压缩/解压缩方式决策部件1540。
压缩/解压缩方式决策部件1540,一方面,根据压缩/解压缩判断部件1530的指示,基于配置文件中设置的希望使用的压缩器和对压缩方式的要求、以及该应用服务器的系统资源状况,选取最优的压缩器和最优的压缩方式,并通知压缩/解压缩器1550中该最优的压缩器对会话状态信息缓存部件1510中当前被指示为需要压缩的会话状态信息进行压缩。另一方面,压缩/解压缩方式决策部件1540,根据压缩/解压缩判断部件1530的指示,获取与会话状态信息缓存部件1510中当前被指示为需要解压缩的会话状态信息一起存储的压缩器的类型信息,确定与该压缩器对应的解压缩器,并通知给压缩/解压缩器1550中该相应的解压缩器对其进行解压缩。在本实施例中,与上面所述的压缩器对应的解压缩器为Zipdecompressor和Rardecompressor。
需要说明的是,在本实施例中,即使压缩/解压缩判断部件1530根据会话状态信息的大小与配置文件中的压缩阈值,判断应对会话状态信息进行压缩,压缩/解压缩方式决策部件1540也可能根据应用服务器的系统资源状况做出不进行压缩的决定。例如,在CPU使用率超过80%时,压缩/解压缩方式决策部件1540选取的最优压缩器和最优的压缩方式将是“None”,即:不进行压缩。在此情况下,压缩/解压缩方式决策部件1540不激活任何压缩/解压缩器,会话状态信息缓存部件1510会将原始会话状态信息返回给会话管理器140。
压缩/解压缩器1550中由压缩/解压缩方式决策部件1540确定的压缩/解压缩器在压缩/解压缩方式决策部件1540的指示下,以所确定的最优压缩/解压缩方式对会话状态信息缓存部件1510中的会话状态信息进行压缩/解压缩。在压缩的情况下,将对会话状态信息进行压缩操作的压缩器的类型信息与该压缩后的会话状态信息一起存储在会话状态信息缓存部件1510中。而该会话状态信息缓存部件1510则将压缩后的会话状态信息与压缩器的类型信息一起返回给会话管理器140。在解压缩的情况下,对指定会话状态信息进行解压缩操作的解压缩器将解压缩后的信息存储在会话状态信息缓存部件1510中,进而,会话管理器140将其通过会话状态信息呈现部件130呈现给请求的应用。
需要指出的是,在压缩/解压缩判断部件1530确定不需要对被指示为将要保存在会话管理器140中的会话状态信息进行压缩的情况下,会话状态信息缓存部件1510将该信息直接返回给会话管理器140。此外,在不需要对被指示为要呈现给应用的会话状态信息进行解压缩的情况下,自适应会话压缩管理器150可以将该信息通过会话状态信息呈现部件130直接返回给请求的应用。
此外还需要指出的是,尽管在以上实施例中,将与解压缩有关的部件也包括在自适应会话压缩管理器150中,但是对于本领域一般技术人员来说很明显,这些与解压缩有关的部件也可以从自适应会话压缩管理器150中分离出去,集成为一个单独的部件。
与此相应,根据本发明的另一方面,提出了一种应用服务器中的自适应会话压缩管理方法。该方法包括两方面:一方面是对新建或更新后需要保存在会话管理器中的会话状态信息进行的自适应压缩过程,另一方面是对会话管理器从指定位置读出需要呈现给请求应用的会话状态信息进行的自适应解压缩过程。图3是根据本发明一个实施例的应用服务器中的自适应会话压缩管理方法中压缩过程的流程图。
如图所示,在步骤310,获取来自应用服务器的会话管理器的被指示为新创建或更新后需要保存的会话状态信息。
在步骤320,判断该会话状态信息的大小是否超过预设的压缩阈值。其中,该阈值由用户或应用服务器的系统管理员在配置文件中设定。该配置文件如上面所描述的那样。在该步骤中,如果该会话状态信息的大小超过配置文件中的压缩阈值,则该过程转到步骤330,否则,该过程转到步骤350。
在步骤330,根据配置文件中设置的希望使用的压缩器和对压缩方式的要求,并根据该应用服务器的系统资源状况确定最优的压缩器和最优的压缩方式。
然后,在步骤340,利用上述步骤中确定的最优的压缩器和压缩方式,对该会话状态信息进行压缩。
然后,在步骤350,将该会话状态信息与压缩器的类型信息一起存储在会话管理器中。若该信息未经压缩,则直接存储该会话状态信息,而无压缩器类型信息。
将上述会话状态信息存储在会话管理器的指定位置,在该会话状态信息经过压缩的情况下,将对其进行压缩的压缩器的类型信息随同该会话状态信息一起存储。
对于上述过程,可通过使用应用服务器的公共接口HttpSession的setAttribute(java.lang.String,java.lang.Object)函数将会话状态信息作为会话状态对象,来实现用户自定义的会话状态信息的保存。下面是具体的代码实现:
public class xHttpSession{
//保存的会话状态对象
HttpSession session=null;
//自适应会话压缩管理器
AdaptiveSessionManager asm=
        AdaptiveSessionManager.getInstance();
//构造函数
public xHttpSession(HttpSession session){
    this.session=session;
}
//保存会话信息
public setAttribute(String key,object value){
   //检查是否需要压缩
   if(asm.check(value)==true){
     //如果需要压缩,那么由自适应会话压缩管理器选择合适的压缩
     //器进行压缩,并将压缩后的值放入原本的会话管理器
     object newValue=asm.getCompressor().compress(value);
     session.setAttribute(key,newValue);
   }
}
与此相应,在经上述压缩过程进行了自适应压缩的会话状态信息需要再次呈现时,需要对其进行解压缩。因此,在本发明的应用服务器中的自适应会话压缩管理方法中还存在相应的自适应解压缩过程,该过程的操作对象是经历了上述自适应压缩过程的会话状态信息。图4是根据本发明一个实施例的应用服务器中的自适应压缩管理方法中解压缩过程的流程图。
如图所示,在步骤410,获取会话管理器从指定位置中提取出的被指示为要呈现给请求应用的会话状态信息。
在步骤420,判断该会话状态信息是否经过压缩。如果该信息经过压缩,则该过程前进到步骤430,否则,该过程结束。
在步骤430,提取出在会话管理器中与该会话状态信息一起存储的压缩器的类型信息。
在步骤440,根据在步骤430中提取出的压缩器的类型信息,确定相应的解压缩器。
在步骤450,利用在步骤440中确定的解压缩器,对该会话状态信息进行解压缩。
在步骤460,将解压缩后的该会话状态信息通过该应用服务器的呈现逻辑返回给请求该会话状态信息的应用。
对于上述方法,可通过使用应用服务器的公共接口HttpSession的getAttribute(java.lang.String)函数来实现用户自定义的会话状态信息的读取。下面是具体的代码实现:
//读取会话状态对象
public Object getAttribute(String key){
   //通过系统会话管理器获取值
Object value=session.getAttribute(key);
//检查是否压缩过的value
if(asm.isCompressed(value)){
  value=asm.uncompress(value);
}
return value;}
以上,结合实施例对本发明的应用服务器中的自适应会话压缩管理方法、压缩管理器及会话管理系统进行了描述。应当指出,这些实施例只是示例性的,本领域的技术人员可以在此基础上做出各种改变。

Claims (18)

1.一种应用服务器中的自适应会话压缩管理器,包括:
压缩判断部件,用于根据会话状态信息以及与系统资源状况有关的配置信息,判断是否需要对所述会话状态信息进行压缩;
压缩方式决策部件,用于在需要对所述会话状态信息进行压缩的情况下,根据应用服务器的系统资源状况,确定最优的压缩器和压缩方式,并通知相应的压缩器;以及
压缩器,用于根据来自压缩方式决策部件的命令,对会话状态信息进行压缩。
2.权利要求1所述的自适应会话压缩管理器,还包括:
配置信息获取部件,用于从一配置文件中获取由用户或系统管理员设置的配置信息。
3.权利要求2所述的自适应会话压缩管理器,其中所述配置信息包括:压缩阈值、压缩器和压缩方式。
4.权利要求3所述的自适应会话压缩管理器,其中所述压缩阈值包括关于会话状态信息大小的阈值和关于应用服务器的系统资源的阈值。
5.权利要求3所述的自适应会话压缩管理器,其中所述压缩方式根据该应用服务器中CPU的使用率设定为最佳压缩、正常压缩或不进行压缩。
6.权利要求3所述的自适应会话压缩管理器,其中所述压缩方式根据该应用服务器中内存的使用率设定为快速压缩、正常压缩或最佳压缩。
7.权利要求1所述的自适应会话压缩管理器,还包括:
会话状态信息缓存部件,用于缓存来自会话管理器的被指示为需要保存的会话状态信息。
8.权利要求7所述的自适应会话压缩管理器,其中所述会话状态信息缓存部件与所述会话管理器之间通过接口传递会话状态信息及其相关信息。
9.权利要求1所述的自适应会话压缩管理器,其中所述压缩器包括Zipcompressor和Rarcompressor。
10.权利要求1-9中任何一项所述的自适应会话压缩管理器,还包括:
解压缩判断部件,用于获取来自所述会话管理器的被指示为要呈现给应用的会话状态信息,判断该会话状态信息是否经过压缩,以及在该会话状态信息经过压缩时,通知相应的解压缩器;以及
解压缩器,用于对会话状态信息进行解压缩。
11.一种应用服务器中的自适应会话压缩管理方法,包括:
获取来自应用服务器中的会话管理器的被指示为需要保存的会话状态信息;
根据该会话状态信息以及与系统资源状况有关的配置信息确定是否对该会话状态信息进行压缩;
在需要对该会话状态信息进行压缩时,根据该应用服务器的系统资源状况确定最优的压缩器和最优的压缩方式,对该会话状态信息进行压缩;以及
将所述会话状态信息存储在会话管理器的指定位置,在该会话状态信息经过压缩的情况下,将对其进行压缩的压缩器的类型信息随同该会话状态信息一起存储。
12.权利要求11所述的方法,还包括:
从一配置文件中获取由用户或系统管理员设置的配置信息。
13.权利要求12所述的方法,其中所述配置信息包括:压缩阈值、压缩器和压缩方式。
14.权利要求13所述的方法,其中所述压缩阈值包括关于会话状态信息大小的阈值和关于应用服务器的系统资源的阈值。
15.权利要求13所述的方法,其中,所述压缩方式根据该应用服务器中CPU的使用率设定为最佳压缩、正常压缩或不进行压缩。
16.权利要求13所述的方法,其中,所述压缩方式根据该应用服务器中内存的使用率设定为快速压缩、正常压缩或最佳压缩。
17.权利要求11-16中任何一项所述的方法,还包括:
获取来自所述会话管理器的被指示为要呈现给应用的会话状态信息;
判断该会话状态信息是否经过压缩;以及
在该会话状态信息经过压缩时,根据与该会话状态信息一起存储的压缩器的类型信息,利用相应的解压缩器对该会话状态信息进行解压缩。
18.一种自适应会话管理系统,包括:
会话管理器,用于对用户与应用的会话状态信息进行管理和维护;
会话状态信息呈递部件,用于在上述会话管理器与应用之间传递用户的会话状态信息;
接口单元,用户或该应用服务器的系统管理员通过该接口在配置文件中设置配置信息;以及
权利要求1-10中任一项的应用服务器中的自适应会话压缩管理器。
CN 200510085305 2005-07-22 2005-07-22 自适应会话压缩管理方法、压缩管理器及会话管理系统 Pending CN1901537A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN 200510085305 CN1901537A (zh) 2005-07-22 2005-07-22 自适应会话压缩管理方法、压缩管理器及会话管理系统
US11/996,485 US8943223B2 (en) 2005-07-22 2006-06-29 Adaptive session compression management method, compression manager and session management system
JP2008521917A JP4831785B2 (ja) 2005-07-22 2006-06-29 適応セッション圧縮管理方法、圧縮マネージャ、およびセッション管理システム
PCT/EP2006/063707 WO2007009865A1 (en) 2005-07-22 2006-06-29 Adaptive session compression management method, compression manager and session management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200510085305 CN1901537A (zh) 2005-07-22 2005-07-22 自适应会话压缩管理方法、压缩管理器及会话管理系统

Publications (1)

Publication Number Publication Date
CN1901537A true CN1901537A (zh) 2007-01-24

Family

ID=36997262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200510085305 Pending CN1901537A (zh) 2005-07-22 2005-07-22 自适应会话压缩管理方法、压缩管理器及会话管理系统

Country Status (4)

Country Link
US (1) US8943223B2 (zh)
JP (1) JP4831785B2 (zh)
CN (1) CN1901537A (zh)
WO (1) WO2007009865A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102708010A (zh) * 2012-05-02 2012-10-03 奇智软件(北京)有限公司 压缩工具资源调用方法及装置
CN103761153A (zh) * 2012-05-02 2014-04-30 北京奇虎科技有限公司 压缩工具资源调用方法及装置
CN104035725A (zh) * 2013-03-05 2014-09-10 宏达国际电子股份有限公司 用以存取数据的电子装置及其数据存取方法
CN105160013A (zh) * 2015-09-24 2015-12-16 珠海许继芝电网自动化有限公司 一种数据采集系统的通信报文保存方法
CN109831409A (zh) * 2018-12-19 2019-05-31 东软集团股份有限公司 数据传输方法、装置、计算机可读存储介质及电子设备
CN115794413A (zh) * 2023-01-09 2023-03-14 荣耀终端有限公司 一种内存处理方法及相关装置

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239354B2 (en) * 2005-03-03 2012-08-07 F5 Networks, Inc. System and method for managing small-size files in an aggregated file system
US8195760B2 (en) 2001-01-11 2012-06-05 F5 Networks, Inc. File aggregation in a switched file system
US7788335B2 (en) 2001-01-11 2010-08-31 F5 Networks, Inc. Aggregated opportunistic lock and aggregated implicit lock management for locking aggregated files in a switched file system
US7509322B2 (en) 2001-01-11 2009-03-24 F5 Networks, Inc. Aggregated lock management for locking aggregated files in a switched file system
WO2002056181A2 (en) 2001-01-11 2002-07-18 Force Communications Inc Z File switch and switched file system
US20040133606A1 (en) 2003-01-02 2004-07-08 Z-Force Communications, Inc. Directory aggregation for files distributed over a plurality of servers in a switched file system
US7512673B2 (en) 2001-01-11 2009-03-31 Attune Systems, Inc. Rule based aggregation of files and transactions in a switched file system
US7885970B2 (en) 2005-01-20 2011-02-08 F5 Networks, Inc. Scalable system for partitioning and accessing metadata over multiple servers
US7958347B1 (en) 2005-02-04 2011-06-07 F5 Networks, Inc. Methods and apparatus for implementing authentication
US8417746B1 (en) 2006-04-03 2013-04-09 F5 Networks, Inc. File system management with enhanced searchability
WO2008147973A2 (en) 2007-05-25 2008-12-04 Attune Systems, Inc. Remote file virtualization in a switched file system
US8180747B2 (en) 2007-11-12 2012-05-15 F5 Networks, Inc. Load sharing cluster file systems
US8117244B2 (en) 2007-11-12 2012-02-14 F5 Networks, Inc. Non-disruptive file migration
US8548953B2 (en) 2007-11-12 2013-10-01 F5 Networks, Inc. File deduplication using storage tiers
US8352785B1 (en) 2007-12-13 2013-01-08 F5 Networks, Inc. Methods for generating a unified virtual snapshot and systems thereof
US8549582B1 (en) 2008-07-11 2013-10-01 F5 Networks, Inc. Methods for handling a multi-protocol content name and systems thereof
JP5460239B2 (ja) * 2009-10-29 2014-04-02 三菱電機株式会社 スクリーン記録装置
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US8463944B2 (en) * 2010-01-05 2013-06-11 International Business Machines Corporation Optimal compression process selection methods
US8204860B1 (en) 2010-02-09 2012-06-19 F5 Networks, Inc. Methods and systems for snapshot reconstitution
US9195500B1 (en) 2010-02-09 2015-11-24 F5 Networks, Inc. Methods for seamless storage importing and devices thereof
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US9286298B1 (en) 2010-10-14 2016-03-15 F5 Networks, Inc. Methods for enhancing management of backup data sets and devices thereof
US8635185B2 (en) * 2011-06-27 2014-01-21 Oracle International Corporation System and method for providing session affinity in a clustered database environment
US8396836B1 (en) 2011-06-30 2013-03-12 F5 Networks, Inc. System for mitigating file virtualization storage import latency
WO2013033242A1 (en) * 2011-08-29 2013-03-07 Latakoo, Inc. Compressing, transcoding, sending, and retrieving video and audio files in a server-based system
US8463850B1 (en) 2011-10-26 2013-06-11 F5 Networks, Inc. System and method of algorithmically generating a server side transaction identifier
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US9519501B1 (en) 2012-09-30 2016-12-13 F5 Networks, Inc. Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US9554418B1 (en) 2013-02-28 2017-01-24 F5 Networks, Inc. Device for topology hiding of a visited network
WO2015057031A1 (ko) * 2013-10-18 2015-04-23 삼성전자 주식회사 전자 장치의 메모리 압축 방법 및 장치
US20160011816A1 (en) * 2014-07-09 2016-01-14 Nexenta Systems, Inc. Method to optimize inline i/o processing in tiered distributed storage systems
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
JP6701826B2 (ja) * 2016-03-10 2020-05-27 富士通株式会社 情報処理装置、システム、方法及びプログラム
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof
US10567492B1 (en) 2017-05-11 2020-02-18 F5 Networks, Inc. Methods for load balancing in a federated identity environment and devices thereof
US11223689B1 (en) 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
US10833943B1 (en) 2018-03-01 2020-11-10 F5 Networks, Inc. Methods for service chaining and devices thereof
CN109729132B (zh) * 2018-05-07 2022-03-15 平安普惠企业管理有限公司 开关控制方法、装置、设备和计算机可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6832380B1 (en) * 1996-06-28 2004-12-14 Tarantella, Inc. Client-server application partitioning with metering technique for distributed computing
FI107000B (fi) * 1999-02-17 2001-05-15 Nokia Mobile Phones Ltd Otsikon pakkaaminen reaaliaikaisissa palveluissa
US7047382B2 (en) * 2000-11-29 2006-05-16 Quickshift, Inc. System and method for managing compression and decompression and decompression of system memory in a computer system
JP3730563B2 (ja) 2001-11-02 2006-01-05 キヤノンソフトウェア株式会社 セッション管理装置およびセッション管理方法およびプログラムおよび記録媒体
US7606929B2 (en) * 2003-06-30 2009-10-20 Microsoft Corporation Network load balancing with connection manipulation

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102708010A (zh) * 2012-05-02 2012-10-03 奇智软件(北京)有限公司 压缩工具资源调用方法及装置
CN102708010B (zh) * 2012-05-02 2014-03-26 北京奇虎科技有限公司 压缩工具资源调用方法及装置
CN103761153A (zh) * 2012-05-02 2014-04-30 北京奇虎科技有限公司 压缩工具资源调用方法及装置
CN103761153B (zh) * 2012-05-02 2018-02-27 北京奇虎科技有限公司 压缩工具资源调用方法及装置
CN104035725A (zh) * 2013-03-05 2014-09-10 宏达国际电子股份有限公司 用以存取数据的电子装置及其数据存取方法
CN104035725B (zh) * 2013-03-05 2018-02-09 宏达国际电子股份有限公司 用以存取数据的电子装置及其数据存取方法
CN105160013A (zh) * 2015-09-24 2015-12-16 珠海许继芝电网自动化有限公司 一种数据采集系统的通信报文保存方法
CN109831409A (zh) * 2018-12-19 2019-05-31 东软集团股份有限公司 数据传输方法、装置、计算机可读存储介质及电子设备
CN109831409B (zh) * 2018-12-19 2021-06-18 东软集团股份有限公司 数据传输方法、装置、计算机可读存储介质及电子设备
CN115794413A (zh) * 2023-01-09 2023-03-14 荣耀终端有限公司 一种内存处理方法及相关装置

Also Published As

Publication number Publication date
US8943223B2 (en) 2015-01-27
WO2007009865A1 (en) 2007-01-25
US20080209073A1 (en) 2008-08-28
JP2009503635A (ja) 2009-01-29
JP4831785B2 (ja) 2011-12-07

Similar Documents

Publication Publication Date Title
CN1901537A (zh) 自适应会话压缩管理方法、压缩管理器及会话管理系统
US7945698B2 (en) System and method for partial data compression and data transfer
US6604106B1 (en) Compression and delivery of web server content
US8189661B2 (en) Remote desktop protocol (RDP) tile image classification for improving compression efficiency and quality
CN1852101A (zh) 一种并行下载方法和终端
US20110167173A1 (en) Optimal Compression Process Selection Methods
US20070294333A1 (en) System and method for progressive delivery of multimedia objects
US11256663B2 (en) Caching with dynamic and selective compression of content
CN1620653A (zh) 计算网络中服务的动态部署
US11295009B2 (en) Managing execution of a user defined function
CN1685395A (zh) 用于使用多个应用的系统和方法
CN101069145A (zh) 在提供访问联网内容文件中分配访问控制级的方法和设备
CN103348334A (zh) 云系统以及在云系统中的文件压缩及传送方法
KR20010014976A (ko) 첨부 화일을 자동으로 저장하는 인터넷 메일 배달 에이전트
US7937478B2 (en) Apparatus, system, and method for cooperation between a browser and a server to package small objects in one or more archives
CN1852309A (zh) 数据同步处理方法及其客户端
US20100125640A1 (en) Traffic Management Apparatus
CN101079895A (zh) 一种快速访问Web网页的方法、系统及代理服务设备
US20110202583A1 (en) File Type Association In A Remote Computing Session
KR20100066454A (ko) 브라우저와 서버 간의 협력을 통해 하나 또는 그 이상의 아카이브에 작은 객체를 패키징하기 위한 장치, 시스템, 및 방법
WO2007036032A1 (en) System and method for progressive delivery of multimedia objects
CN1716201A (zh) 移动通信终端及应用程序控制方法
US20090063622A1 (en) Apparatus, system, and method for cooperation between a browser and a server to package small objects in one or more archives
US20070288556A1 (en) System and Method for Encoding and Decoding Data Files
WO2002010929A1 (en) System and method for serving compressed content over a computer network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication