CN101534319B - 一种解除指令间依赖关系的方法、系统和代理服务器 - Google Patents

一种解除指令间依赖关系的方法、系统和代理服务器 Download PDF

Info

Publication number
CN101534319B
CN101534319B CN2008102257537A CN200810225753A CN101534319B CN 101534319 B CN101534319 B CN 101534319B CN 2008102257537 A CN2008102257537 A CN 2008102257537A CN 200810225753 A CN200810225753 A CN 200810225753A CN 101534319 B CN101534319 B CN 101534319B
Authority
CN
China
Prior art keywords
instruction
server
instructions
client
pid
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.)
Expired - Fee Related
Application number
CN2008102257537A
Other languages
English (en)
Other versions
CN101534319A (zh
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.)
All Tong Tong (Beijing) Information Service Co., Ltd.
Original Assignee
All Tong Tong (beijing) Information Service Co Ltd
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 All Tong Tong (beijing) Information Service Co Ltd filed Critical All Tong Tong (beijing) Information Service Co Ltd
Priority to CN2008102257537A priority Critical patent/CN101534319B/zh
Publication of CN101534319A publication Critical patent/CN101534319A/zh
Application granted granted Critical
Publication of CN101534319B publication Critical patent/CN101534319B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种解除客户服务器系统中指令间依赖关系的方法、系统和代理服务器,所述方法包括:客户端与服务器之间具有代理服务器,代理服务器与服务器之间基于服务器分配的PID建立连接;代理服务器分析用户从客户端提交的指令,转换成可迅速获得应答的独立指令,然后再提交至服务器,并将所述指令的执行结果返回客户端,从而可以减少每条指令对PID资源的占用时间。在本发明系统中,客户端不直接与服务器连接,服务器只对代理服务器进行PID验证,客户端提交的指令都是由代理服务器缓存、重新调度后提交到服务器的,从而实现多用户多客户端共享一个或多个PID资源获得服务器服务的技术效果。

Description

