专利名称:网关装置及其控制方法
技术领域:
本发明属于网络通信技术领域,具体涉及一种网关装置及其控制方法。
背景技术:
在网络通信领域,网关装置通常存在于客户端和服务器之间,其作为客户端的代理,建立客户端与服务器之间的通信。此处,客户端可以是用户终端设备或其他服务器。现有的网关通常设计为一对一的对称模式,也就是说,它们收到一个请求,将这个 请求转发给服务器,待服务器对请求进行处理之后,将处理结果返回给客户端,这样就完成了一次操作。这种模式由于其简单易用,被广泛使用。然而,由于上述现有的网关采用了对称的思想,其要求网关两端提供对等的网络资源,例如,对等的网络连接等,即,网关与服务器之间的连接数目需要与发出请求的客户端数目相等。在这种情况下,每一个连接需要处理自己独立的会话信息等内容,而这些内容本可以被共享。因此,影响了网关的工作效率。进一步,当服务器只提供有限的资源,例如,只提供有限数量的帐号供客户端登录服务器时,同时访问服务器的客户端的数量将会受到限制,只有当使用某个帐号的客户端登出之后,该帐号才可能被其他客户端使用,因此,当多个客户端同时尝试使用某个帐号与服务器进行通信时,必然相互产生冲突,并且客户端用户在多次尝试使用某帐号登录服务器而无法使用的情况下将会白白浪费时间。这样,用户们要考虑避免多人同时使用相同的帐号,因此使工作受到影响。
发明内容
为解决上述技术问题,本发明提出了一种能够共享服务器的有限资源的网关装置及其控制方法。本发明的网关装置,包括存储部,其中预先存储有访问服务器的资源信息;锁定部,其从资源信息中选择可用资源,并锁定该可用资源;以及处理部,其利用被锁定的可用资源与服务器进行通信,获得通信结果,并解除对可用资源的锁定。本发明的网关装置的控制方法,包括锁定步骤,其从预先存储的访问服务器的资源信息中选择可用资源,并锁定该可用资源;以及通信步骤,其利用可用资源与服务器进行通信,获得通信结果,并解除对可用资源的锁定。根据本发明的网关装置及其控制方法,网关装置的存储部中预先存储访问服务器的资源信息,当访问服务器时,网关装置的锁定部从预先存储的资源信息中选择可用来访问服务器的资源,并锁定该可用资源,处理部通过该被锁定的可用资源与服务器进行通信,在获得通信结果后解除对该可用资源的锁定,不再占有该资源。因此,多个客户端能够共享同一资源而不发生冲突,使有限的资源得到最大限度的利用。
图I是包含本发明的一个实施方式的网关装置的通信系统的示意图。
图2是本发明的一个实施方式的网关装置中的存储部内存储的信息的示意图。图3是本发明的一个实施方式的网关装置中存储资源信息的示意图。图4是本发明的一个实施方式中客户端通过网关装置访问服务器的时序图。图5是本发明的一个实施方式的网关装置用于文献检索的流程图。图6是本发明的一个实施方式的网关装置中的规则库结构的示意图。图7是本发明的一个实施方式中网关装置与服务器进行交互操作的流程图。
图8是本发明的一个实施方式中网关装置与服务器进行通信操作的流程图。图9是本发明的一个实施方式的网关装置中的资源锁定表的例子。图10是本发明的一个实施方式中网关装置对帐号进行独占锁定的流程图。图11是本发明的一个实施方式中网关装置解除对帐号的独占锁定的流程图。图12是本发明的一个实施方式中对帐号进行非独占锁定的流程图。图13是本发明的一个实施方式中解除非独占锁定操作的流程图。图14是本发明的一个实施方式的客户端界面的示意图。
具体实施例方式下面,结合附图对本发明的网关装置及其控制方法的具体实施方式
进行详细说明。图I是表示将本发明的一个实施方式的网关装置设置于通信系统中的方框示意图。在图I所示的通信系统10中,网关装置3通过网络2连接多个客户端1,该网络2可以是构成本地内部网的网络。另一方面,网关装置3通过网络4与服务器5连接,该网络4可以是用于向客户端I提供web服务的另一本地内部网、或者是连接远程服务器的广域网。由此,多个客户端I通过网关装置3访问服务器5。服务器5向客户端I提供各种web服务,例如提供检索、文档下载等服务。客户端I可以是个人计算机。网关装置3可以是专用计算机。在本实施方式中,网关装置3在客户端一侧具有客户端连接部31,其是网关装置3与网络2的通信接口,在网关装置3的另一侧具有服务器连接部34,其是网关装置3与网络4的通信接口。网关装置3还具有处理部32,锁定部33,存储部35和解析部36。图2是表示本实施方式中的存储部35内存储的信息的示意图。如图2所示,存储部35中预先存储有用于访问服务器5获取web服务的资源信息,t匕如,包括用来对客户端I进行身份认证的客户端身份认证信息351,可供客户端I利用的服务器5的共享资源的信息352,用来解析客户端I发出的请求的规则库353,客户端I与网关装置3之间的会话信息(客户端会话信息354),由预先定义的操作内容构成的行为列表355,资源锁定表356,以及服务器认证会话信息357等。在客户端I向网关装置3发送请求之前,客户端I先登录网关装置3,这时,网关装置3利用客户端身份认证信息351对客户端I进行身份认证,只有当客户端I通过身份认证时才可以登录到网关装置3。客户端会话信息354还可以包括客户端I何时登录网关装置3、何时退出向网关装置3的登录等日志。
服务器认证会话信息357包括网关装置3登录服务器5时需要的认证信息,以及网关装置3与服务器5之间的会话信息等。资源锁定表356显示资源被占用的情况。将在后面结合图9对资源锁定表356进行详细说明。通过将以上信息预先存储于网关装置3的存储部35,能够实现对服务器5的资源的共享,提高资源共享的效率。在本实施方式中,比如,服务器5的资源信息可以是用于登录服务器5的帐号信 息图3是本实施方式的网关装置3的存储部35中存储的共享资源352的示意图。如图3所示,在存储部35中,作为资源信息的帐号被分组管理,构成多个资源组(帐号组),如第一帐号组3100、第二帐号组3200、第三帐号组3300等。可以针对不同的服务器5分别设置帐号组,也可以针对服务器5的不同服务分别设置帐号组,此时服务器5上的一种服务可以是一个服务,也可以是多个服务的集合。以第一帐号组3100为例,其具有帐号组名称3110、和多个帐号信息,即帐号3111、帐号3112、帐号3112等,在每个帐号信息中包括用于登录服务器5的帐号名和密码等。锁定部33从作为资源信息的上述多个帐号信息中选择可用的帐号,并锁定该帐号。处理部32利用帐号组中的可用帐号与服务器5进行通信,获得通信结果后,解除对该帐号的锁定,并将通信结果返回客户端I。解析部36根据存储在存储部35中的规则库352(解析信息)来解析客户端发出的请求,得到与该请求相应的资源组(帐号组),对可用资源进行锁定的方式,操作名称等信息。这里,一个资源组(帐号组)中的各资源信息(帐号信息)能够被所有访问服务器5的客户端I使用,因此,这些资源信息为“共享资源”。网关装置3还可以包括管理部(图中未示出),用于由网关装置管理人员对存储部35中预先存储的信息进行管理和维护,例如预先设置或更改帐号信息、规则库(解析信息)
等下面,说明客户端I通过本实施方式的网关装置3访问服务器5的操作过程。图4是本发明的一个实施方式中的客户端I通过网关装置3访问服务器5的时序图。如图4所示,在步骤S 101中,客户端I向网关装置3发出请求。在步骤S102中,网关装置3根据需要对客户端I进行身份认证,并在通过身份认证后,对客户端I的请求进行解析,得到与该请求相应的帐号组名称,锁定方式,操作名称等信息,由锁定部33从该帐号组中选择一个可用帐号,并根据锁定方式锁定该帐号。在步骤S103中,处理部32利用该被锁定的帐号与服务器5进行通信,请求与客户端I的请求相关的内容。在步骤S104中,服务器5在接收到该请求后按照解析得到的操作名称执行相应的操作,获得所需要的内容。在步骤S105中,服务器5将上述内容作为通信结果发送给网关装置3。
在步骤S106中,网关装置3在接收到该通信结果后,解除对帐号的锁定。因此,当其他客户端I需要访问服务器5时,网关装置3能够再次利用该帐号与服务器5通信。在步骤S107中,网关装置3将通信结果返回客户端I。如上所述,当内部网中的多个客户端I都需要 访问服务器5,而拥有用于访问服务器5的资源数量少,不足以满足多个客户端I在同一时间段内同时访问服务器5时,本实施方式的网关装置3的锁定部33针对一个客户端I的请求锁定一个资源,利用该资源来访问服务器5,在得到通信结果后及时解除对资源的锁定,必要时释放该资源,以使其他客户端I能够再次利用该资源访问服务器5,从而能够在不改变现有的服务器5和客户端I的情况下有效地实现有限资源的共享。需要注意,在本实施方式中,步骤S106和S107的顺序不需要特别限定。服务器5向客户端I提供的常用的web服务可以包括基于HTTP的检索、文件下载等。下面,以客户端I向服务器5请求基于HTTP的检索服务的情形为例,对本实施方式进行详细说明。在这种情形下,服务器5是文献检索服务器,向客户端I提供文献检索服务。图5是本实施方式中进行文献检索的流程图。在步骤S501中,客户端I的用户通过如图14所示的客户端界面1001,在输入框1002中输入一个关键词,如“机器人”,然后点击“搜索”按钮1003。在步骤S502中,客户端I根据用户输入的关键词生成一个基于HTTP的检索请求,该请求中包含相应的URL信息。例如,具体的URL为“www. FileServer. com/Search/TitIe Keyword =机器人”,其中,“www. FileServer. com”为服务器5的主机名,“Search”为服务器5中的具体路径和位置,“Title Keyword =机器人”表示包含有关键词为“机器人”的检索对象(这里是文件名“Title”)。客户端I将包含有上述URL信息的请求发送给网关装置3。由于客户端I与服务器5位于不同的网络,必然要通过网关装置3才能完成本次web服务。客户端I发出的web服务请求被网关装置3接收。在步骤S503中,当网关装置3接收到客户端I的请求后,解析部36根据存储部35中的规则库353对客户端I发送的请求进行解析。在本实施方式中,解析部36将客户端 I 的请求中包含的 URL “www. FileServer. com/Search/TitIe Keyword =机器人”拆分为hostinfo (主机名),path(路径),content (内容),和parameter (参数),分别赋值为hostinfo = uwww. FileServer. com,,,path = “Search,,,content = “Title,,,parameter =“Keyword”,这里 Keyword = “机器人”。在存储部35中预先存储有用于解析上述客户端I的请求的规则(解析信息),这些规则构成规则库353。图6为本实施方式的规则库结构的示意图。在图6中,规则库353中包含用于解析客户端I的请求的规则(解析信息)510、520、530...,各个规则510、520、530…分别对应于服务器5提供的一种服务。以规则510为例,其中包括主机名511、路径512、内容513、帐号组名称514、锁定方式515和操作名称516等信息。解析部36将拆分后的各级信息与规则库352中的各规则510、520、530…进行比较。每个规则510、520、530…包含不同的主机名、路径和内容。解析部36找到包含主机名(host) = “www. FileServer. com”,路径(path) = “Search”,和内容(content) =“Title”的一条规则,即与执行在服务器(www. Fileserver. com)上的搜索(Search)路径下,搜索文献标题(Title)的过程相应的规则,根据该规则确定要使用的帐号组,对帐号进行锁定的方式,以及在与服务器5的通信时进行的操作的内容。返回图5。在步骤S504中,根据解析部36利用规则库353中的规则对客户端I的请求解析的结果,锁定部33得到一个帐号组名(比如,帐号组3100、3200、3300中的任一个),锁定部33从该帐号组中选择一个可用帐号,并对该帐号进行锁定。比如,锁定部33可以通过检查图2中的资源锁定表356,获取该可用帐号。在步骤S505中,网关装置3利用在步骤S504中锁定的帐号与服务器5进行通信。具体地说,网关装置3使用锁定的帐号执行与解析得到的操作名称对应的操作内容,与服务器5通信。通常,在服务器5向客户端I提供web服务的过程中, 服务器5需要与客户端I之间交互操作。然而,在本实施方式中,由于网关装置3针对客户端I的请求,锁定一个帐号与服务器5进行通信,因此网关装置3取代客户端I与服务器5进行交互操作。图7表示网关装置3与服务器5交互操作的流程图。在步骤S701中,网关装置3向服务器5传送与客户端I的请求相关的参数。在步骤S702中,服务器5根据接收的参数执行相应的操作。在步骤S703中,网关装置3接收服务器5的操作执行结果,即通信结果。由于服务器5提供多种web服务,对于每种服务来说所采取的交互操作的内容不同。因此,在本实施方式中,如图2所示在存储部35中预先设置了行为列表355,行为列表355中包含有针对不同web服务的多个操作序列。利用解析部36解析客户端I的请求时从规则库355中找到的规则,根据该规则中指定的操作名称(参照图6),可以确定使用行为列表355中的哪个操作序列与服务器5通信。下面,以进行文献检索的操作为例,详细说明步骤S505中由行为列表355规定的操作序列的例子。图8为在以关键词检索文献时网关装置3的处理部32与服务器5进行通信操作的流程图。在步骤S801中,处理部32根据解析部36的解析结果从行为列表353中选择对应的操作序列,并开始执行该操作序列。在步骤S802中,处理部32将关键词提交给服务器5。在步骤S803中,服务器5根据关键词开始检索后向网关装置3返回一个等待指令,处理部32接收到服务器5返回的等待指令,开始等待。在步骤S804中,处理部32在等待一段时间之后,检查服务器5是否已完成检索。在步骤S805中,如果服务器5已经完成检索,则进入步骤S806。若服务器5尚完成检索,则返回步骤S804继续等待,直到服务器5完成检索,进入步骤S806。在步骤S806中,处理部32接收服务器5返回的可以获取检索结果的指令。在步骤S807中,处理部32从服务器5获得检索结果列表,从中取得各个检索结果的位置。在步骤S808中,处理部32依据步骤S807中得到的检索结果的位置,对相应的检索结果发出请求。在步骤S809中,处理部32接收服务器5返回的检索结果。
在步骤S810中,网关装置3根据得到的检索结果,创建面向客户端I的用户的页面。至此,网关装置3针对客户端I的请求,从服务器5取得了通信结果,之后返回,从而完成步骤S505的处理。返回图5。在步骤S506中,处理部32解除在步骤S504中进行的对帐号的锁定(相当于图4中的步骤S106)。在步骤S507中,处理部32将在步骤S505中得到的通信结果返回给客户端I (相当于图4的步骤S107)。如上所述,网关装置3完成从接收客户端I的检索请求,到将检索结果返回给客户端I的全过程。 客户端I得到的服务器5提供的检索结果可以显示在客户端I的显示器上,比如,显示为图14所示的文献检索结果页面1004。图14是本发明的一个实施方式的客户端界面的示意图。客户端I的用户通过客户端界面1001进行文献检索。如,客户端I的用户在输入框1002中输入一个关键词,然后点击“搜索”按钮1003,服务器5进行检索,并将检索结果,比如,文献的摘要,或著录项目信息,返回给客户端1,显示在客户端I的显示器的页面1004 上。客户端I得到页面1004后,用户可以进一步对文献检索结果列表中的每一篇文献进行在线浏览或下载等,继续向服务器5发出下载请求等,并由网关装置3进行与图4所述相同的处理。[锁定方式]在本实施方式中,在进行如图5的步骤504中的锁定处理时,对于客户端I发出的请求,网关装置3可以采用使该请求的进程独占帐号的方式与服务器5通信。这里将这种锁定方式称为“独占锁定”方式。对于消耗时间长、传输数据量大的请求来说,独占锁定方式能够有效避免其他请求的干扰。另一方面,对于只需较少步骤就可以完成,耗时少的通信过程,因为通信过程短,能很快得到通信结果,一般不会受到其他同时利用该帐号的通信过程的干扰,因此,也可以采用“非独占锁定”方式占用帐号与服务器5通信。即,在一个请求的进程使用某个帐号的同时,允许其他请求的进程利用该帐号。例如,与利用关键词进行的检索相比,利用已知的文献名称进行文献检索的过程不需要服务器5进行一系列的查找对比等过程,只需要利用文献名称直接找到相应的文献即可,检索过程和检索结果不会受到其他利用同一帐号的进程的通信过程的干扰。在这样的情况下,可以采用非独占锁定方式使用帐号与服务器5通 目。在本实施方式中,各个资源的占用状况(即,各个帐号组中各帐号被锁定的状况)可以通过存储在存储部35中的图9所示的资源锁定表356确定。图9是存储部35中存储的资源锁定表356的一个例子,表示帐号被锁定的状况。图9显示了三个帐号“帐号1”、“帐号2”、“帐号3”的非独占锁定状态和独占锁定状态。在图9中,“非独占锁定值Tl”表示帐号的非独占锁定的状态。当帐号的“非独占锁定值Tl”为“O”时,表示该帐号未被非独占锁定;当帐号的“非独占锁定值Tl”为非零值时,表示该帐号已被非独占锁定,且非独占锁定值Tl的值表示该帐号的非独占锁定的期望到期时间,是根据执行进程(请求)所需要的预计最长时间计算得到的。图9中,帐号2和帐号3的“非独占锁定值Tl”为“0”,表示帐号2和帐号3未被非独占锁定。帐号I的“非独占锁定值Tl”为非零的X,表示帐号I已被非独占锁定,且帐号I的非独占锁定的期望到期时间为X。“非独占锁定计数C”表示对相应的帐号进行非独占锁定的进程个数,即,使用该帐号的请求的个数。图9中,帐号I的“非独占锁定计数C”为“1”,表示已有一个请求使用帐号I。帐 号2和帐号3的“非独占锁定计数C”为非零,表示帐号2和帐号3没有被任何请求使用。“独占锁定值T2”表示帐号的独占锁定的状态。当帐号的“独占锁定值T2”为“O”时,表示该帐号未被独占锁定;当帐号的“独占锁定值T2”为非零值时,表示该帐号已被独占锁定,且独占锁定值T2的值表示该帐号的独占锁定的期望到期时间,是根据执行进程(请求)所需要的预计最长时间计算得到的。图9中,帐号I和帐号3的独占锁定值T2为“O”,表不帐号I和帐号3未被独占锁定。帐号2的“独占锁定值T2”为非零的Y,表示帐号2已被独占锁定,且帐号2的独占锁定的期望到期时间为Y。图9中,若X或Y的值大于当前时间值,则表示对相应的帐号的锁定已过期。也就是说,“非独占锁定值”或者“独占锁定值”是O或者小于当前时间值,都表示相应的锁定处于无效状态,即,没有被非独占锁定或独占锁定。如上所述,通过检查帐号的非独占锁定值Tl和独占锁定值T2,能够确定该帐号被占用状况,即被独占锁定,还是非独占锁定,有几个请求同时使用被非独占锁定的帐号。另外,在因网络故障或通信错误而使得网关装置3不能继续进行操作,无法解除对该帐号的锁定时,能够通过检查帐号的独占锁定值和非独占锁定值判断对该帐号的锁定是否过期,在判定该帐号的锁定过期时,可以及时解除锁定,释放该帐号,重新使用该帐号与服务器5通信,这样可以避免长期占用帐号而不能将其释放、导致客户端I无法完成向服务器5请求内容的情形发生。以下对独占锁定和非独占锁定进行具体说明。图10为本实施方式中锁定部33对帐号进行独占锁定的流程图。在图5的步骤S504中,当锁定部33进行的锁定处理是独占锁定时,在步骤S901中,锁定部33根据解析部36利用规则库353中的规则得到的客户端请求所对应的帐号组(例如,是帐号组3100、3200、3300中的任一个),从该帐号组中选择一个可用帐号。在独占锁定处理中,所谓“可用帐号”是指该帐号未被其他客户端I请求的进程占用,即非独占锁定值Tl和独占锁定值T2均为“O”或已过期的帐号。比如,锁定部33检查图2中的资源锁定表356,获取一个可用帐号。图9中帐号3为可用帐号。如果对帐号I的非独占锁定、帐号2的独占锁定已过期,则帐号I、帐号2也为可用帐号。在步骤S902中,根据执行进程所需要的时间,计算该可用帐号的独占锁定期望到期时间值。例如,假设对该可用帐号的独占锁定操作的开始时间为2011年8月9日14时20分O秒,预计独占锁定需要占用帐号的最长时间为10分钟,则可将独占锁定期望到期时间值定为2011年8月9日14时30分O秒,将该时间值赋予资源锁定表356中该可用帐号的独占锁定值T2,完成对该帐号的独占锁定。然后返回继续执行图5中的步骤S505,利用该被独占锁定的帐号与服务器5通信。图11为本实施方式中锁定部33解除帐号独占锁定的流程图。当在图5的步骤S506中解除对帐号的独占锁定时,在步骤S903中,处理部33将该对应帐号的独占锁定值T2置为“0”,来解除对帐号的锁定,并释放该帐号。图12为本实施方式中非独占锁定的一个例子的流程图。
在图5的步骤S504中,当锁定部33进行的锁定处理是非独占锁定时,在步骤S911中,锁定部33根据解析部36利用规则库353中的规则得到的客户端请求所对应的帐号组(例如,是帐号组3100、3200、3300中的任一个),从该帐号组中选择一个可用帐号。在非独占锁定处理中,所谓“可用帐号”是指该帐号未被其他客户端I的请求以独占锁定方式占用,即独占锁定值T2为“O”或已过期的帐号。具体讲,锁定部33检查资源锁定表356,获取一个未被独占锁定的帐号,即可用帐号。在步骤S912中,锁定部33将该可用帐号的非独占锁定值Tl与当前时间值进行比较,确定对该帐号的已有的非独占锁定是否已经过期。若未过期,则进入步骤S914 ;若已过期,进入步骤S913。在步骤S913中,将该帐号的非独占锁定值Tl和非独占锁定计数C都置为“0”,也就是说,使该帐号已有的非独占锁定和独占锁定均失效,成为未锁定状态,然后进入步骤S914。在步骤S914中,根据执行进程所需要的时间,计算对于刚获取的可用帐号的非独占锁定的期望到期时间A,检查该非独占锁定期望到期时间A是否大于资源锁定表356中该帐号的非独占锁定值Tl (该帐号已有的非独占锁定的期望到期时间)。非独占锁定期望到期时间A大于该帐号的非独占锁定值Tl时,即,该帐号的新的非独占锁定期望到期时间A长于已有的非独占锁定的期望到期时间,进入步骤S915,将非独占锁定值Tl更新为非独占锁定期望到期时间A,并且将非独占锁定计数C的值加1,完成对该帐号的非独占锁定。即,将该帐号的非独占锁定值Tl更新为较大的值A。另一方面,当非独占锁定期望到期时间A不大于该帐号的非独占锁定值Tl时,SP,该帐号的新的非独占锁定期望到期时间A小于或等于已有的非独占锁定的期望到期时间,进入步骤S916,将非独占锁定计数C的值加1,完成对该帐号的非独占锁定。即,维持该帐号的原有的非独占锁定值Tl。在完成对帐号非独占锁定后,返回继续执行图5中的步骤S505,利用该被非独占锁定的帐号与服务器5通信。如上所述,在非独占锁定的情形下,多个进程(客户端I的请求)能够共同使用一个未被独占锁定的帐号,而通信不会相互干扰,从而大大提高了资源的利用效率。图13为本实施方式中解除非独占锁定操作的一个例子的流程图。当在图5的步骤S506中解除对帐号的非独占锁定时,在步骤S921中,处理部32检查图9所示的资源锁定表356中的非独占计数C,将非独占计数C的值减I。
在步骤S922中,处理部32判断非独占计数C是否为O。如果非独占计数C为0,表示没有请求使用该帐号,则进行步骤S923,将非独占锁定值Tl的值置为0,使该帐号的非独占锁定无效,S卩,已不被非独占锁定。由于已没有任何请求使用该帐号,在解除该非独占锁定的同时,释放该非独占锁定的帐号。然后返回,完成非独占锁定的解除。如果非独占计数C不为0,则直接返回,完成非独占锁定的解除。此时,由于非独占计数C不为0,即还有其他请求使用该帐号,所以解除一个进程(S卩,一个客户端请求)对该帐号的非独占锁定,但不释放该非独占锁定的帐号,使得其他进程继续以非独占锁定方式使用该帐号。如上所述,在本实施方式中,对帐号的锁定的可以是独占锁定,也可以是非独占锁定。锁定方式可以由图6所示的规则库353中针对不同请求所设定的规则510、520、530··· 中的锁定方式(515…)一项指定。也就是说,网关装置3能够根据解析部36的解析结果确定锁定方式。另外,对于独占锁定和非独占锁定,如果因某种原因某个进程无法锁定一个帐号,可是在图10、图12中必须要获取一个帐号才能进行下面的操作,则该进程等待一段时间(例如,数秒)之后再试图锁定一个帐号。如果尝试数次之后仍无法锁定一个帐号,该进程将停止操作,并向客户端返回一个出错报告。如图2所示,在存储部35存储有网关装置3访问服务器5时需要的服务器认证会话信息357,例如,网关装置3是否登录到服务器5的登录凭证信息等。独占锁定和非独占锁定不仅仅是对帐号本身的锁定,而且还包括对登录凭证信息等认证信息的锁定。网关装置3的处理部32在利用锁定的帐号与服务器5进行通信之前,根据服务器认证会话信息357判断该锁定的帐号与所述服务器的通信连接状态,若该帐号处于未与服务器5通信连接的状态,先建立该帐号与服务器5的通信连接。在实际应用中,大多数帐号已被网关装置3用于登录服务器5,因此,在退出登录之前,不同客户端I发来的多个请求可以相继利用某个已登录的帐号与服务器5通信,而不必进行多次登录,因此,可以节省帐号登录服务器5的时间。[发明的效果]在本实施方式中,通过锁定帐户避免了不同的客户端请求之间的冲突,保证多个客户端I利用同一帐号访问服务器5时不发生冲突,使得多个进程可以并行进行。通过及时解除对帐号的锁定和释放帐号,可以防止一个请求无限期地占用帐号。在本实施方式中,客户端I只需与网关装置3通信,不直接参与选择和利用可用的资源,客户端I建立与网关装置3的通信连接后,只需向网关装置3发送请求并从网关装置3接收请求结果。与服务器5通信时需进行的操作均由网关装置3执行,而且网关装置3可以在可用的帐号资源之间进行选择。所以客户端I的用户不必尝试不同帐号来登录服务器5,节省了客户端I屡次尝试利用不同资源,建立与服务器5的通信所花费的时间。并且可以使有限的帐号资源得到充分利用。[变形例]在上述实施方式中,网关装置3在客户端I的请求下与服务器5通信。除此之外,本发明的网关装置3还可以利用空闲的帐号与服务器5通信,定期执行预先设定的某些预定任务,得到并保存这些任务的执行结果。然后,定期向客户端I发送这样的执行结果,或者,当客户端I发出这些定期执行的任务请求时,直接将保存的相应执行结果发送给客户端I。比如,客户端I请求浏览新闻时, 网关装置3可以定时地从服务器5取得最新新闻,并将新闻发送给客户端1,从而实现客户端I上定期更新最新新闻。比如,预先确定的预定任务信息可以预先存储于存储部35。在上述实施方式中,根据客户端I可能发送的请求的类型将存储部35中存储的帐号资源进行了分组,解析部36解析客户端请求得到请求对应的帐号组,然后在该组帐号当中选择帐号并锁定。然而,在本发明中,也可以根据需要不对资源进行分组。例如,当网关装置3仅针对一个服务器5提供的一个服务或一类服务与服务器5进行通信时,可以不对资源(帐号)分组,而从多个用于访问服务器5的资源(帐号)当中选择一个可用的资源(帐号)与服务器5通信。在上述实施方式中,将帐号锁定方式分为独占锁定和非独占锁定。然而,在本发明中,也可以不对锁定方式进行分类,例如对所有请求都可以采用独占锁定与服务器5通信。在上述实施方式中,服务器5的资源信息是帐号信息。然而,在本发明中,还可以是其他任何资源息。在上述实施方式中以网关装置3用于文献检索为例进行了说明。然而,本发明不限于文献检索,也不限于web (网页)服务领域。上述实施方式详细说明了本发明的网关装置及其控制方法。然而,上述实施方式并不是对本发明的限制,本领域技术人员可以对上述实施方式进行各种变形和替换,通过这种变形和替换得到的技术方案均属于本发明的保护范围。另外,根据上述具体实施方式
的记载,本发明还包括以下实施形态。(附记I)一种网关装置,其包括存储部,其中预先存储有访问服务器的资源的信息;锁定部,其从所述资源中选择可用资源,并锁定该可用资源;以及处理部,其利用所述被锁定的可用资源与所述服务器进行通信,获得通信结果,并解除对所述可用资源的锁定。(附记2)在附记I所述的网关装置中,所述存储部中还预先存储有用来解析客户端发出的请求中所包含的信息的解析信息,所述网关装置还包括解析部,其根据所述解析信息解析所述请求,确定所述请求的锁定方式,其中,所述锁定部根据所述被确定的锁定方式对所述可用资源进行锁定。(附记3)在附记2所述的网关装置中,所述解析部根据所述解析信息解析所述请求,确定所述请求对应的操作,所述存储部中还预先存储有所述操作的内容信息,所述处理部利用所述被锁定的可用资源与所述服务器进行通信,执行所述操作的内容,获得通信结果,并解除对所述可用资源的锁定。(附记4)在附记2所述的网关装置中,所述解析部确定的锁定方式包括第一锁定和第二锁定,所述锁定部对所述可用资源进行所述第一锁定期间,不允许其他请求对所述被锁定的可用资源进行锁定;所述锁定部对所述可用资源进行所述第二锁定期间,允许其他请求对所述被锁定的可用资源进行所述第二锁定。(附记5)在附记4所述的网关装置中,所述存储部中还预先存储有资源锁定状态表,该资源锁定状态表显示所述访问服务器的资源被第一锁定和第二锁定的状态,所述锁定部利用所述资源锁定状态表选择所述可用资源。
(附记6)在附记2所述的网关装置中,所述解析部根据所述解析信息解析所述请求,确定所述请求对应的资源组,所述锁定部在所述确定的资源组中选择所述可用资源。(附记7)在附记I所述的网关装置中,所述存储部还预先存储有预定任务信息,其中,所述处理部根据所述预定任务信息,利用所述被锁定的可用资源,定期与所述服务器通信,获得通信结果,并解除对所述可用资源的锁定。(附记8)在附记7所述的网关装置中,当客户端发出与所述预定任务相关的请求时,所述处理部将所述通信结果发送给所述客户端。(附记9)在附记I所述的网关装置中,所述存储部还存储有对所述客户端进行身份认证的认证信息。(附记10)在附记I所述的网关装置中,所述存储部还存储有客户端与所述网关装置之间的会话信息。 (附记11)在附记I所述的网关装置中,所述资源信息包括访问所述服务器的帐号信息。(附记12)—种网关装置的控制方法,其包括锁定步骤,其根据预先存储的访问服务器的资源的信息,从所述资源中选择可用资源,并锁定该可用资源;以及通信步骤,其利用所述被锁定的可用资源与所述服务器进行通信,获得通信结果,并解除对所述可用资源的锁定。(附记13)在附记12所述的控制方法中,所述控制方法还包括解析步骤,其根据预先存储的用来解析客户端发出的请求中所包含的信息的解析信息,解析所述请求,确定所述请求的锁定方式,其中,在所述锁定步骤中,根据所述被确定的锁定方式对所述可用资源进行锁定。(附记14)在附记13所述的控制方法中,在所述解析步骤中,根据所述解析信息解析所述请求,确定所述请求对应的操作,在所述通信步骤中,利用所述被锁定的可用资源与所述服务器进行通信,执行预先存储的所述操作的内容,获得通信结果,并解除对所述可用资源的锁定。(附记15)在附记13所述的控制方法中,所述锁定方式包括第一锁定和第二锁定,在所述锁定步骤中,在对所述可用资源进行所述第一锁定期间,不允许其他请求对所述被锁定的可用资源进行锁定;在所述锁定步骤中,在对所述可用资源进行所述第二锁定期间,允许其他请求对所述被锁定的可用资源进行所述第二锁定。(附记16)在附记15所述的控制方法中,在所述锁定步骤中,利用预先存储的资源锁定状态表选择所述可用资源,所述资源锁定状态表显示所述访问服务器的资源被第一锁定和第二锁定的状态。(附记17)在附记13所述的控制方法中,在所述解析步骤中,根据所述解析信息解析所述请求,确定所述请求对应的资源组,在所述锁定步骤中,在所述确定的资源组中选择所述可用资源。(附记18)在附记12所述的控制方法中,在所述通信步骤中,根据预先存储的预定任务信息,利用所述被锁定的可用资源,定期与所述服务器通信,获得通信结果,并解除对所述可用资源的锁定。(附记19)在附记18所述的控制方法中,当客户端发出与所述预定任务相关的请求时,将所述通信结果发送给所述客户端。(附记20)在附记12所述的控制方法 中,所述资源信息包括访问所述服务器的帐
号信息。
权利要求
1.一种网关装置,其特征在于,包括 存储部,其中预先存储有访问服务器的资源的信息; 锁定部,其从所述资源中选择可用资源,并锁定该可用资源;以及处理部,其利用所述被锁定的可用资源与所述服务器进行通信,获得通信结果,并解除对所述可用资源的锁定。
2.根据权利要求I所述的网关装置,其特征在于, 所述存储部中还预先存储有用来解析客户端发出的请求中所包含的信息的解析信息, 所述网关装置还包括 解析部,其根据所述解析信息解析所述请求,确定所述请求的锁定方式, 其中,所述锁定部根据所述被确定的锁定方式对所述可用资源进行锁定。
3.根据权利要求2所述的网关装置,其特征在于, 所述解析部根据所述解析信息解析所述请求,确定所述请求对应的操作, 所述存储部中还预先存储有所述操作的内容信息, 所述处理部利用所述被锁定的可用资源与所述服务器进行通信,执行所述操作的内容,获得通信结果,并解除对所述可用资源的锁定。
4.根据权利要求2所述的网关装置,其特征在于, 所述解析部确定的锁定方式包括第一锁定和第二锁定, 所述锁定部对所述可用资源进行所述第一锁定期间,不允许其他请求对所述被锁定的可用资源进行锁定; 所述锁定部对所述可用资源进行所述第二锁定期间,允许其他请求对所述被锁定的可用资源进行所述第二锁定。
5.根据权利要求4所述的网关装置,其特征在于, 所述存储部中还预先存储有资源锁定状态表,该资源锁定状态表显示所述访问服务器的资源被第一锁定和第二锁定的状态, 所述锁定部利用所述资源锁定状态表选择所述可用资源。
6.根据权利要求2所述的网关装置,其特征在于, 所述解析部根据所述解析信息解析所述请求,确定所述请求对应的资源组, 所述锁定部在所述确定的资源组中选择所述可用资源。
7.根据权利要求I所述的网关装置,其特征在于, 所述存储部还预先存储有预定任务信息, 其中,所述处理部根据所述预定任务信息,利用所述被锁定的可用资源,定期与所述服务器通信,获得通信结果,并解除对所述可用资源的锁定。
8.根据权利要求7所述的网关装置,其特征在于, 当客户端发出与所述预定任务相关的请求时,所述处理部将所述通信结果发送给所述客户端。
9.根据权利要求I所述的网关装置,其特征在于, 所述存储部还存储有对所述客户端进行身份认证的认证信息。
10.一种网关装置的控制方法,其特征在于,包括 锁定步骤,其根据预先存储的访问服务器的资源的信息,从所述资源中选择可用资源,并锁定该可用资源;以及 通信步骤,其利用所述被锁定的可用资源与所述服务器进行通信,获得通信结果,并解除对所述可用资源的锁定。
全文摘要
本发明提供了一种网关装置及其控制方法,属于网络通信技术领域。本发明的网关装置,包括存储部,其中预先存储有访问服务器的资源信息;锁定部,其从资源信息中选择可用资源,并锁定该可用资源;以及处理部,其利用被锁定的可用资源与服务器进行通信,获得通信结果,并释放对可用资源的锁定。本发明的网关装置及其控制方法能够保证多个客户端同时使用同一资源时不发生冲突,使有限的资源得到最大限度的利用,可以在网络通信领域中广泛应用。
文档编号H04L29/08GK102957597SQ20111024786
公开日2013年3月6日 申请日期2011年8月26日 优先权日2011年8月26日
发明者李邵明, 钟朝亮, 张军, 王主龙, 松尾昭彦, 田中昌弘, 粂照宣, 大木憲二 申请人:富士通株式会社