一种Apache服务器资源的访问方法及装置的制作方法

文档序号:7854759阅读:145来源:国知局

专利名称::一种Apache服务器资源的访问方法及装置的制作方法
技术领域
:本申请涉及服务器资源访问
技术领域
,特别是涉及一种Apache服务器资源的访问方法及相应装置。
背景技术
:Apache服务器是一款功能强大、扩展性好、稳定性强的开源著名WEB服务器,它可运行在几乎所有广泛使用的计算机平台上。用户通过浏览器访问Apache服务器时,Apache服务器接收到客户端(通过浏览器)发送的访问请求后,根据处理该访问请求需求的Apache服务器资源,创建相应的资源,然后利用该资源完成客户端访问请求的处理,Apache服务器资源使用完毕后释放。相同客户端下次访问或其他客户端访问Apache服务器的相同资源时,Apache服务器将重新创建该资源以处理客户端的访问请求。然而,Apache服务器的资源创建成本较高,比如mysql连接、memcache连接等,在性能要求严格的环境下,反复多次创建相同的资源,其总的创建成本几乎不可接受,严重影响了Apache服务器资源的访问效率。
发明内容为解决上述技术问题,本申请实施例提供一种Apache服务器资源的访问方法及相应的装置,以提高Apache服务器资源的访问效率。本申请实施例提供的Apache服务器资源的访问方法包括接收基于Apache连接的访问请求消息,所述Apache连接初始化时设置有与Apache连接对应的配置矢量;判断所述Apache连接的配置矢量是否为空,如果是,则从资源池提取Apache服务器资源,并放入配置矢量中;所述资源池在Apache服务器受到访问之前创建,用于存放处理访问请求的Apache服务器资源;利用配置矢量中的Apache服务器资源处理完所述访问请求后,将该资源放回所述资源池。优选地,利用配置矢量中的Apache服务器资源处理完所述访问请求之后,将该资源放回所述资源池之前,将所述Aapche服务器资源在配置矢量中保持第一预设时间阈值长度,以便在该第一预设时间阈值内接收的与所述访问请求消息共用所述Apache连接的其他访问请求使用。优选地,所述从资源池提取Apache服务器资源具体包括=Apache服务器的获取函数利用互斥锁机制从资源池中提取Apache服务器资源,以确保每次提取的Apache服务器资源各不相同。优选地,所述资源池在Apache服务器受到访问之前创建具体包括Apache服务器的钩子函数注册回调函数;调用回调函数在Apache服务器受到访问之前创建资源池。优选地,所述资源池创建完成后,所述方法还包括读取预设配置文件,利用配置文件包含的参数配置资源池,所述配置文件包含的参数包括资源池满足应用要求的最低资源个数、可容纳的最大资源个数、最大已创建资源个数和/或资源有效期。优选地,利用配置矢量中的Apache服务器资源处理访问请求过程中,所述方法还包括将所述资源不能被正常使用时的所在时刻记录为资源失效发现时间,则启动资源有效性核查时,获取Apache服务器资源失效发现时间,并判断资源有效性核查启动时刻与Apache服务器资源失效发现时间之差是否大于第二预设时间阈值,如果是,则调用Apache服务器的析构函数将该资源析构出资源池。进一步优选地,在调用Apache服务器的析构函数将所述资源析构出资源池后,调用Apache服务器的构造函数重新创建所述资源。优选地,所述Apache服务器资源包括mysql连接和/或memcache连接。本申请实施例还提供了一种Apache服务器资源的访问装置。该装置包括接收单元、判断单元、移动单元和放回单元,以及在Apache服务器受到访问之前创建的用于存放处理访问请求的Apache服务器资源的资源池,其中所述接收单元,用于接收基于Apache连接的访问请求消息,所述Apache连接初始化时设置有与Apache连接对应的配置矢量;所述判断单元,用于判断所述Apache连接的配置矢量是否为空,如果是,则触发移动单元;所述移动单元,用于从资源池提取Apache服务器资源并放入配置矢量中;所述放回单元,用于在利用配置矢量中的Apache服务器资源处理完所述访问请求后将该资源放回所述资源池。优选地,所述装置还包括保持单元,用于在利用配置矢量中的Apache服务器资源处理完所述访问请求之后,将该资源放回所述资源池之前,将所述Aapche服务器资源在配置矢量中保持第一预设时间阈值长度,以便在该第一预设时间阈值接收的内与所述访问请求共用所述Apache连接的其他访问请求使用。本申请实施例在接收基于Apache连接的访问请求消息后,判断所述Apache连接的配置矢量字段是否为空,如果为空,则从Apache服务器受到访问之前创建的用于存放处理访问请求的Apache服务器资源的资源池中提取Apache服务器资源;在利用配置矢量中的Apache服务器资源处理完所述访问请求后,将该资源放回资源池。与现有技术相比,本申请实施例由于在Apache服务器受到访问之前创建了用于存放Apache服务器资源的资源池,访问端在访问Apache服务器的资源时,如果配置矢量中不存在相应的资源可从资源池中提取资源,而不必在每次访问相同资源时均由Apache服务器重新创建需要资源,从而提高了Apache服务器的资源访问效率。为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本申请的一个Apache服务器资源访问方法实施例的流程图;图2为本申请的又一个Apache服务器资源访问方法实施例的流程图;图3为本申请的Apache服务器资源访问装置实施例的组成框图。具体实施例方式为了使本
技术领域
的人员更好地理解本申请中的技术方案,下面将结合本申请实例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。参见图1,该图示出了本申请的一个Apache服务器资源的访问方法实施例的流程。该实施例包括步骤SlOl:接收基于Apache连接的访问请求消息,所述Apache连接初始化时设置有与Apache连接对应的配置矢量;Apache服务器作为提供服务的网络端,其将不断接收到来自不同客户端(浏览器)的访问请求或者相同客户端的多次访问请求。这些访问请求均是基于Apacheconnection(Apache连接)的,这里的“connection”一旦建立,则既可以处理单个访问请求,也可以同时处理多个访问请求。Apache连接通常在初次接收访问请求时在客户端(浏览器)与Apache服务器之间建立,具体建立过程已属于现有技术,这里不再详述。在建立Apache连接时,Apache服务器还会初始化一个与该连接对应的资源configurationvector(配置矢量),该配置矢量用于存储、汇聚、调用处理基于Apache连接的访问请求的Apache服务器的资源。客户端的访问请求消息中除必要的通信要素(比如源地址、目标地址、路由信息等)外,通常还包括需要服务器提供的资源需求,调用满足要求的资源即可实现对该访问请求的处理。这里的资源包括多种类型,根据不同的标准可进行不同的划分,比如按照功能方式划分,常见的有mysql连接、memcache连接等;按照表现形式划分,可分为基本资源和衍生资源,基本资源是处理访问请求的必需资源,衍生资源是在基本资源基础上进行复合、继承、封装等操作后形成的资源。步骤S102:判断所述Apache连接的配置矢量是否为空,如果是,执行步骤S103,如果否,执行步骤S104;Apache服务器接收到客户端的访问请求后,可通过判断所述访问请求所基于的Apache连接对应的配置矢量是否为空来确定是否需要提取资源。如果发出访问请求的客户端是首次访问Apache服务器,则在Apache服务器与客户端(浏览器)之间首次建立Apache连接,这种情况下的Apache连接对应的配置矢量刚被建立,不存在处理访问请求的Apache资源。如果发出访问请求的客户端非首次访问Apache服务器且与前次访问请求的时间差在一个预设值范围之内,或者,虽然是首次访问,但该访问的客户端与Apache服务器之间已建立Apache连接,且Apache服务器已处理过基于该Apache连接的访问请求,则通常情况下该Apache连接对应的配置矢量不为空。因此,可通过判断配置矢量的情况来获知处理访问请求的资源是否已经存在,从而针对不同情况可采取不同处理措施。步骤S103:从资源池中提取Apache服务器资源并放入配置矢量中,转入步骤S104;如果访问请求消息的配置矢量字段为空,说明基于Apach连接的配置矢量中没有处理访问请求的资源存在,这种情况下,Apache服务器可从资源池中提取资源,并将该资源放入配置矢量之中,供处理该访问请求使用。本申请实施例并不限定从资源池中提取哪一种类型(功能)的资源给客户端的访问请求使用。当然,在实际应用中,可以根据需要对资源池中的资源进行优先排序,按照优先级大小提供资源,也可以对访问请求的需求进行预测,根据预测结果提供资源。这里的“资源池”是在Apache服务器受到访问之前创建的,用于存放处理访问请求的Apache服务器资源,这些资源通常为可多次使用的“可再生”资源。“Apache服务器受到访问之前”包括Apache服务器访问前的任何时间,比如可以是Apache服务器启动时,也可以是Apache服务器启动后在开启服务功能前创建资源池。对于资源池的创建方式,根据具体情况的不同,可以包括多种。本实施例提供的一种创建资源池的方法包括Apache服务器先调用Apache可移植运行库(ApacheportableRun-timevlibraries)的钩子函数注册一个回调函数,通过该回调函数创建资源池,资源池创建过程中将向资源池中添加资源。资源池创建完成后可进一步对资源池进行配置。比如,读取预设配置文件,利用配置文件内包含的参数对资源池进行配置,这些参数包括满足应用要求的最低资源个数、可容纳的最大资源个数、最大已创建资源个数、资源有效期等,可以是这些参数中的一种,也可以是几个的组合。通过对资源池进行配置可实现对资源池的定制管理。对于从资源池中提取资源的方式,也包括多种具体实现方式。本实施例提供的一种方式是调用Apache服务器的获取函数(比如,vapr_relist_acquire函数)获取资源。如果访问请求消息的配置矢量字段不为空,说明访问端基于所述Apache连接发起的访问请求不是首次访问请求,配置矢量中已经存在处理访问请求的资源,这种情况下,可直接对配置矢量中的资源加以利用,无需从资源池中提取资源。步骤S104:利用配置矢量中的Apache服务器资源处理完所述访问请求后,将该资源放回所述资源池;通过从资源池获取使配置矢量具有Aapche服务器资源或者确认配置矢量中先前已存在Apache服务器资源后,即可利用这些资源处理访问请求。在完成处理请求的处理后将该资源放置会资源池,这种可以保持资源池内的资源数量的恒定性,以便其他需要利用该相同资源的访问请求使用。通过上述描述可知,本实施例的技术方案在接收基于Apache连接的访问请求消息后,通过判断所述Apache连接对应的配置矢量的情况决定操作的步骤,配置矢量为空的情况下从资源池中提取资源,并放置到配置矢量中;在确定配置矢量中具有Apache服务器资源后,利用该资源完成访问请求的处理,处理完毕将访问的资源放回资源池。该方案与现有技术相比,本实施例由于在Apache服务器受到访问之前创建了用于存放处理访问请求的Apache服务器资源的资源池,访问端在访问Apache服务器的资源时可Apache连接对应的配置矢量的情况决定从资源池中提取资源,而不必在每次访问相同资源时均由Apache服务器重新创建需要资源,节约了资源创建成本,增加了资源的重复利用率,从而提高了Apache服务器的资源访问效率。上述实施例的步骤S104中利用的Apache服务器资源,由于资源本身的特性或对资源池内的资源有效期的设定,获得的资源可能已经失效。如果获得的资源已经失效,一方面无法满足处理访问请求的使用需求,针对该失效的资源可能需要进行资源重新创建以便替换掉该资源;另一方面将浪费资源池的空间,需要从资源池中将这些失效的资源清除。在资源池的资源可能无效这种情况下,本申请优选对资源的资源有效性进行判断,并根据判断的结果采取相应的措施,由此构成本申请的又一个资源访问方法实施例。参见图2,该图示出了该实施例的流程。该实施例包括步骤S201:接收基于Apache连接的访问请求消息,所述Apache连接初始化时设置有与Apache连接对应的配置矢量;步骤S202:判断所述Apache连接的配置矢量是否为空,如果是,执行步骤S203,如果否,执行步骤S204;步骤S203:调用Apache服务器的获取函数从资源池中提取资源,并将提取的资源放入配置矢量中;步骤S204:利用配置矢量中的Apache服务器资源处理所述访问请求;步骤S205:监控Apache服务器资源是否能够正常使用,如果是,则执行步骤S207;如果否,则执行步骤S206;步骤S206:将不能使用时的所在时刻记录为所述Apache服务器资源的失效发现时间;本实施例对Apache服务器资源是否失效的判断采取被动式机制,即通过利用Apache服务器资源处理访问请求的执行过程的情况来判断,如果该资源在执行处理访问请求过程中不能正常操作,则认为该资源已经失效,但该资源失效的真正时间可能早于当前时间,这里将当前时间记录为Apache资源失效的发现时间;如果该资源在执行处理访问请求中能够正常执行,没有出现问题,说明该资源仍然有效,可以继续放回资源池再次利用。除上述这种被动式判断资源失效与否的方式外,还可以采取主动式机制,即通过额外的专门程序对资源池内的Apache资源进行逐一检查,如果资源在资源池中存留的时间(闲置时间)超过了资源有效时间,则认为该资源失效,这时将检查到资源失效的当前时间记录为该资源的失效发现时间。被发现已经失效的资源,在大多数情况下,并不立即进行销毁,或者销毁后立即重新建立该资源,而是否采取上述措施以及何时采取上述措施需要根据后续的资源清理操作决定。步骤S207:访问请求处理完毕后将Apache服务器资源放回资源池;本实施例中“资源回置”操作可通过回调函数实现,具体而言,将资源池中的Apache服务器资源添加到配置矢量时先注册一个对应的回调函数,在需要将使用完毕的Apache服务器资源回置到资源池时调用该回调函数执行回置功能。步骤S208:启动资源有效性核查时,获取Apache资源失效发现时间,判断资源有效性检查启动时刻与Apache服务器资源失效发现时间之差是否大于第二预设时间阈值,如果是,则执行步骤S209;如果否,则结束流程;如前所述,Apache服务器资源即便被发现为失效资源,并记录下该资源失效的发现时间,但该资源并不必然或者立即进行销毁,而需要本步骤的资源有效性核查工作。本实施例的资源有效性核查的启动时间可根据实际情况决定,可以选择再次从资源池中提取Apache服务器资源放入配置矢量后,利用该资源处理访问请求之前进行资源有效性检查,这样一旦发现提取的资源已经失效,则可从资源池中重新提取供处理访问请求的资源,而无需等到利用该资源处理访问请求过程中才发现资源已经失效,从而节约访问请求的处理效率;也可以选择Apache服务器没有处理访问请求的空闲时段内,对资源池的资源进行有效性检查,这样可减少Apache服务器的工作负荷,均勻分布Apache服务器的运算处理能力。此外,对资源池内的资源进行有效性核查的工作可以按照预设时间间隔周期性自动进行,也可以在接收、处理访问请求等过程中实时地进行,无论哪种方式,均可实现本申请实施例的发明目的。这里的第二预设时间阈值可根据Apache服务器的工作负荷、资源有效性的历史数据等实际情况选择。步骤S209:调用Apache服务器的析构函数将该资源析构出资源池,并调用Apache服务器的构造函数重新创建所述资源,结束流程。重新创建的资源仍然放置于资源池之中,用于替换所述失效的资源。通过上述描述可知,本实施例的资源池的自我修复过程由两个工作协调完成一是对资源是否失效的发现过程;二是对资源是否需要析构重建的清理核查过程,前一过程是后一过程的前提,没有对资源失效与否的发现登记,便不能进行资源析构重建的清理管理。基于此,本实施例使得资源在利用过程中自动发现失效有效情况,并主动进行自我修复,这种灵活、动态的资源池机制可充分满足访问端的各种需求。实际上,除上述这种资源池的自我管理外,还可以采取其他措施实现管理,比如通过创建单独管理线程实现资源的管理。上述两个实施例中调用Apache服务器的获取函数从资源池中提取资源时,本申请并未限定具体获取资源的方式,获取函数可以从资源池中获取一个资源,也可以获取多个资源提供给访问请求使用;也没有限定资源池的资源与Apache工作线程的关系,他们可以具有等同的数量,也可以不具有等同的数量。但是,在实际应用中,为了进一步提高资源访问的效率,防止在资源提取或获取过程中的资源发生争抢现象,本申请优选采取两种措施一是采用互斥锁机制。互斥锁通过在访问资源池时对资源池进行锁定,从而确保在每次提取资源池的资源时其他访问请求不能进行资源提取,且每次提取的资源各不相同,防止资源提取错误、混淆、争抢等现象出现。二是默认Apache工作线程与资源池内资源数量相同,这样可以保证每个工作线程都有属于自己的资源对象,避免争抢资源导致性能损耗。上述两个实施例中的步骤S104、S206,在利用配置矢量的Apache服务器资源处理完毕访问请求后,可立即将Apache服务器资源放回资源池,以便基于其他Apache连接的访问请求使用。但是,在实际应用中,基于概率统计理论可知,在客户端(浏览器)与Apache服务器之间建立好Apache连接后,基于该连接的访问请求通常还在一段时间内连续存在,如果在前一个访问请求处理完后即将配置矢量中的Apache服务器资源放回资源池,那么在紧接着的基于该同样的Apache连接的下一个访问请求将需要从资源池中重新获取Apache服务器资源,这将增加操作时间,降低资源的访问效率。为此,本申请优选在利用配置矢量中的Apache服务器资源处理完所述访问请求之后,将该资源放回所述资源池之前,将所述Aapche服务器资源在配置矢量中保持第一预设时间阈值长度。通过这种方式,在该第一预设时间阈值内基于同样的Apache连接的其他访问请求到来时,便不需到资源池去提取Apache资源,而可直接利用处理前次访问请求时保持在该连接对应的配置矢量中的资源,从而提高了资源访问效率。这里的第一预设时间阈值可根据Apache服务器接收访问请求的实际情况决定,比如,在大多数情况下,5分钟内接收的访问请求较多,5分钟后接收的访问请求较少,则该预设时间阈值可设定为5分钟。以上内容详细描述了本申请的方法实施例,相应地,本申请还提供了一种基于Apache服务器的资源访问装置。参见图3,该图示出了本申请资源访问装置实施例的结构示意图。该装置实施例包括接收单元301、判断单元302、移动单元303和放回单元304,以及在Apache服务器受到访问之前创建的用于存放Apache服务器资源的资源池305,其中接收单元301,用于接收基于Apache连接的访问请求消息,所述Apache连接初始化时设置有与Apache连接对应的配置矢量;判断单元302,用于判断所述Apache连接的配置矢量是否为空,如果是,则触发移、动单元;移动单元303,用于从资源池提取Apache服务器资源并放入配置矢量中;放回单元304,用于在利用配置矢量中的Apache服务器资源处理完所述访问请求后将该资源放回所述资源池。该装置实施例的工作过程是接收单元接收基于Apache连接的访问请求消息,由判断单元302判断Apache连接初始化时设置的与其对应的的配置矢量是否为空,如果是,则触发移动单元303,由移动单元303从资源池中提取Apache服务器资源并放入配置矢量中;在利用Apache服务器资源处理完访问请求后由放回单元304将该放回所述资源池。本装置实施例在接收基于Apache连接的访问请求消息后,判断Apache连接对应的配置矢量是否为空,如果为空,则从资源池中提取资源并放入配置矢量中;在利用所述资源处理完访问请求后将该资源放回资源池。与现有技术相比,本装置实施例由于在Apache服务器受到访问之前创建了用于存放Apache服务器的资源的资源池,访问端在访问Apache服务器资源时可从资源池中提取资源,而不必在每次访问相同资源时均由Apache服务器重新创建需要资源,从而提高了Apache服务器的资源访问效率。上述装置实施例中还可以包括保持单元,用于在利用配置矢量中的Apache服务器资源处理完所述访问请求之后,将该资源放回所述资源池之前,将所述Aapche服务器资源在配置矢量中保持第一预设时间阈值长度,以便在该第一预设时间阈值内与所述访问请求消息共用所述Apache连接的其他访问请求使用。这样,可增强资源使用的便捷性,提高了资源访问的整体效率。上述装置实施例中的获取单元调用Apache服务器的获取函数从资源池中提取资源时可采取互斥锁机制,以确保每次提取的资源各不相同,这样可以避免资源提取错误、混淆、争抢等现象的出现。为防止这种资源争抢问题,还可以对资源池进行配置,通过接收配置参数对资源池的可容纳的最大资源个数、满足应用需求的最低资源个数、资源的有效期,以及资源池内已经创建的资源个数与Apache工作线程数之间的关系等。通过这些配置可进行资源池的定制,从而提高资源访问效率、减少资源争抢和冲突。比如,如果资源池内已创建的资源个数与Apache工作线程数相等,可保证每个工作线程使用自己的资源对象,避免争抢资源导致性能损耗。需要进一步说明的是,前述的几个实施例提到了资源和资源池等概念,为了简洁起见,在使用这些概念时采用多种类似的叫法,比如Apache服务器资源、处理访问请求的Apache服务器资源、Apache资源、重复可利用资源、资源等,但本领域普通技术人员知道,在本申请所在
技术领域
的语境下,这些不同的词语在本质上具有等同的含义,应当作相同或类似的理解。对于资源池的概念,其功能在于放置处理访问请求的Apache资源,这些处于资源池中的资源根据实际情况的不同,具有多种具体组织形式,比较常见的比如采用Apache服务器的reslist进行资源组织,reslist本质上是一个数据结构链表,是APR提供的一个工具,该工具具有如下功能(I)可指定reslist中管理的资源的数量限制,比如前述的最小资源个数、最大资源个数、最大已创建资源个数等等;(2)提供资源的构造函数(constructor)和析构函数(deconstructor),前者用于重建资源池中的资源,后者用于将资源从资源池中销毁;(3)从reslist中得到资源项的读取超时设置等功能。利用Apache服务器的reslist提供的诸如上述的各种功能,可实现对资源池的数据(资源)的管理。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。本申请可用于众多通用或专用的计算系统环境或配置中。例如个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。以上所述仅是本申请的具体实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。权利要求1.一种Apache服务器资源的访问方法,其特征在于,该方法包括接收基于Apache连接的访问请求消息,所述Apache连接初始化时设置有与Apache连接对应的配置矢量;判断所述Apache连接的配置矢量是否为空,如果是,则从资源池提取Apache服务器资源并放入配置矢量中;所述资源池在Apache服务器受到访问之前创建,用于存放处理访问请求的Apache服务器资源;利用配置矢量中的Apache服务器资源处理完所述访问请求后将该资源放回所述资源池。2.根据权利要求I所述的方法,其特征在于,利用配置矢量中的Apache服务器资源处理完所述访问请求之后,将该资源放回所述资源池之前,将所述Aapche服务器资源在配置矢量中保持第一预设时间阈值长度,以便在该第一预设时间阈值内接收的与所述访问请求消息共用所述Apache连接的其他访问请求使用。3.根据权利要求I所述的方法,其特征在于,所述从资源池提取Apache服务器资源具体包括Apache服务器的获取函数利用互斥锁机制从资源池提取Apache服务器资源,以确保每次提取的Apache服务器资源各不相同。4.根据权利要求I所述的方法,其特征在于,所述资源池在Apache服务器受到访问之前创建具体包括Apache服务器的钩子函数注册回调函数;调用回调函数在Apache服务器受到访问之前创建资源池。5.根据权利要求I所述的方法,其特征在于,所述资源池创建完成后,所述方法还包括读取预设配置文件,利用配置文件包含的参数配置资源池,所述配置文件包含的参数包括资源池满足应用要求的最低资源个数、可容纳的最大资源个数、最大已创建资源个数和/或资源有效期。6.根据权利要求5所述的方法,其特征在于,所述方法还包括利用配置矢量中的Apache服务器资源处理访问请求过程中,将所述资源不能被正常使用时的所在时刻记录为资源失效发现时间,则启动资源有效性核查时,获取Apache服务器资源失效发现时间,并判断资源有效性核查启动时刻与Apache服务器资源失效发现时间之差是否大于第二预设时间阈值,如果是,则调用Apache服务器的析构函数将该资源析构出资源池。7.根据权利要求6所述的方法,其特征在于,在调用Apache服务器的析构函数将资源析构出资源池后,调用Apache服务器的构造函数重新创建所述资源。8.根据权利要求I所述的方法,其特征在于,所述Apache服务器资源包括mysql连接和/或memcache连接。9.一种Apache服务器资源的访问装置,其特征在于,该装置包括接收单元、判断单元、移动单元和放回单元,以及在Apache服务器受到访问之前创建的用于存放处理访问请求的Apache服务器资源的资源池,其中所述接收单元,用于接收基于Apache连接的访问请求消息,所述Apache连接初始化时设置有与Apache连接对应的配置矢量;所述判断单元,用于判断所述Apache连接的配置矢量是否为空,如果是,则触发移动单元;所述移动单元,用于从资源池提取Apache服务器资源并放入配置矢量中;所述放回单元,用于在利用配置矢量中的Apache服务器资源处理完所述访问请求后将该资源放回所述资源池。10.根据权利要求9所述的装置,其特征在于,所述装置还包括保持单元,用于在利用配置矢量中的Apache服务器资源处理完所述访问请求之后,将该资源放回所述资源池之前,将所述Aapche服务器资源在配置矢量中保持第一预设时间阈值长度,以便在该第一预设时间阈值内接收的与所述访问请求共用所述Apache连接的其他访问请求使用。全文摘要本申请实施例公开了一种Apache服务器资源的访问方法。该方法包括接收基于Apache连接的访问请求消息,所述Apache连接初始化时设置有与Apache连接对应的配置矢量;判断配置矢量是否为空,如果是,则从资源池Apache服务器提取资源并放入配置矢量中,用于存放处理访问请求的Apache服务器资源的资源池在Apache服务器受到访问之前创建;利用配置矢量中的Apache服务器资源处理完访问请求后将该资源放回所述资源池。本申请实施例还公开了一种Apache服务器资源的访问装置。本申请实施例提高了Apache服务器资源的访问效率。文档编号H04L29/06GK102724206SQ20121022029公开日2012年10月10日申请日期2012年6月28日优先权日2012年6月28日发明者傅飞申请人:北京搜狐新媒体信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1