一种解除指令间依赖关系的方法、系统和代理服务器
技术领域
本发明涉及客户服务器系统的网络通信领域,特别是涉及一种解除客户服务器系统中指令间依赖关系的方法、系统和代理服务器。 
背景技术
客户服务器系统是一种网络数据访问的实现方式,系统中有一台或多台服务器以及大量的客户机,服务器配备大容量存储器并安装数据库系统,用于数据的存放和数据检索;客户机安装专用的客户端软件,负责数据的输入、运算和输出。目前采用这种模型的系统应用非常广泛,如用于民航、酒店的GDS系统,用于餐馆、超市的POS系统,用于银行、邮电的网络系统等。 
在这种结构模型下,客户端与服务器建立连接后,服务器为该客户端软件分配一定的资源,因此,能够并发连接到服务器的客户端的数量是有限的,为保证服务器及其业务的安全、可靠,有些系统为每个客户端分配一套认证信息资源(PID),用户从客户端软件登录服务器系统后,会一直占用该PID资源,等处理完成相关业务,从服务器退出后,才释放该PID。 
另外,要完成一个业务,有时候需要在客户端与服务器之间完成多个指令的交互,而有些指令之间是有依赖关系的,即一条指令的完成,需要依赖其他指令的执行结果才能完成,在等待关联指令的过程中,该客户端需要长时间占用PID资源。这种方案下,无法实现多个用户共享一个PID资源进行相关的业务操作。 
下面以现有的全球分销系统(GDS,Global Distribution System)为例进行说明: 
GDS提供了一个全球产品数据平台,通过采用自愿协调一致的标准,使贸易伙伴彼此间在供应链中连续不断的协调产品数据属性,共享主数据,保证各数据库的主数据同步及各数据库之间协调一致。为保证服务器及其业务的安全,GDS系统为每个客户端分配一个PID,当用户通过GDS客户端登录到GDS系统时,GDS首先验证该客户端提交的PID的合法性,然后再验证用户的密码是否正确,之后,客户端才能基于该PID,向GDS系统发送交互指令;只有等业务结束,用户提交退出指令后,才能释放该用户对PID的占用。 
GDS系统中,有些指令之间是有依赖关系的,如:用于查询可用仓位的AV指令和用于翻页的PN指令,PN指令的执行,需要依赖AV指令的执行结果,PN指令完成后,才能结束AV指令的业务;但用户发送PN指令的间隔时间往往会比较长,这种情况下,该用户就需要长时间占用PID资源,无法实现多用户共享一个或几个PID的需求。 
总之,需要本领域技术人员迫切解决的一个技术问题就是:如何解除客户服务器系统中指令间的依赖关系,使得发送到服务器的业务指令能够迅速得到应答,减少PID的占用时间,从而实现多用户共享一个或多个PID进行业务操作。 
发明内容
本发明所要解决的技术问题是提供一种解除客户服务器系统中指令间依赖关系的方法,实现多用户共享一个或多个PID获得服务器的业务服务。 
本发明还提供了一种解除客户服务器系统中指令间依赖关系的系统和代理服务器装置,以保证上述方法在实际中的应用。 
为了解决上述问题,本发明公开了一种解除客户服务器系统中指令间依赖关系的方法,其特征在于,所述客户服务器系统中的客户端与服务器之间具有代理服务器,所述代理服务器包括存储客户端提交的用户指令的指令缓存区和存储服务器返回的指令执行结果的结果缓存区,所述代理服务器与服务器之间基于服务器分配的认证信息资源PID建立连接,所述方法包括: 
客户端发送用户提交的指令; 
代理服务器解析所述用户提交指令的类型,若为独立指令,则将所述指令存储至相应用户的指令缓存区; 
若为关联指令,则依据所述指令按照预置规则生成新的独立指令,存储至相应用户的指令缓存区;当所述关联指令为解析指令时,所述预置规则为:所述代理服务器从相应用户的结果缓存区读取与所述关联指令相关的数据,生成一条或多条新的指令,然后,将所述新生成的指令顺序存储至相应用户的指令 缓存区; 
当所述关联指令为前置指令时,预置规则为:所述代理服务器判断相应用户的指令缓存区中是否有所述关联指令的前置指令,如果有,则按所述关联指令的前置指令、所述关联指令的顺序存储至相应用户的指令缓存区; 
当所述关联指令为后续指令时,预置规则为:所述代理服务器生成所述关联指令的后续指令,然后按所述关联指令、所述新生成的后续指令的顺序存储至相应用户的指令缓存区; 
代理服务器判断PID资源的状态,如果PID没有被占用,则占用该PID,顺序将所述用户指令缓存区中的指令提交至服务器,以及,接收服务器返回的指令执行结果并存储至相应用户的结果缓存区,并释放所述PID资源; 
代理服务器向客户端返回所述指令执行结果。 
优选的,所述方法还包括: 
所述代理服务器收到用户提交的指令后,首先判断相应用户的结果缓存区中是否存在所述用户提交指令的执行结果,若是,则直接读取所述指令执行结果返回给客户端。 
优选的,所述用户的指令缓存区和结果缓存区具有相应标识。 
优选的,所述用户的指令缓存区和结果缓存区采用内存缓存的方式。 
优选的,所述存储为,以字节流形式记录至缓存区。 
优选的,所述方法还包括: 
所述用户从客户端退出与代理服务器的连接后,所述代理服务器释放该用户的指令缓存区和结果缓存区。 
优选的,所述方法还包括: 
若所述代理服务器与服务器的连接中断,所述代理服务器自动检测,并重新基于所述服务器分配的PID建立连接。 
优选的,所述代理服务器基于所述服务器分配的一个或多个PID建立与所述服务器的连接。 
本发明还公开了一种解除客户服务器系统中指令间依赖关系的系统,包括客户端和服务器,其特征在于:在所述客户端与服务器之间设置代理服务器,所述代理服务器包括指令处理单元、缓存管理单元和PID管理单元,其中: 
PID管理单元基于服务器为客户端分配的PID与所述服务器建立连接; 
指令处理单元接收用户从客户端提交的指令,判断指令类型,对于独立指令,则直接将所述指令交缓存管理单元存储至相应用户的指令缓存区;对于关联指令,指令处理单元依据所述指令按照预置规则生成新的独立指令,然后交缓存管理单元存储至相应用户的指令缓存区;当所述关联指令为解析指令时,预置规则为:所述指令处理单元从缓存管理单元读取与所述关联指令相关的数据,生成一条或多条新的指令,然后,将上述新生成的指令,交缓存管理单元顺序存储至相应用户的指令缓存区; 
当所述关联指令为前置指令时,预置规则为:所述指令处理单元判断缓存管理单元是否有所述关联指令的前置指令,如果有,则按所述关联指令的前置指令、所述关联指令的顺序交缓存管理单元存储至相应用户的指令缓存区; 
当所述关联指令为后续指令时,预置规则为:所述指令处理单元生成所述关联指令的后续指令,然后按所述关联指令、所述新生成的后续指令的顺序交缓存管理单元存储至相应用户的指令缓存区; 
PID管理单元判断PID资源的状态,如果PID没有被占用,则占用该PID,顺序将所述用户指令缓存区中的指令提交至服务器,以及,接收服务器返回的指令执行结果,交缓存管理单元存储至相应用户的结果缓存区,并释放所述PID资源; 
指令处理单元将所述指令的执行结果返回客户端。 
优选的,所述系统的指令处理单元收到用户提交的指令后,首先判断缓存管理单元是否存在所述用户提交指令的执行结果,若是,则直接读取所述指令执行结果返回给客户端。 
优选的,所述缓存管理单元具有相应的用户标识。 
优选的,当所述用户从客户端退出与代理服务器的连接后,所述缓存管理单元释放该用户的指令缓存区和结果缓存区。 
本发明实施例还公开了一种解除客户服务器系统中指令间依赖关系的代理服务器装置,其特征在于,所述代理服务器包括指令处理单元,缓存管理单元和PID管理单元,其中: 
PID管理单元基于服务器为客户端分配的PID与所述服务器建立连接; 
指令处理单元接收用户从客户端提交的指令,判断指令类型,对于独立指令,则直接将所述指令交缓存管理单元存储至相应用户的指令缓存区;对于关 联指令,指令处理单元依据所述指令按照预置规则生成新的独立指令,然后交缓存管理单元存储至相应用户的指令缓存区; 
当所述关联指令为解析指令时,预置规则为:所述指令处理单元从缓存管理单元读取与所述关联指令相关的数据,生成一条或多条新的指令,然后,将上述新生成的指令,交缓存管理单元顺序存储至相应用户的指令缓存区; 
当所述关联指令为前置指令时,预置规则为:所述指令处理单元判断缓存管理单元是否有所述关联指令的前置指令,如果有,则按所述关联指令的前置指令、所述关联指令的顺序交缓存管理单元存储至相应用户的指令缓存区; 
当所述关联指令为后续指令时,预置规则为:所述指令处理单元生成所述关联指令的后续指令,然后按所述关联指令、所述新生成的后续指令的顺序交缓存管理单元存储至相应用户的指令缓存区; 
PID管理单元判断PID资源的状态,如果PID没有被占用,则占用该PID,顺序将所述用户指令缓存区中的指令提交至服务器,以及,接收服务器返回的指令执行结果,交缓存管理单元存储至相应用户的结果缓存区,并释放所述PID资源; 
指令处理单元将所述指令的执行结果返回客户端; 
用户从客户端退出与代理服务器的连接后,缓存管理单元释放该用户的指令缓存区和结果缓存区。 
与现有技术相比,本发明具有以下优点: 
首先,代理服务器解除了客户端提交的指令之间的依赖关系,因此,提交至服务器的指令都是能够迅速获得应答的独立指令,应答完成后,即可立即释放PID资源,可以大大减少每条指令对PID资源的占用时间; 
其次,在本发明系统中,客户端不直接与服务器连接,服务器只对代理服务器进行PID验证;另外,客户端提交的指令都是由代理服务器缓存、重新调度后提交到服务器的;因此,可以实现多用户多客户端共享一个或多个PID获得服务器服务的技术效果; 
 第三,本发明的系统中,多用户是分时共享PID资源的,用户数量的增加不会增加服务器的负担,相反,因服务器不需要记录指令的状态,反而会降低对服务器资源的消耗,从而提高服务器的性能。 
另外,客户端发送指令请求后,可以直接从代理服务器的缓存中获取所需要的数据,与到远程的服务器获取数据相比,节省响应时间,增强用户使用体验。 
附图说明
图1是本发明解除客户服务器系统中指令间依赖关系的方法第一实施例流程图; 
图2是本发明解除客户服务器系统中指令间依赖关系的方法第二实施例流程图; 
图3是本发明解除客户服务器系统中指令间依赖关系的代理服务器装置实施例结构框图; 
图4是本发明解除客户服务器系统中指令间依赖关系的系统实施例结构框图。 
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。 
本发明的核心构思之一在于,分析客户服务器系统中,用户所发出的指令的特点,把它们转换成可迅速获得应答的独立指令,减少每条指令对网络连接所需要的PID资源的占用时间,然后,调度这些指令提交到服务器的时机,从而达到多用户共享PID资源的技术效果。 
参照图1,示出了本发明一种解除客户服务器系统中指令间依赖关系的方法第一实施例流程图,在该方法实施例涉及的所述客户服务器系统中,客户端与服务器之间具有代理服务器,所述代理服务器包括存储客户端提交的用户指令的指令缓存区,还包括存储服务器返回的指令执行结果的结果缓存区,所述代理服务器与服务器之间基于服务器分配的PID建立连接。 
具体包括以下步骤:
步骤101:客户端发送用户提交的指令。 
步骤102:代理服务器判断所述指令的类型是否为独立指令?若是,则转步骤103;否则,转步骤104。 
步骤103:代理服务器将所述指令存储至相应用户的指令缓存区。 
步骤104:对于关联指令,代理服务器按预置规则生成新的独立指令,存储至相应用户的指令缓存区。 
步骤105:代理服务器判断PID资源的状态是否未被占用?若是,则转步骤106;否则,等待下次调度。 
步骤106:代理服务器占用所述PID资源,将所述用户指令缓存区中的独立指令顺序提交至服务器。 
步骤107:代理服务器接收服务器返回的指令执行结果,并存储至相应用户的结果缓存区;之后,释放PID资源。 
步骤108:代理服务器向客户端返回所述指令执行结果。 
为使本领域技术人员更好地理解本发明,以下通过举例对本发明的优选实施例进行说明。 
优选的,当所述关联指令为解析指令时,预置规则为: 
所述代理服务器从相应用户的结果缓存区读取与所述关联指令相关的数据,生成一条或多条新的指令,然后,将所述新生成的指令顺序存储至相应用户的指令缓存区;其中,新生成的指令为独立指令。 
优选的,当所述关联指令为前置指令时,预置规则为: 
所述代理服务器判断相应用户的指令缓存区中是否有所述关联指令的前置指令,如果有,则按所述关联指令的前置指令、所述关联指令的顺序存储至相应用户的指令缓存区。 
下面以GDS系统中AB与RT指令为例进行说明: 
用AB命令查询某个代理10月10日预定的北京上海的订座记录。 
>AB:10OCT/PEKSHA 
服务器会返回如下结果:
AGENT BOOKING LIST 
10OCT  PEKSHA 
001    1DING/NING     VBNK9 Y HX2 BJS123 CA 1501 10OCT 
002    1GUORUILIN     T055P K RR2 BJS123 CA 934 10OCT 
003    0HU/YONGFEI    Q07V1 K HX2 BJS123 CA 934 10OCT 
004    1JIANG/LIPING  NZHXZ Y HX5 BJS123 CA 984 10OCT 
005    1JIANG/BIAO    MT7Y5 Y HX6 BJS123 CA 986 10OCT 
006    1JIANG/BIAO    MT7Y5 Y HX6 BJS123 CA 986 10OCT 
007    1KONGWEIDONG   W8B9J F RR1 BJS123 MU 5122 10OCT 
此时,用RT1命令可以直接提取出第一条记录的详细结果。 
1.DING/NING P53WS 
2.CA1501 Y FR10DEC PEKSHA DK1  0840  1035  777 S 0 
3.BJS/T PEK/T 010-63406973/SHIPU TRAVE AGENCY/LIU DE PU ABCDEFG 
4.PEK/66017755-2509 
5.TL/1200/10OCT/BJS123 
6.BJS123 
但是,如果在发送RT1之前,没有发送AB命令,则服务器报告命令错误。 
RT1为前置指令类型,是只有执行了其前置指令AB后才能使用的指令。 
对前置指令RT1,代理服务器的处理过程是: 
当代理服务器收到用户从客户端发送的RT1时,首先检测该用户的指令缓存空间中是否有AB指令,如果存在,则在该用户的指令缓存区中以AB、RT1的顺序保存指令;否则,向客户端返回错误信息。 
优选的,当所述关联指令为后续指令时,预置规则为: 
所述代理服务器生成所述关联指令的后续指令,然后按所述关联指令、所述新生成的后续指令的顺序存储至相应用户的指令缓存区。 
下面以GDS系统中AV指令为例进行说明: 
AV指令属于后续指令类型,对于该指令请求,GDS服务器只能返回第一 页的数据,需要用翻页指令PN才能获得后续的数据。 
如:AV命令查询北京到上海12月10日可用仓位情况。 
>AV:PEKSHA/10DEC 
服务器只返回如下结果: 
AVPEKSHA10DEC 
10DEC(FRI)PEKSHA 
1-   CA1501 PEKSHA 0840 1035 777 0 M DS# CA YA BA KS MA 
2    WH2520 PEKSHA 1130 1320 310 0 M DS# FA YA BS 
3    MU583 PEKSHA 1140 1340 M11 0M DS# FS C AYA EQ VA 
4    CA983 PEKSHA 1310 1455 74E 0 M DS# FS PS CS JS YS SS HS KS MS TS*
5    NW5983 PEKSHA 1310 1455 EQV 0 M*JZ CZ YZ BZ MZ HZ QZ VZ 
6    MU5102 PEKSHA 1320 1535 M11 0 M DS# CA YA EQ VA QA ZS 
7+   CA991 PEKSHA 1340 1540 74M 0 M DS# FS CS YS SS HS KS MS TS GS XS*
**   SHA-HONGQIAO AIRPORT PVG-PUDONG AIRPORT 
当代理服务器收到用户从客户端发送的AV:PEKSHA/10DEC时,首先从代理服务器的软件配置信息中读取需要PN指令的次数,如需要3次PN翻页;然后在该用户的指令缓存区中以AV、PN、PN、PN的顺序保存指令。 
优选的,所述用户的指令缓存区和结果缓存区具有相应标识,即缓存区中的指令和结果中,有用户的名称或代码标识,用以区分缓存区中指令和结果的归属。 
优选的,用户的指令缓存区和结果缓存区采用内存缓存方式。采用内存缓存方式可以充分利用代理服务器的内存资源,提高指令的响应速度。 
优选的,指令缓存区和结果缓存区的存储方式为:以字节流形式进行记录。 
优选的,所述用户从客户端退出与代理服务器的连接后,所述代理服务器释放为用户的指令缓存区和结果缓存区。 
优选的,代理服务器还包括如下功能: 
代理服务器能自动检测与服务器的连接状态,当代理服务器与服务器的连接中断时,代理服务器基于所述服务器分配的PID重新与服务器建立连接。这 样,可以保证当代理服务器与服务器的连接因网络、服务器或其他原因中断时,可以尽快恢复连接,从而保障用户的指令请求可以迅速得到应答。 
优选的,所述代理服务器基于所述服务器分配的一个或多个PID建立与所述服务器的连接,从而,连接到代理服务器上的多个终端用户能够共享一个或多个PID资源,使得服务器业务能够得到更充分的利用。 
参照图2,示出了本发明一种解除客户服务器系统中指令间依赖关系的方法第二实施例流程图,在该方法实施例涉及的所述客户服务器系统中,包括有客户端、代理服务器和服务器,其中代理服务器包括存储客户端提交的用户指令的指令缓存区,还包括存储服务器返回的指令执行结果的结果缓存区,所述代理服务器与服务器之间基于服务器分配的PID建立连接。 
具体包括以下步骤: 
步骤201:客户端发送用户提交的指令。 
步骤202:代理服务器判断该用户的结果缓存区是否有所述指令的执行结果?如果有,则转步骤209;否则,转步骤203。 
步骤203:代理服务器判断所述指令的类型是否为独立指令?若是,则转步骤204;否则,转步骤205。 
步骤204:代理服务器将所述指令存储至相应用户的指令缓存区。 
步骤205:代理服务器按预置规则生成新的独立指令,存储至相应用户的指令缓存区。 
步骤206:代理服务器判断PID资源的状态是否未被占用?若是,则转步骤207;否则,等待下次调度。 
步骤207:代理服务器占用所述PID资源,将所述用户指令缓存区中的独立指令顺序提交至服务器。 
步骤208:代理服务器接收服务器返回的指令执行结果,并存储至相应用户的结果缓存区;之后,释放PID资源。 
步骤209:代理服务器向客户端返回所述指令执行结果。 
下面以GDS系统中AV和PN指令为例进行说明:
用户A从客户端发送AV指令(步骤201),代理服务器判断A用户的缓存区中没有AV指令的执行结果,转步骤203(步骤202),代理服务器判断AV指令不是独立指令,转步骤205(步骤203),代理服务器按照预置规则生成新的指令序列AV,PN,PN,PN(步骤205),代理服务器判断PID资源没有被占用,转步骤207(步骤206),代理服务器占用PID资源,把A用户缓存区中的指令AV,PN,PN,PN按顺序提交至服务器(步骤207),服务器顺序返回AV执行后的结果第1页、第2页、第3页、第4页,代理服务器把上述结果存储至用户A的缓存区中,然后释放PID资源(步骤208),代理服务器把AV指令执行结果的第1页返回给客户端(步骤209)。 
然后,用户A从客户端发送PN指令(步骤201),代理服务器判断A用户的缓存区中有PN指令的前置指令AV的执行结果,转步骤209(步骤202),代理服务器把AV指令执行结果的第2页返回客户端(步骤209)。 
参照图3,示出了本发明一种解除客户服务器系统中指令间依赖关系的代理服务器装置实施例结构框图,具体包括以下单元: 
单元31:指令处理单元,用于接收用户从客户端提交的指令,解析指令类型,生成新的指令,并把所述新生成的新指令交缓存管理单元32存储至相应用户的指令缓存区;用于把缓存管理单元32的相应用户结果缓存区中指令的执行结果返回给客户端。 
单元32:缓存管理单元,用于暂时保存指令处理单元31解除依赖关系之后的独立指令和PID管理单元33提交至服务器的指令返回的执行结果;用于释放退出登录连接后的用户的指令缓存区和结果缓存区。 
单元33:PID管理单元,用于建立代理服务器与服务器之间基于PID的连接,用于管理PID的状态、以及用于把缓存管理单元32的指令提交至服务器,并把服务器的返回结果交缓存管理单元32存储至相应用户的结果缓存区。 
参照图4,示出了本发明一种解除客户服务器系统中指令间依赖关系的系统实施例结构框图,具体包括:
单元41:客户端,安装有专用的客户端软件,用于数据的输入、运算和输出;用户从客户端单元41与代理服务器单元43建立连接。 
单元42:服务器,安装有数据库系统,用于共享数据的存放和数据检索;用于为客户端分配区别于其他客户端的PID;代理服务器43基于所述PID与服务器单元42建立连接。 
单元43:代理服务器,用于基于PID建立与服务器单元42的连接,用于接收客户端单元41的指令,解除指令间的依赖关系,向服务器单元42提交客户端的指令,然后把指令的执行结果返回客户端单元41。代理服务器单元43包括指令处理子单元431、缓存管理子单元432和PID管理子单元433。 
本系统实施例的工作流程如下: 
代理服务器单元43的PID管理子单元433基于PID建立与服务器单元42的连接; 
用户从客户端单元41发送指令到代理服务器单元43; 
指令处理子单元431判断所述指令的类型,若为独立指令,则交缓存管理子单元432存储至所述用户的指令缓存区; 
若为关联指令,指令处理子单元431则依据所述指令按照预置规则生成新的独立指令,然后交缓存管理子单元432将所述新生成的指令存储至所述用户的指令缓存区; 
PID管理子单元433判断PID资源的状态,如果PID未被占用,则占用该PID,顺序从缓存管理子单元432提取相应用户指令缓存区中的指令,提交至服务器单元42,以及,接收服务器单元42返回的指令执行结果,交缓存管理子单元432存储至相应用户的结果缓存区,然后释放所述PID资源; 
指令处理子单元431从缓存管理子单元432中相应用户的结果缓存区,取出所述指令的执行结果,返回客户端单元41。 
优选的,本系统实施例工作流程还包括: 
所述指令处理子单元431收到用户提交的指令后,首先判断缓存管理子单元432是否存有所述用户提交指令的执行结果,若是,则直接读取所述指令的执行结果返回给客户端单元41。
优选的,本系统实施例工作流程还包括: 
所述用户从客户端单元41退出与代理服务器单元43的连接后,所述缓存管理子单元432释放该用户的指令缓存区和结果缓存区。 
优选的,当所述关联指令为解析指令时,预置规则为: 
代理服务器单元43的指令处理子单元431从缓存管理子单元432读取与所述关联指令相关的数据,创建一条或多条新的指令,然后,缓存管理子单元432将所述新生成的指令,顺序存储至所述用户的指令缓存区。 
优选的,当所述关联指令为前置指令时,预置规则为: 
代理服务器单元43的指令处理子单元431判断缓存管理子单元432是否存储有所述关联指令的前置指令,如果有,则交缓存管理子单元432按所述关联指令的前置指令、所述关联指令的顺序存储至所述用户的指令缓存区。 
优选的,当所述关联指令为后续指令时,预置规则为: 
代理服务器单元43的指令处理子单元431生成所述关联指令的后续指令,然后缓存管理子单元432按所述关联指令、所述新生成的后续指令的顺序存储至所述用户的指令缓存区。 
优选的,缓存管理子单元432按用户的名称或代码标识暂时保存该用户发出的指令和服务器单元42返回的指令的执行结果。 
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于本发明的系统和代理服务器装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。 
以上对本发明所提供的一种解除客户服务器系统中指令间依赖关系的方法、代理服务器和系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (13)

1.一种解除客户服务器系统中指令间依赖关系的方法,其特征在于,所述客户服务器系统中的客户端与服务器之间设置有代理服务器,所述代理服务器包括存储客户端提交的用户指令的指令缓存区和存储服务器返回的指令执行结果的结果缓存区,所述代理服务器与服务器之间基于服务器分配的认证信息资源PID建立连接,所述方法包括:
客户端发送用户提交的指令;
代理服务器解析所述用户提交指令的类型,若为独立指令,则将所述指令存储至相应用户的指令缓存区;
若为关联指令,则依据所述指令按照预置规则生成新的独立指令,存储至相应用户的指令缓存区;当所述关联指令为解析指令时,所述预置规则为:所述代理服务器从相应用户的结果缓存区读取与所述关联指令相关的数据,生成一条或多条新的指令,然后,将所述新生成的指令顺序存储至相应用户的指令缓存区;
当所述关联指令为前置指令时,预置规则为:所述代理服务器判断相应用户的指令缓存区中是否有所述关联指令的前置指令,如果有,则按所述关联指令的前置指令、所述关联指令的顺序存储至相应用户的指令缓存区;
当所述关联指令为后续指令时,预置规则为:所述代理服务器生成所述关联指令的后续指令,然后按所述关联指令、所述新生成的后续指令的顺序存储至相应用户的指令缓存区;
代理服务器判断PID资源的状态,如果PID没有被占用,则占用该PID,顺序将所述用户指令缓存区中的指令提交至服务器,以及,接收服务器返回的指令执行结果并存储至相应用户的结果缓存区,并释放所述PID资源;
代理服务器向客户端返回所述指令执行结果。
2.如权利要求1所述的方法,其特征在于,还包括:
所述代理服务器收到用户提交的指令后,首先判断相应用户的结果缓存区中是否存在所述用户提交指令的执行结果,若是,则直接读取所述指令执行结果返回给客户端。
3.如权利要求1所述的方法,其特征在于,所述用户的指令缓存区和结果缓存区具有相应标识。
4.如权利要求1所述的方法,其特征在于,所述用户的指令缓存区和结果缓存区采用内存缓存的方式。
5.如权利要求1所述的方法,其特征在于,所述存储为,以字节流形式记录至缓存区。
6.如权利要求1所述的方法,其特征在于,还包括:
所述用户从客户端退出与代理服务器的连接后,所述代理服务器释放该用户的指令缓存区和结果缓存区。
7.如权利要求1所述的方法,其特征在于,还包括:
若所述代理服务器与服务器的连接中断,所述代理服务器自动检测,并重新基于所述服务器分配的PID建立连接。
8.如权利要求1所述的方法,其特征在于:
所述代理服务器基于所述服务器分配的一个或多个PID建立与所述服务器的连接。
9.一种解除客户服务器系统中指令间依赖关系的系统,包括客户端和服务器,其特征在于:在所述客户端与服务器之间设置有代理服务器,所述代理服务器包括指令处理单元、缓存管理单元和PID管理单元,其中:
PID管理单元基于服务器为客户端分配的PID与所述服务器建立连接;
指令处理单元接收用户从客户端提交的指令,判断指令类型,对于独立指令,则直接将所述指令交缓存管理单元存储至相应用户的指令缓存区;对于关联指令,指令处理单元依据所述指令按照预置规则生成新的独立指令,然后交缓存管理单元存储至相应用户的指令缓存区;当所述关联指令为解析指令时,预置规则为:所述指令处理单元从缓存管理单元读取与所述关联指令相关的数据,生成一条或多条新的指令,然后,将上述新生成的指令,交缓存管理单元顺序存储至相应用户的指令缓存区;
当所述关联指令为前置指令时,预置规则为:所述指令处理单元判断缓存管理单元是否有所述关联指令的前置指令,如果有,则按所述关联指令的前置指令、所述关联指令的顺序交缓存管理单元存储至相应用户的指令缓存区;
当所述关联指令为后续指令时,预置规则为:所述指令处理单元生成所述关联指令的后续指令,然后按所述关联指令、所述新生成的后续指令的顺序交缓存管理单元存储至相应用户的指令缓存区;
PID管理单元判断PID资源的状态,如果PID没有被占用,则占用该PID,顺序将所述用户指令缓存区中的指令提交至服务器,以及,接收服务器返回的指令执行结果,交缓存管理单元存储至相应用户的结果缓存区,并释放所述PID资源;
指令处理单元将所述指令的执行结果返回客户端。
10.如权利要求9所述的系统,其特征在于,还包括:
所述指令处理单元收到用户提交的指令后,首先判断缓存管理单元是否存在所述用户提交指令的执行结果,若是,则直接读取所述指令执行结果返回给客户端。
11.如权利要求9所述的系统,其特征在于,所述缓存管理单元具有相应的用户标识。
12.如权利要求9所述的系统,其特征在于,还包括:
所述用户从客户端退出与代理服务器的连接后,所述缓存管理单元释放该用户的指令缓存区和结果缓存区。
13.一种解除客户服务器系统中指令间依赖关系的代理服务器,其特征在于,所述代理服务器包括指令处理单元,缓存管理单元和PID管理单元,其中:
PID管理单元基于服务器为客户端分配的PID与所述服务器建立连接;
指令处理单元接收用户从客户端提交的指令,判断指令类型,对于独立指令,则直接将所述指令交缓存管理单元存储至相应用户的指令缓存区;对于关联指令,指令处理单元依据所述指令按照预置规则生成新的独立指令,然后交缓存管理单元存储至相应用户的指令缓存区;当所述关联指令为解析指令时,预置规则为:所述指令处理单元从缓存管理单元读取与所述关联指令相关的数据,生成一条或多条新的指令,然后,将上述新生成的指令,交缓存管理单元顺序存储至相应用户的指令缓存区;
当所述关联指令为前置指令时,预置规则为:所述指令处理单元判断缓存管理单元是否有所述关联指令的前置指令,如果有,则按所述关联指令的前置指令、所述关联指令的顺序交缓存管理单元存储至相应用户的指令缓存区;
当所述关联指令为后续指令时,预置规则为:所述指令处理单元生成所述关联指令的后续指令,然后按所述关联指令、所述新生成的后续指令的顺序交缓存管理单元存储至相应用户的指令缓存区;
PID管理单元判断PID资源的状态,如果PID没有被占用,则占用该PID,顺序将所述用户指令缓存区中的指令提交至服务器,以及,接收服务器返回的指令执行结果,交缓存管理单元存储至相应用户的结果缓存区,并释放所述PID资源;
指令处理单元将所述指令的执行结果返回客户端;
用户从客户端退出与代理服务器的连接后,缓存管理单元释放该用户的指令缓存区和结果缓存区。
CN2008102257537A 2008-11-11 2008-11-11 一种解除指令间依赖关系的方法、系统和代理服务器 Expired - Fee Related CN101534319B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102257537A CN101534319B (zh) 2008-11-11 2008-11-11 一种解除指令间依赖关系的方法、系统和代理服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102257537A CN101534319B (zh) 2008-11-11 2008-11-11 一种解除指令间依赖关系的方法、系统和代理服务器

Publications (2)

Publication Number Publication Date
CN101534319A CN101534319A (zh) 2009-09-16
CN101534319B true CN101534319B (zh) 2012-01-04

Family

ID=41104706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102257537A Expired - Fee Related CN101534319B (zh) 2008-11-11 2008-11-11 一种解除指令间依赖关系的方法、系统和代理服务器

Country Status (1)

Country Link
CN (1) CN101534319B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104731780B (zh) * 2013-12-18 2018-04-27 青岛海尔空调器有限总公司 代理服务器、包含其的数据库执行信息的获取系统和获取方法
CN104915180B (zh) * 2014-03-10 2017-12-22 华为技术有限公司 一种数据操作的方法和设备
CN104935612A (zh) * 2014-03-17 2015-09-23 深圳市金蝶友商电子商务服务有限公司 一种数据处理方法及服务器
CN105007303B (zh) * 2015-06-05 2019-08-20 冠研(上海)专利技术有限公司 物联网连接方法
CN108632646B (zh) * 2017-03-20 2021-12-10 腾讯科技(深圳)有限公司 一种视频直播方法、装置及服务器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1609802A (zh) * 2003-10-24 2005-04-27 微软公司 用于管理许可的编程接口
CN1735889A (zh) * 2003-10-24 2006-02-15 微软公司 分析部分未解析的输入的机制
CN1737765A (zh) * 2003-12-08 2006-02-22 英特尔公司 在多处理器系统中调度中断的方法及设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1609802A (zh) * 2003-10-24 2005-04-27 微软公司 用于管理许可的编程接口
CN1735889A (zh) * 2003-10-24 2006-02-15 微软公司 分析部分未解析的输入的机制
CN1737765A (zh) * 2003-12-08 2006-02-22 英特尔公司 在多处理器系统中调度中断的方法及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
US 6,708,327 B1,2004.03.16,全文.
US 7,006,881 B1,2006.02.28,全文.

Also Published As

Publication number Publication date
CN101534319A (zh) 2009-09-16

Similar Documents

Publication Publication Date Title
CN102236843B (zh) 票务订购方法、装置和系统
CN101573923B (zh) 用于传播数字同步冲突的知识的传播方法
CN106372994A (zh) 一种处理订单的方法和系统
CN101534319B (zh) 一种解除指令间依赖关系的方法、系统和代理服务器
CN102932472B (zh) 一种数据处理方法以及通信系统
CN103858122A (zh) 保持客户端/服务器系统内的分布式复制内容的高度一致性的方法和系统
CN102799485B (zh) 历史数据的迁移方法及装置
CN107527222B (zh) 信息处理方法和装置及系统
CN107871221B (zh) 用于获取可销售库存数量的方法和装置
CN102984298B (zh) 基于域名组实现的域名注册方法及系统
KR20140010960A (ko) 다수의 소프트웨어 애플리케이션이 연계된 세션을 제공하는 방법 및 시스템
CN101378329B (zh) 分布式业务运营支撑系统和分布式业务的实现方法
CN101788961A (zh) 对块设备进行异步请求的数据访问方法
CN112468409A (zh) 访问控制方法、装置、计算机设备及存储介质
CN103369038A (zh) 平台即服务PaaS管理平台及方法
CN106096918A (zh) 用于对会议的行程进行管理的方法和装置
CN108520401B (zh) 用户名单管理方法、装置、平台及存储介质
CN107562803A (zh) 数据供应系统及方法、终端
CN111078152A (zh) 一种基于云平台的云硬盘创建方法和装置
JP2001229058A (ja) データベースサーバ処理方法
CN105677478A (zh) 资源管理的方法和装置
CN110163596B (zh) 一种资源额度分享系统及方法
CN1984354B (zh) 对用户帐户资源进行管理的方法和装置
CN104156358B (zh) 一种用于数据库的表的批量读取方法、装置和系统
CN111897839A (zh) 一种数据处理方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: GTA (BEIJING) INFORMATION SERVICE CO., LTD.

Free format text: FORMER OWNER: HANGLVXINTONG (BEIJING) INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20111115

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100022 CHAOYANG, BEIJING TO: 100125 CHAOYANG, BEIJING

TA01 Transfer of patent application right

Effective date of registration: 20111115

Address after: 100125 Beijing city Chaoyang District Xiaguang No. 15 layer 2 4 unit 511

Applicant after: All Tong Tong (Beijing) Information Service Co., Ltd.

Address before: 100022 A 6S, fortune Apartaments Centric, 7 East Third Ring Road, Beijing, Chaoyang District

Applicant before: The voyage of ICT (Beijing) Information Technology Co. Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120104

Termination date: 20161111

CF01 Termination of patent right due to non-payment of annual fee