CN101753592A - 用于数据处理的方法和系统 - Google Patents
用于数据处理的方法和系统 Download PDFInfo
- Publication number
- CN101753592A CN101753592A CN200810179465A CN200810179465A CN101753592A CN 101753592 A CN101753592 A CN 101753592A CN 200810179465 A CN200810179465 A CN 200810179465A CN 200810179465 A CN200810179465 A CN 200810179465A CN 101753592 A CN101753592 A CN 101753592A
- Authority
- CN
- China
- Prior art keywords
- request
- session
- pipeline
- response
- identifier
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 129
- 238000012545 processing Methods 0.000 title claims abstract description 124
- 230000004044 response Effects 0.000 claims abstract description 163
- 238000003860 storage Methods 0.000 claims description 25
- 238000002955 isolation Methods 0.000 claims description 24
- 238000009826 distribution Methods 0.000 claims description 4
- 238000000926 separation method Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 72
- 230000005540 biological transmission Effects 0.000 description 17
- 230000000875 corresponding effect Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000003672 processing method Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000002834 transmittance Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 230000009183 running Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000013517 stratification Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供了一种数据处理的方法和系统。该方法包括:响应于接收到一会话请求,所述会话请求包括一应用的应用标识符,一数据处理节点为所述应用建立一会话,并为所述会话分配一会话标识符;所述数据处理节点发送对所述会话请求的会话响应,其中所述会话响应包括所述会话标识符;响应于接收到一第一请求,所述第一请求包括所述会话标识符,所述数据处理节点在所述会话中建立一第一管道以便对与该第一请求相关的处理进行数据隔离,并为所述第一管道分配一第一管道标识符;以及所述数据处理节点发送对第一请求的第一响应,其中所述第一响应包括所述会话标识符和所述第一管道标识符。
Description
技术领域
本发明涉及数据通信方法,尤其涉及基于会话的数据处理方法和系统。
背景技术
开放系统互连(OSI)模型是国际标准化组织(ISO)建立的用于网络通信的一个标准。一个开放系统包括允许两个不同系统独立于下层体系结构进行通信的一套协议。特定厂商定义的协议使不相关系统间的通信变得不可能。OSI模型的目的就是在不需要改变系统的软硬件逻辑结构的条件下,允许不同系统间进行通信。OSI模型不是一套协议,而是用来理解和设计一个灵活、健壮和可互操作的网络体系结构的模型。
为了在各种类型的计算机系统之间建立允许相互通信的网络系统,OSI模型提供了一个用来进行网络系统设计的层次化框架。它包括七个相互独立但又互相关联的层次,每一层都定义了通过网络传递信息的一部分功能。这七个有序的层包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
物理层包括那些在物理介质上传输比特所必需的功能。物理层定义了接口与传输介质的机械和电气特性,也定义了物理设备和接口为了传输而必须执行的过程与功能。数据链路层,将物理层对数据不作任何改动的传输通道变成可靠的链路,并负责节点到节点的传输。这样,可以将物理层的数据无错地传给网络层。网络层负责通过网络将包从源地址传递到目的地址。
传输层负责整个报文从源端到目的端(端到端)的传递过程。会话层是网络的对话控制器,它建立和维护以及同步通信系统交互操作。表示层用于定义两个系统之间交换信息的语义和语法。应用层允许用户访问网络,可以提供用户接口和服务支持,如电子邮件、远程文件访问和传输、共享数据库管理以及其他信息服务。
网络上的用户每天经由计算机网络进行通信,接收和发送大量的信息以便进行商业上的交互。上述标准建立在多年之前。随着电子技术的迅猛发展,计算机网络,尤其是互联网的性能和容量发生了爆炸性的增长。网络传输的带宽已经能够支持大容量的数据传输需要,网络传输已经不再是一个瓶颈。网络传输为请求节点和响应节点提供了并行处理服务的空间,使得请求节点和响应节点可以专注于处理服务。因此,数据处理节点性能的提高,使得有必要对基于开放系统互连(OSI)模型的传输协议进行改进。例如,在开发Web应用时,经常需要在HTTP请求之间传输数据。传统的方法一般使用Web服务器或应用服务器的会话管理能力,来完成HTTP请求之间的传输数据。首先,在一个HTTP请求中,将数据放入设置有唯一标识符的会话中。然后,在另一个HTTP请求中通过会话的唯一标识符调用共享的数据。这种机制允许商业应用逻辑在多个HTTP请求之间传递数据参数。但是,当多个HTTP请求并发或需要分别隔离时,可能在会话中产生混乱。以下结合图1描述本发明发明人发现的已有技术中的不足之处。
图1示出了已有技术中通过会话进行数据通信的示意图。其中,示出了一客户节点110与一服务器节点120通过会话130,在服务器节点120进行数据共享。客户节点110包括一客户应用10,服务器节点120包括一服务器应用20。客户节点110与服务器节点120之间进行通信并建立物理层、数据链路层、网络层和传输层的连接。已有技术中有多种建立这种连接的方法,在此不再赘述。
根据客户应用10对服务器应用20的第一客户请求,在传输层连接上,客户节点110发出一第一请求11至服务器节点120,该第一请求11一般包括用户名和用户类型。
服务器节点120响应于该第一请求11,建立一会话130并为该会话分配一会话标识符。其中,服务器节点120可以为所述会话130分配服务器端的会话存储空间。
根据服务器应用20对客户应用10的第一服务响应,服务器节点120将对第一请求11的第一响应21发送回该客户节点110,该第一响应包括该会话标识符。客户节点110也可以相应地为所述会话130分配客户端的会话存储空间。
此后,服务器节点120与客户节点110通过会话130进行通信,并利用会话130共享数据。如客户节点110(根据客户应用10对服务器应用20的第二客户请求)发出一第二请求12至服务器节点120,该第二请求12包括该会话标识符以及用户名和用户类型,该第二请求12中还可以包括一对象A。服务器节点120收到该第二请求12后,将该对象A存储在上述服务器端的会话存储空间。服务器应用20处理第二请求12后,服务器节点将对第二请求的第二响应22通过会话130发回客户节点110。
此时,对象A依然存在于会话130中,直到服务器节点120删除对象A(如服务器应用20删除对象A)或者会话释放时被自动删除。服务器节点120的服务器应用20通过会话130在所有的请求和响应序列中共享存储的对象A。在服务器节点120的服务器应用20需要处理对象A时,可以从会话中检索对象A。这样,就实现了服务器节点120与客户节点110通过会话进行通信和数据共享。
但是如果上述发出请求的客户节点和服务器节点在建立会话之后,需要同时处理多个类似的请求A、B和C,这多个请求用于不同的用户帐户信息处理。当多个HTTP请求并发或需要分别隔离时,可能在会话中产生混乱,不同用户的帐户信息可能彼此覆盖。
发明内容
鉴于已有技术的不足,本发明提供了一种数据处理的方法,包括:响应于接收到一会话请求,所述会话请求包括一应用的应用标识符,一数据处理节点为所述应用建立一会话,并为所述会话分配一会话标识符;所述数据处理节点发送对所述会话请求的会话响应,其中所述会话响应包括所述会话标识符;响应于接收到一第一请求,所述第一请求包括所述会话标识符,所述数据处理节点在所述会话中建立一第一管道以便对与该第一请求相关的处理进行数据隔离,并为所述第一管道分配一第一管道标识符;以及所述数据处理节点发送对第一请求的第一响应,其中所述第一响应包括所述会话标识符和所述第一管道标识符。
本发明还提供了一种数据处理的方法,包括:响应于接收到一第一请求,所述第一请求包括一应用的应用标识符,一数据处理节点为所述应用建立一会话,并且为该第一请求建立所述会话中的一第一管道以便对与该第一请求相关的处理进行数据隔离,并为所述会话分配一会话标识符以及为所述第一请求分配一第一管道标识符;所述数据处理节点发送对所述第一请求的第一响应,其中所述第一响应包括所述会话标识符和所述第一管道标识符;响应于在接收到一第二请求,所述第二请求包括所述应用标识符或所述会话标识符但不包括所述第一管道标识符,所述数据处理节点在所述会话中建立一第二管道以便对与该第二请求相关的处理进行数据隔离,并为所述第二管道分配一第二管道标识符;以及所述数据处理节点发送对第二请求的第二响应,其中第二响应包括所述会话标识符和所述第二管道标识符。
本发明还提供了一种用于数据处理的系统,包括:会话建立模块,其响应于接收到一会话请求,所述会话请求包括一应用的应用标识符,为所述应用建立一会话,并为所述会话分配一会话标识符;会话响应模块,用于发送对所述会话请求的会话响应,其中所述会话响应包括所述会话标识符;管道建立模块,其响应于接收到一第一请求,所述第一请求包括所述会话标识符,在所述会话中建立一第一管道以便对与该第一请求相关的处理进行数据隔离,并为所述第一管道分配一第一管道标识符;以及管道响应模块,用于发送对第一请求的第一响应,其中所述第一响应包括所述会话标识符和所述第一管道标识符。
附图说明
图1示出了已有技术中通过会话进行数据通信的示意图。
图2a示出了根据本发明一实施例的数据处理方法的流程图。
图2b示出了根据本发明另一实施例的数据处理方法的流程图。
图3示出了根据本发明另一实施例的数据处理节点间进行通信的示意图。
图4示出根据本发明另一实施例的用于数据处理的系统。
具体实施方式
以下参照按照本发明实施例的方法、装置描述本发明。其中,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置(means)。
也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品。
还可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图2示出了根据本发明一实施例的数据处理方法的流程图。本领域的技术人员可以理解,该方法可以用于同一程序或进程中多线程并行处理的情况,但是,如果串行处理的速度能够实现对请求的响应(如响应时限满足预订的要求),则该串行处理也适用于本发明实施例的下述方法。该方法中的数据处理节点(如服务器节点)与发出请求的节点(如客户节点)之间已经进行通信,并建立了物理层、数据链路层、网络层和传输层的连接,或者其它类似功能的连接。上述连接的建立过程和方法与已有技术类似,在此不再详述。
传输层负责整个报文从源端到目的端(端到端)的传递过程。尽管网络层监管各个包的端到端的传递过程,但是并不了解这些包之间的相互关系。网络层独立地处理每个包,就像每个包都属于一个独立的报文一样,不管实际上是否这样。而传输层负责保证整个报文无差错并按顺序地到达目的地,并在信源到信宿的层次进行差错控制和流量控制。而应用层和表示层的功能有时可以在一个混合层中完成。在本说明书中,为了描述的方便将不再对表示层的表示功能转换进行描述。
传输控制协议/网际协议(TCP/IP)协议族的层次与OSI模型的层次并不严格对应。TCP/IP协议族由五个层次组成:物理层、数据链路层、网络层、传输层和应用层。前四层提供物理接口、网络接口、网际互连及传输功能,这几层与OSI模型的前四层相对应。而OSI模型最上面的三层在TCP/IP协议族中作为单独的一层,称为应用层。该应用层提供OSI模型最上面的三层的功能。
OSI前面三层(物理层、数据链路层与网络层)提供的服务对某些进程是不需要的。会话层是网络的对话控制器,它建立和维护以及同步通信系统交互操作。会话层提供对话控制,会话层允许两个系统进入会话。它允许两个进程之间以半双工(一次一方向)或全双工(一次两个方向)方式进行通信。会话层还提供同步。会话层允许一个进程在数据流中增加检查点(同步点)。例如,假设一个系统传输800页的一个文件,为了保证每收到100页就独立地进行确认,每100页后应适当插入检查点。在这种情况下,如果传输到第523页时发生崩溃,则在501页处开始重传,而第1-第500页不必重传。
本领域的技术人员可以理解,图2所示实施例的数据处理方法适用于基于OSI的传输层连接,也适用于基于TCP/IP协议族以及其它类似的传输层连接。
图2a的数据处理方法包括以下步骤。在步骤S201开始。在步骤S210,响应于接收到一会话请求,所述会话请求包括一应用的应用标识符,一数据处理节点为所述应用建立一会话以便在与所述会话相关的处理之间进行数据共享,并为所述会话分配一会话标识符。该步骤中建立会话的方法与图1中的方法类似。不同的是,在后续步骤中,该数据处理节点在会话中还将建立管道。
在步骤S220,所述数据处理节点发送对所述会话请求的会话响应,其中所述会话响应包括所述会话标识符。这样,该数据处理节点与发出请求的节点,如一客户节点,就可以通过建立的会话进行通信。并且,所述数据处理节点对与所述会话相关的处理进行数据共享。在本发明中,与会话相关的处理是与一管道相关的处理相对而言的。与会话相关的处理是指在与整个会话可以相关的处理,处理的数据或处理得到的数据可以在会话中以及会话的全部管道之间进行共享。与一管道相关的处理,是指处理的数据或处理得到的数据仅仅可以在该管道中共享,而与其它管道相隔离。与一特定请求相关的处理,是指处理的数据或处理得到的数据仅仅可以在该特定请求相关的管道中共享,而与其它管道相隔离。例如,一客户节点与服务器节点进行通信,服务器节点在会话中保存的用户名和经过处理用户请求得到用户权限的数据,可以在会话中以及会话的全部管道之间进行共享。对于一第一管道中的第一特定请求,可以根据会话中的用户名和用户权限的数据进行权限鉴定,根据鉴定结果对该第一特定请求进行处理。该第一特定请求中的数据,以及对该第一特定请求进行处理得到的数据仅仅在该第一管道中可以共享;亦即在与第一特定请求相关的处理之间共享第一管道中的数据。而对于一第二管道中的第二特定请求,也可以根据会话中用户名和用户权限的数据进行权限鉴定,根据鉴定结果对该第二特定请求进行处理。该第二特定请求中的数据,以及对该第二特定请求进行处理得到的数据仅仅在该第二管道中可以共享;亦即在与第二特定请求相关的处理之间共享第二管道中的数据。
在步骤S230,响应于接收到一第一请求,所述第一请求包括所述会话标识符,所述数据处理节点在所述会话中建立一第一管道以便对与该第一请求相关的处理进行数据隔离,并为所述第一管道分配一第一管道标识符。该步骤在会话中建立了一隔离机制。其中,所述数据处理节点可以对于向其提出请求的应用都建立管道,以便支持该应用可能发出的多个并行请求。还可以预先确定需要建立管道的应用。这样,所述数据处理节点可以根据所述应用标识符,响应于所述第一请求建立所述第一管道。
根据本发明的另一实施例,所述第一请求还可以包括建立管道的请求,以便针对有建立管道的请求建立管道,而对于没有携带管道标识符也没有提出建立管道请求的请求不建立管道,而只使用会话。
在步骤240,所述数据处理节点发送对第一请求的第一响应,其中所述第一响应包括所述会话标识符和所述第一管道标识符。
这样,该数据处理节点与发出请求的节点,如一客户节点,就可以通过建立的会话及其中的第一管道进行通信。并且数据处理节点对与该第一请求相关的处理(如根据该第一请求而产生的后续请求,对该后续请求的处理),进行数据隔离。该步骤可以根据数据处理节点的处理需要或应请求(如发出请求的一客户应用的一线程发出的请求需要与其它线程发出的请求进行隔离处理),在会话之中建立第一管道。此后,与该第一请求相关的处理将通过第一管道进行数据隔离。
在步骤280,结束。与已有技术相比,上述方法建立了具有隔离作用的管道机制。
图2b示出了根据本发明另一实施例的数据处理方法的流程图。与图2所示的方法相比,图3的方法还包括步骤250和步骤260。在步骤250,响应于接收到一第二请求,所述第二请求所述会话标识符但不包括所述第一管道标识符,所述数据处理节点在所述会话中建立一第二管道以便对与该第二请求相关的处理进行数据隔离,并为所述第二管道分配一第二管道标识符。与建立第一管道相似,第二管道建立的目的是对与该第二请求相关的处理通过第二管道进行数据隔离。在步骤260,所述数据处理节点发送对第二请求的第二响应,其中所述第二响应包括所述会话标识符和所述第二管道标识符。这样,根据图2b的方法,在与所述会话相关的处理之间共享管道之外的会话中的数据,与第一请求相关的处理之间通过第一管道共享数据,与第二请求相关的处理之间通过第二管道共享数据。与第一请求相关的处理和与第二请求相关的处理之间相互隔离,但是可以共享管道之外的会话中的数据。
本领域的技术人员可以理解,上述实施例中的会话请求可以单独发出,也可以将会话请求与第一请求合并到一个复合的请求中,而发出复合的请求。
以下简要分析发出复合请求以及请求并发时的处理的情况。在发出请求的同一应用中使用多线程并行处理的情况下,该多个线程中的每一个可以分别发出请求。这些请求并行发出,也可以根据线程处理的需要而先后发出。在上述第一请求和第二请求并行发出的情况下,如客户节点的一第一线程发出第一请求,而客户节点的第二线程并行发出一第二请求。这时,所述第一请求和所述第二请求均包括同一应用标识符。相应地,数据处理节点可以响应于该第一请求,建立一会话和该会话中的一第一管道,并为该会话分配一会话标识符以及为该第一请求分配一第一管道标识符;而响应于该第二请求,所述数据处理节点在所述会话中建立一第二管道,并为该第二管道分配一第二管道标识符。在上述第一请求和第二请求先后发出的情况下,如果发出第二请求时,客户节点并未收到对于第一请求的响应,则第二请求可以包括同一应用标识符。这种情况下,可以采用与上述类似的方法建立该会话及其中的第一管道和第二管道。在上述第一请求和第二请求并行发出的情况下,如果发出第二请求时,客户节点已经收到对于第一请求的响应,则所述第二请求可以包括所述会话标识符。这种情况下,该第二请求可以包括或不包括应用标识符。所述数据处理节点在所述会话中建立一第二管道,并为该第二管道分配一第二管道标识符。
图3示出了根据本发明另一实施例的数据处理节点间进行通信的示意图。本领域的技术人员可以理解,图3所示方法可以用于同一程序或进程中多线程并行处理的情况,但是,如果串行处理的速度能够实现对请求的响应(如响应时限满足预订的要求),则该串行处理也适用于本发明实施例的下述方法。图中示出的两个线程是用于说明的目的,而非用于限定。本领域的技术人员可以理解,图3的实施例中也可以包括多个线程。
图3中示出了一服务器节点320与客户节点310之间通过会话中的管道,来实现针对同一线程发出的多个请求的多个响应之间进行数据共享。客户节点310包括一客户应用301,服务器节点320包括一服务器应用302。该客户应用301包括多个并行运行线程,该多个线程中的每一个可以独立地将请求发给向服务器应用302。服务器应用302用于分别响应上述请求。服务器应用302可以包括多个并行运行的线程,用于分别响应上述请求。本领域的技术人员可以理解,如果服务器应用302在服务器节点320上的串行处理的速度能够实现对请求的响应(如响应时限满足预订的要求),则该串行处理也适用于本发明实施例的下述方法。
首先,服务器节点320与客户节点310进行通信,并建立物理层、数据链路层、网络层和传输层的连接,或者其它类似功能的连接。上述连接的建立过程和方法与已有技术类似,在此不再详述。
在上述传输层连接建立之后,根据客户应用301对服务器应用302的会话请求,所述会话请求包括一应用的应用标识符,服务器节点320建立一会话330,以便在与所述会话330相关的处理之间进行数据共享,并为所述会话330分配一会话标识符。服务器节点320将对所述会话请求的会话响应发回给客户节点310,其中所述会话响应包括所述会话标识符。
根据客户应用301的第一线程对服务器应用302的第一请求,客户节点310发出第一线程的第一请求311a至服务器节点320。该第一线程的第一请求311a可以包括上述会话标识符,还可以包括用户类型等其它属性。
响应于接收到该第一线程的第一请求311a,服务器节点320建立该会话中的一第一管道351,并为该第一请求分配一第一管道标识符。
在建立上述会话330时,所述服务器节点320可以为所述会话分配会话存储空间,在建立第一管道时,所述服务器节点320可以为所述第一管道分配第一管道存储空间。该步骤中建立会话的方法与图1中的方法类似。不同的是,该数据处理节点在会话中还建立了一第一管道351。
根据服务器应用303对第一线程的第一请求311a的响应,该服务器节点320将对客户节点310的第一线程的第一响应321发送给客户节点310。其中对第一线程的第一响应321包括该会话330的标识符和该第一管道351的标识符。这样,该服务器节点320与客户节点310的第一线程,就可以通过建立的会话330及其中的第一管道351进行通信。
为了提高处理效率,客户应用301的第二线程可以独立于上述第一线程向服务器应用发出请求,例如,与上述第一请求并行发出第二线程的第一请求。
根据客户应用301的第二线程对服务器应用302的另一第一请求,客户节点310发出第二线程的第一请求312a至服务器节点320。该第二线程的第一请求312a可以包括会话标识符或客户应用301的标识符,还可以包括用户类型等应用属性。
响应于接收到该第二线程的第一请求312a,服务器节点320建立上述会话330中的一第二管道352,并分配一第二管道标识符。在建立第二管道时,所述服务器节点320可以为所述第二管道分配第二管道存储空间。
根据服务器应用303对该第二线程的第一请求312a的响应,该服务器节点将对客户节点310的第二线程的第一响应322发送给客户节点310。其中该响应包括该会话330的标识符和该第二管道352的标识符。这样,该服务器节点320与客户节点310的第二线程,就可以通过建立的会话330及其中的第二管道352进行通信。
客户节点310的客户应用301与服务器节点320的服务器应用302的通信中,客户应用301的第一线程和第二线程可以使用不同的传输层端口,服务器节点320的服务器应用302可以使用同一个传输层端口。服务器节点320可以为客户节点310的客户应用提供一个传输层端口。不同的线程可以与服务器应用建立不同的传输层连接。这样,可以由传输层的对应关系来解决响应与线程之间的对应关系。例如,可以在一第一传输层连接上接收所述会话请求并发送所述会话响应;在一第二传输层连接上接收第一线程的第一请求311a并发送对第一线程的第一响应321;并且在一第三传输层连接上接收第二线程的第一请求312a并发送对第二线程的第一响应322。
本领域的技术人员可以理解,还可以由会话层来解决响应与线程之间的对应关系。例如,所述会话响应包括所述应用标识符;所述第一线程的第一请求311a还可以包括一第一线程的标识符;所述第二线程的第一请求312a还可以包括一第二线程的标识符;对第一线程的第一响应321还可以包括所述第一线程的标识符;对第二线程的第一响应322还包括所述第二线程的标识符。
因此,一个请求中可以包括客户应用标识符、线程标识符(或线程的传输层端口标识符)服务器节点的服务器应用的标识符和服务器应用使用的同一个传输层端口的标识符。
一个响应中可以包括客户应用标识符、线程标识符(或线程的传输层端口标识符)服务器节点的服务器应用的标识符和服务器应用使用的同一个传输层端口的标识符。
在图3的方法中,所述服务器节点320可以为所述会话330分配会话存储空间,为所述第一管道351分配第一管道存储空间,并为所述第二管道352分配第二管道存储空间。这样,所述服务器节点320可以在所述会话存储空间存储在所述会话330中共享的数据;所述服务器节点320在所述第一管道存储空间和所述第二管道存储空间分别存储需要隔离的数据。第一管道351和第二管道352需要共享的数据存储在(或复制到)会话存储空间;需要隔离的数据分别存储在其相应的管道存储空间。
根据对第一线程的第一响应321,客户节点310发出第一线程的第二请求311b至服务器节点320。该第一线程的第二请求311b包括所述会话标识符和所述第一管道标识符,相应地所述服务器节点发送对第一线程的第二请求311b的第二响应(图中未示出),其中该第二响应包括该会话标识符和该第一管道标识符。其中,所述第一线程的第一请求311a、第一线程的第二请求311b、对第一线程的第一响应321以及对第一线程的第二响应共享第一管道存储空间。
根据对第二线程的第一响应322,客户节点310可以发出第二线程的第二请求312b至服务器节点320。该第二线程的第二请求312b包括所述会话标识符和所述第二管道标识符,相应地所述服务器节点发送对第二线程的第二请求312b的第二响应(图中未示出),其中该第二响应包括该会话标识符和该第二管道标识符。其中,所述第二线程的第一请求312a、第二线程的第二请求312b、对第二线程的第一响应322以及对第二线程的第二响应共享第二管道存储空间。
这样,可以通过所述会话标识符共享会话中的数据;通过所述会话标识符和/或所述第一管道标识符访问所述第一管道的数据;通过所述会话标识符和/或所述第二管道标识符访问所述第二管道的数据。
与上述建立会话和管道的过程相对应,该服务器节点320还可以进行释放会话和管道的过程,以便结束通信。具体而言,该服务器节点320根据需要,可以释放所述第一管道,释放所述第二管道,以及释放所述会话。该释放过程可以采用主动释放和/或超时释放。例如,该服务器节点320与上述第一线程的交互结束,则可以主动释放第一管道及其存储空间。该服务器节点320与上述第二线程的交互超过预定的时限(如设置预定的寿命)仍然没有结束,或者服务器节点320与上述第二线程之间超过预定的时限(如设置预定的周期)没有进行进一步的交互,则可以强制释放该第二管道及其存储空间。
根据本发明的另一实施例,可以通过HTTP请求发送所述会话请求、所述第一请求和所述第二请求,以及相应的响应。
根据本发明的另一实施例,上述方法进一步包括:所述服务器节点320确定所述会话中建立管道的最大数量。根据服务器节点320的处理能力,或者为该服务或为一请求的节点分配的处理能力(处理资源),可以确定一会话中建立管道的最大数量。对于在该会话中进一步建立新管道的请求,如果之前建立的管道数量已经达到该管道的最大数量,则拒绝该建立新管道的请求,或者将该建立新管道的请求放入等待队列,在已有管道释放之后,再建立新的管道。
虽然该方法可以用于同一程序或进程中多线程并行处理的情况,但是,本领域的技术人员可以理解,如果串行处理的速度能够实现对请求的实时响应,则该串行处理也适用于本发明的上述方法。
根据本发明的另一实施例,有一家银行,信用卡管理部门(以下称部门A)管理着所有信用卡用户的详细用户数据,另有一个业务拓展部门(以下称部门B)有一个商业智能应用,通过采集A部门的用户数据,对用户使用信用卡的偏好作出分析。部门B提供两个HTTP服务来完成数据的采集,分别是S1和S2。要完成一次数据采集S1需要先执行,S2需要后执行,部门A会定期运行一个程序把新用户的信息提供给部门B,为了提高数据处理效率,部门A的程序会并行执行。下面具体描述应用程序交互数据的过程。其中,进程A用于运行A部门提交数据程序的进程;进程B用于运行B部门数据采集程序的进程。进程B包括S1和S2。
S1是一个HTTP服务,输入是:用户名和用户类型,当被调用时会执行以下程序步骤:创建一个HTTP会话,将用户名和用户类型暂时存入HTTP会话;访问商业智能模块以便分析当前用户;返回一个HTTP响应,其中包含会话标识符,以及一个XML格式的回复给调用方,该XML格式的回复描述了A还应该提供哪些信息。
S2是另一个HTTP服务,输入是:其他用户信息,当被调用时会执行以下程序步骤:取出S1存储在HTTP会话中的用户数据;将新的用户信息数据(XML格式)和取出的HTTP会话中的用户数据一起存入一数据库;并返回一个成功的状态给调用方。
A进程通过单一线程提交数据的执行序列如下。A进程构造一个HTTP请求,其中URL指定了该请求调用S1,该HTTP请求包含用户名和用户类型,发给进程B,(此请求不含会话标识符)。进程B执行S1对应的程序段,HTTP会话被生成并分配会话标识符,并且将用户名和用户类型被存入当前HTTP会话。进程B将相应的HTTP响应(其中包括HTTP会话标识符)发送给A进程。A进程收到HTTP响应,依据XML中的要求准备其他用户数据。A进程构造第二个HTTP请求,其中URL中指定该请求调用S2,将准备好的数据发给进程B(此请求包含会话标识符)。进程B执行S2对应的程序段,依据HTTP请求中包含的会话标识符,找到对应的会话缓存区,刚刚存入的用户名和用户类型被从HTTP会话中取出处理。A收到B的回复,成功结束。
根据已有技术,A进程通过两个以上线程提交数据的执行序列可能如下。
1.A进程生成两个线程T1和T2。
2.T1构造一个HTTP请求,其中的URL指定了该请求调用S1,该请求包含用户名和用户类型,发给进程B,(此时不含会话标识符)。
3.进程B执行S1对应的程序段。HTTP会话被生成并分配会话标识符和会话缓冲区,并且用户名和用户类型被存入当前HTTP会话。进程B将相应的HTTP响应(其中包括HTTP会话标识符)发送给A进程。
4.T1收到HTTP响应,依据XML中的要求准备其他用户数据(此时会话标识符已经返回到A进程)。
5.T2构造一个HTTP请求,其中的URL指定了该请求调用S1。该请求包含用户名和用户类型,发给进程B(此时它会自动携带4步中返回的会话标识符)。
6.进程B执行S1对应的程序段。依据T2提交的HTTP请求中包含的会话标识符,找到对应的会话缓存区,将T2提交的用户名和用户类被存入当前HTTP会话。此时在3中存入HTTP会话的数据被覆盖,因为T2和T1在同一个会话中。进程B将相应的HTTP响应(其中包括HTTP会话标识符)发送给A进程。
7.T2收到相应的HTTP响应,依据XML中的要求准备其他用户数据。
8.T1构造一个HTTP请求将准备好的数据提交给S2。
9.进程B执行S2对应的程序段,此处取到的用户名和用户类型已经在第5步被篡改。
10.T1收到B的回复,成功结束。虽然成功结束,但是实际的数据处理已经出现了错误。
11.T2构造一个HTTP请求将准备好的数据提交给S2。
12.进程B执行S2对应的程序段。此处取到的用户名和用户类型是正确的,正是T2提交的用户名和用户类型。
13.T2收到B的回复,成功结束。
根据已有技术的上述过程中,虽然T1和T2都成功结束,但是进程B在第9步使用了错误的用户名和用户类型。对于线程T1,实际的数据处理出现了错误。
根据本发明的以下实施例,在会话中使用管道机制来避免上述情况。管道可以看作一个子会话,和会话关键的区别就是管道标识符不会被客户端进程的所有线程共享。
S1:一个HTTP服务
输入是:用户名和用户类型。
当被调用时会执行以下程序步骤。
a1.在会话中创建一个管道,将用户名和用户类型暂时存入管道;(会话可以在建立管道之前被自动创建)。
b1.访问商业智能模块分析当前用户。
c1.返回一个HTTP响应,其中包含会话标识符和管道标识符,以及一个XML格式的回复给调用方,该XML格式的回复描述了A还应该提供哪些信息。
S2:另一个HTTP服务
输入是:其他用户信息。
当被调用时会执行以下程序步骤。
a2.取出S1存储在管道中的数据。
b2.将新的用户信息数据(xml格式)和a2中取出的用户数据一起存入数据库,释放管道。
c2.返回一个成功的状态给调用方。
根据本发明的该实施例A进程通过两个线程并行执行提交数据的执行情况如下。
1.A进程生成两个线程T1和T2
2.T1构造一个HTTP请求,其中的URL指定了该请求调用S1,该请求包含用户名和用户类型,发给进程B(此时不含会话标识符也不含管道标识符)。
3.进程B执行S1对应的程序段。HTTP会话被生成并分配会话标识符和会话缓冲区。建立会话中的一个第一管道并分配第一管道标识符,T1提交的用户名和用户类型被存入该第一管道。进程B将相应的HTTP响应(其中包括HTTP会话标识符和第一管道标识符。
4.T1收到HTTP响应,依据XML中的要求准备其他用户数据(此时会话标识符返回到A进程,而第一管道标识符仅在T1的线程空间)。
5.T2构造另一个HTTP请求,其中的URL指定了该请求调用S1。该请求包含用户名和用户类型,发给进程B(此时它会自动携带4步中返回的会话标识符,但是没有管道标识符)。
6.进程B执行S1对应的程序段。又一个新的第二管道被创建,T2提交的用户名和用户类型被存入该第二管道。进程B将相应的HTTP响应发给T2,其中包括第二管道标识符。
7.T2收到HTTP响应,依据XML中的要求准备其他用户数据。
8.T1根据其收到的响应构造一个HTTP请求将准备好的数据提交给S2,其中携带自己的第一管道标识符。
9.进程B执行S2对应的程序段,依据T1提交的第一管道标识符处理数据,得到正确的处理结果。
10.T1收到B的回复,成功结束。
11.T2根据其收到的响应构造一个HTTP请求将准备好的数据提交给S2,其中携带自己的第二管道标识符。
12.进程B执行S2对应的程序段,依据T2提交的第二管道标识符处理数据,也得到正确的处理结果。
13.T2收到B的回复,成功结束
在本发明的上述实施例中,在一个会话中建立管道的机制,实现了会话中不同线程的请求间的数据隔离处理。这样,为请求节点和响应节点提供了并行处理服务的空间,使得请求节点和响应节点可以专注于处理服务。根据服务处理能力,在请求节点和响应节点之间可以建立两个或多个管道。
图4示出根据本发明另一实施例的用于数据处理的系统。根据本发明的该实施例,所述用于数据处理的系统,包括:会话建立模块410,其响应于接收到一会话请求,所述会话请求包括一应用的应用标识符,为所述应用建立一会话,并为所述会话分配一会话标识符;会话响应模块420,用于发送对所述会话请求的会话响应,其中所述会话响应包括所述会话标识符;管道建立模块430,其响应于接收到一第一请求,所述第一请求包括所述会话标识符,在所述会话中建立一第一管道以便对与该第一请求相关的处理进行数据隔离,并为所述第一管道分配一第一管道标识符;以及管道响应模块440,用于发送对第一请求的第一响应,其中所述第一响应包括所述会话标识符和所述第一管道标识符。
根据本发明的进一步实施例,其中,所述管道建立模块430可以进一步配置为:响应于在接收到一第二请求,所述第二请求所述会话标识符但不包括所述第一管道标识符,在所述会话中建立一第二管道以便对与该第二请求相关的处理进行数据隔离,并为所述第二管道分配一第二管道标识符;以及所述管道响应模块440可以进一步配置为用于发送对第二请求的第二响应,其中所述第二响应包括所述会话标识符和所述第二管道标识符。
根据本发明的进一步实施例,其中,可以在一第一传输层连接上接收所述会话请求并发送所述会话响应;在一第二传输层连接上接收所述第一请求并发送所述第一响应;并且可以在一第三传输层连接上接收所述第二请求并发送所述第二响应。
根据本发明的进一步实施例,其中,所述会话响应可以包括所述应用标识符;所述第一请求还包括一第一线程的标识符;所述第二请求还可以包括一第二线程的标识符;所述第一响应还可以包括所述第一线程的标识符;所述第二响应还可以包括所述第二线程的标识符。
根据本发明的进一步实施例,其中,所述会话建立模块410可以为所述会话分配会话存储空间;所述管道建立模块430可以为所述第一管道分配第一管道存储空间,并可以为所述第二管道分配第二管道存储空间。
根据本发明的进一步实施例,其中,可以通过所述会话标识符共享会话中的数据;可以通过所述会话标识符和/或所述第一管道标识符访问所述第一管道的数据;可以通过所述会话标识符和/或所述第二管道标识符访问所述第二管道的数据。
根据本发明的进一步实施例,上述系统进一步包括管道释放模块,用于释放所述第一管道,释放所述第二管道;以及会话释放模块,用于释放所述会话。
根据本发明的进一步实施例,其中可以通过HTTP请求发送所述会话请求、所述第一请求和所述第二请求,以及相应的响应。
根据本发明的进一步实施例,其中,可以在所述会话存储空间存储在所述会话中共享的数据;可以在所述第一管道存储空间和所述第二管道存储空间分别存储需要隔离的数据。
根据本发明的进一步实施例,其中,所述管道响应模块440进一步配置为响应于接收到一第三请求,该第三请求包括所述会话标识符和所述第一管道标识符,发送对第三请求的第三响应,其中该第三响应包括该会话标识符和该第一管道标识符。
根据本发明的进一步实施例,其中,所述管道响应模块440进一步配置为响应于接收到一第三请求,该第三请求包括所述会话标识符和所述第一管道标识符,发送对第三请求的第三响应,其中该第三响应包括该会话标识符和该第一管道标识符;其中,所述第三请求、第三响应与所述第一请求、所述第一响应共享第一管道存储空间。
本发明还提供了一种存储介质或信号载体,其中包括用于执行根据本发明的方法的指令。
附图中的流程图和框图,图示了按照本发明实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所属技术领域的技术人员知道,本发明可以体现为系统、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明还可以采取体现在任何有形的表达介质(medium of expression)中的计算机程序产品的形式,该介质中包含计算机可用的程序码。
可以使用一个或多个计算机可用的或计算机可读的介质的任何组合。计算机可用的或计算机可读的介质例如可以是——但不限于——电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或传播介质。计算机可读介质的更具体的例子(非穷举的列表)包括以下:有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、诸如支持因特网或内部网的传输介质、或者磁存储器件。注意计算机可用的或计算机可读的介质甚至可以是上面印有程序的纸张或者其它合适的介质,这是因为,例如可以通过电扫描这种纸张或其它介质,以电子方式获得程序,然后以适当的方式加以编译、解释或处理,并且必要的话在计算机存储器中存储。在本文件的语境中,计算机可用的或计算机可读的介质可以是任何含有、存储、传达、传播、或传输供指令执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的介质。计算机可用的介质可包括在基带中或者作为载波一部分传播的、由其体现计算机可用的程序码的数据信号。计算机可用的程序码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等。
用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言——诸如”C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。
以上结合优选法方案对本发明进行了详细的描述,但是可以理解,以上实施例仅用于说明而非限定本发明。本领域的技术人员可以对本发明的所示方案进行修改而不脱离本发明的范围和精神。
Claims (23)
1.一种用于数据处理的方法,包括:
响应于接收到一会话请求,所述会话请求包括一应用的应用标识符,一数据处理节点为所述应用建立一会话,并为所述会话分配一会话标识符;
所述数据处理节点发送对所述会话请求的会话响应,其中所述会话响应包括所述会话标识符;
响应于接收到一第一请求,所述第一请求包括所述会话标识符,所述数据处理节点在所述会话中建立一第一管道以便对与该第一请求相关的处理进行数据隔离,并为所述第一管道分配一第一管道标识符;以及
所述数据处理节点发送对第一请求的第一响应,其中所述第一响应包括所述会话标识符和所述第一管道标识符。
2.根据权利要求1所述的方法,其中进一步包括:响应于在接收到一第二请求,所述第二请求所述会话标识符但不包括所述第一管道标识符,所述数据处理节点在所述会话中建立一第二管道以便对与该第二请求相关的处理进行数据隔离,并为所述第二管道分配一第二管道标识符;以及
所述数据处理节点发送对第二请求的第二响应,其中所述第二响应包括所述会话标识符和所述第二管道标识符。
3.根据权利要求2所述的方法,其中,在一第一传输层连接上接收所述会话请求并发送所述会话响应;在一第二传输层连接上接收所述第一请求并发送所述第一响应;并且在一第三传输层连接上接收所述第二请求并发送所述第二响应。
4.根据权利要求2所述的方法,其中,所述会话响应包括所述应用标识符;所述第一请求还包括一第一线程的标识符;所述第二请求还包括一第二线程的标识符;所述第一响应还包括所述第一线程的标识符;所述第二响应还包括所述第二线程的标识符。
5.根据权利要求2所述的方法,其中,在一第一传输层连接上,接收所述会话请求和所述第一请求并发送所述会话响应和所述第一响应;并且在一第二传输层连接上接收所述第二请求并发送所述第二响应。
6.根据权利要求2-5任一项所述的方法,其中,所述数据处理节点为所述会话分配会话存储空间,为所述第一管道分配第一管道存储空间,并为所述第二管道分配第二管道存储空间。
7.根据权利要求6所述的方法,其中,所述数据处理节点在所述会话存储空间存储在所述会话中共享的数据;所述数据处理节点在所述第一管道存储空间和所述第二管道存储空间分别存储需要隔离的数据。
8.根据权利要求1或2所述的方法,其中进一步包括:
响应于接收到一第三请求,该第三请求包括所述会话标识符和所述第一管道标识符,所述数据处理节点发送对第三请求的第三响应,其中该第三响应包括该会话标识符和该第一管道标识符。
9.根据权利要求6所述的方法,其中进一步包括:
响应于接收到一第三请求,该第三请求包括所述会话标识符和所述第一管道标识符,所述数据处理节点发送对第三请求的第三响应,其中该第三响应包括该会话标识符和该第一管道标识符;其中,所述第三请求、第三响应与所述第一请求、所述第一响应共享第一管道存储空间。
10.根据权利要求2所述的方法,其中,通过所述会话标识符共享会话中的数据;通过所述会话标识符和/或所述第一管道标识符访问所述第一管道的数据;通过所述会话标识符和/或所述第二管道标识符访问所述第二管道的数据。
11.根据权利要求2所述的方法,进一步包括:释放所述第一管道,所述释放第一管道包括主动释放和/或超时释放。
12.根据权利要求1所述的方法,其中,所述数据处理节点根据所述应用标识符,响应于所述第一请求建立所述第一管道。
13.根据权利要求1所述的方法,其中,所述第一请求包括建立管道的请求。
14.根据权利要求1或2所述的方法,其中进一步包括:所述数据处理节点确定所述会话中建立管道的最大数量。
15.一种数据处理的方法,包括:
响应于接收到一第一请求,所述第一请求包括一应用的应用标识符,一数据处理节点为所述应用建立一会话,并且为该第一请求建立所述会话中的一第一管道以便对与该第一请求相关的处理进行数据隔离,并为所述会话分配一会话标识符以及为所述第一请求分配一第一管道标识符;
所述数据处理节点发送对所述第一请求的第一响应,其中所述第一响应包括所述会话标识符和所述第一管道标识符;
响应于在接收到一第二请求,所述第二请求包括所述应用标识符或所述会话标识符但不包括所述第一管道标识符,所述数据处理节点在所述会话中建立一第二管道以便对与该第二请求相关的处理进行数据隔离,并为所述第二管道分配一第二管道标识符;以及
所述数据处理节点发送对第二请求的第二响应,其中第二响应包括所述会话标识符和所述第二管道标识符。
16.根据权利要求15所述的方法,其中所述第一请求和所述第二请求均包括同一应用标识符。
17.根据权利要求15所述的方法,其中,所述第二请求包括所述会话标识符。
18.一种用于数据处理的系统,包括:
会话建立模块,其响应于接收到一会话请求,所述会话请求包括一应用的应用标识符,为所述应用建立一会话,并为所述会话分配一会话标识符;
会话响应模块,用于发送对所述会话请求的会话响应,其中所述会话响应包括所述会话标识符;
管道建立模块,其响应于接收到一第一请求,所述第一请求包括所述会话标识符,在所述会话中建立一第一管道以便对与该第一请求相关的处理进行数据隔离,并为所述第一管道分配一第一管道标识符;以及
管道响应模块,用于发送对第一请求的第一响应,其中所述第一响应包括所述会话标识符和所述第一管道标识符。
19.根据权利要求18所述的系统,其中所述管道建立模块进一步配置为:响应于在接收到一第二请求,所述第二请求所述会话标识符但不包括所述第一管道标识符,在所述会话中建立一第二管道以便对与该第二请求相关的处理进行数据隔离,并为所述第二管道分配一第二管道标识符;以及
所述管道响应模块进一步配置为用于发送对第二请求的第二响应,其中所述第二响应包括所述会话标识符和所述第二管道标识符。
20.根据权利要求19所述的系统,其中,在一第一传输层连接上接收所述会话请求并发送所述会话响应;在一第二传输层连接上接收所述第一请求并发送所述第一响应;并且在一第三传输层连接上接收所述第二请求并发送所述第二响应。
21.根据权利要求19所述的系统,其中,所述会话响应包括所述应用标识符;所述第一请求还包括一第一线程的标识符;所述第二请求还包括一第二线程的标识符;所述第一响应还包括所述第一线程的标识符;所述第二响应还包括所述第二线程的标识符。
22.根据权利要求18-21中任一项所述的系统,其中,所述会话建立模块为所述会话分配会话存储空间;所述管道建立模块为所述第一管道分配第一管道存储空间,并为所述第二管道分配第二管道存储空间。
23.根据权利要求19所述的系统,其中,通过所述会话标识符共享会话中的数据;通过所述会话标识符和/或所述第一管道标识符访问所述第一管道的数据;通过所述会话标识符和/或所述第二管道标识符访问所述第二管道的数据。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101794652A CN101753592B (zh) | 2008-11-28 | 2008-11-28 | 用于数据处理的方法和系统 |
US12/625,817 US8352617B2 (en) | 2008-11-28 | 2009-11-25 | Method and system for data processing |
TW098140069A TW201032550A (en) | 2008-11-28 | 2009-11-25 | Method and system for data processing |
US13/416,948 US8352619B2 (en) | 2008-11-28 | 2012-03-09 | Method and system for data processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101794652A CN101753592B (zh) | 2008-11-28 | 2008-11-28 | 用于数据处理的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101753592A true CN101753592A (zh) | 2010-06-23 |
CN101753592B CN101753592B (zh) | 2013-04-17 |
Family
ID=42223796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101794652A Expired - Fee Related CN101753592B (zh) | 2008-11-28 | 2008-11-28 | 用于数据处理的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (2) | US8352617B2 (zh) |
CN (1) | CN101753592B (zh) |
TW (1) | TW201032550A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016112793A1 (zh) * | 2015-01-12 | 2016-07-21 | 阿里巴巴集团控股有限公司 | 并发多业务会话的方法及其系统 |
CN103701712B (zh) * | 2013-12-03 | 2016-10-19 | 中国电子科技集团公司第三十研究所 | 一种将多个e1线路绑定且实现逻辑通道分离的方法 |
CN110731073A (zh) * | 2019-02-01 | 2020-01-24 | 阿里巴巴集团控股有限公司 | 在区块链系统中的节点之间建立通信的方法和设备 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102186164B (zh) * | 2011-02-18 | 2014-04-02 | 华为技术有限公司 | 操作设备资源的方法和管理装置 |
US9026613B2 (en) * | 2011-08-29 | 2015-05-05 | Vmware, Inc. | Permanent connection oriented communication using parallel single connection circuits |
US9268854B2 (en) * | 2013-03-29 | 2016-02-23 | International Business Machines Corporation | Analytics based on pipes programming model |
CN105812351B (zh) * | 2016-02-23 | 2019-04-09 | 平安科技(深圳)有限公司 | 实现会话共享的方法和系统 |
US10447763B2 (en) * | 2016-12-08 | 2019-10-15 | Nanning Fugui Precision Industrial Co., Ltd. | Distributed storage method and system |
US10855587B2 (en) * | 2018-10-19 | 2020-12-01 | Oracle International Corporation | Client connection failover |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050138421A1 (en) * | 2003-12-23 | 2005-06-23 | Fedronic Dominique L.J. | Server mediated security token access |
CN100433652C (zh) * | 2006-01-11 | 2008-11-12 | 华为技术有限公司 | 多数据通信网络系统及其数据传输方法 |
CN101030844A (zh) * | 2006-03-01 | 2007-09-05 | 华为技术有限公司 | 一种光纤通道业务复用器、数据传送系统及数据传送方法 |
US8151323B2 (en) * | 2006-04-12 | 2012-04-03 | Citrix Systems, Inc. | Systems and methods for providing levels of access and action control via an SSL VPN appliance |
CN101237403B (zh) * | 2008-03-04 | 2011-12-28 | 中兴通讯股份有限公司 | 用于以太网的业务复用方法 |
-
2008
- 2008-11-28 CN CN2008101794652A patent/CN101753592B/zh not_active Expired - Fee Related
-
2009
- 2009-11-25 US US12/625,817 patent/US8352617B2/en not_active Expired - Fee Related
- 2009-11-25 TW TW098140069A patent/TW201032550A/zh unknown
-
2012
- 2012-03-09 US US13/416,948 patent/US8352619B2/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701712B (zh) * | 2013-12-03 | 2016-10-19 | 中国电子科技集团公司第三十研究所 | 一种将多个e1线路绑定且实现逻辑通道分离的方法 |
WO2016112793A1 (zh) * | 2015-01-12 | 2016-07-21 | 阿里巴巴集团控股有限公司 | 并发多业务会话的方法及其系统 |
CN105847217A (zh) * | 2015-01-12 | 2016-08-10 | 阿里巴巴集团控股有限公司 | 并发多业务会话的方法及其系统 |
CN110731073A (zh) * | 2019-02-01 | 2020-01-24 | 阿里巴巴集团控股有限公司 | 在区块链系统中的节点之间建立通信的方法和设备 |
US11310321B2 (en) | 2019-02-01 | 2022-04-19 | Advanced New Technologies Co., Ltd. | Methods and devices for establishing communication between nodes in blockchain system |
CN110731073B (zh) * | 2019-02-01 | 2022-05-24 | 蚂蚁双链科技(上海)有限公司 | 在区块链系统中的节点之间建立通信的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
US8352619B2 (en) | 2013-01-08 |
TW201032550A (en) | 2010-09-01 |
US8352617B2 (en) | 2013-01-08 |
US20100138544A1 (en) | 2010-06-03 |
CN101753592B (zh) | 2013-04-17 |
US20120173737A1 (en) | 2012-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101753592B (zh) | 用于数据处理的方法和系统 | |
CN101461190B (zh) | 管理计算节点间的通信 | |
CN101689169B (zh) | 分布式操作系统中外部硬件装置的管理 | |
US7606832B2 (en) | System and method for orchestrating composite web services in constrained data flow environments | |
CN100437671C (zh) | 异地授权系统及方法 | |
US20050050228A1 (en) | Method and apparatus for the use of dynamic XML message formats with web services | |
US20120089677A1 (en) | Method and system for providing network services | |
CN101163117B (zh) | 一种群组管理方法、群组资源共享方法及即时通讯装置 | |
CN101379785A (zh) | 消息历史记录显示系统和方法 | |
CN101783771A (zh) | 一种实现负载均衡持续性的方法和设备 | |
CN110677383B (zh) | 防火墙开墙方法、装置、存储介质及计算机设备 | |
KR20140010960A (ko) | 다수의 소프트웨어 애플리케이션이 연계된 세션을 제공하는 방법 및 시스템 | |
CN1973282A (zh) | 用于管理针对集群配置的改变的系统和方法 | |
AlShahwan et al. | Mobile cloud computing for providing complex mobile web services | |
US7925736B2 (en) | Message redirection within a messaging infrastructure | |
US20080235384A1 (en) | Web service for coordinating actions of clients | |
US20090132582A1 (en) | Processor-server hybrid system for processing data | |
CN109672718A (zh) | 系统间的文件传递方法、服务器、存储介质及装置 | |
CN107181747A (zh) | 一种包含顶层节点的Handle解析系统 | |
US20160212083A9 (en) | Connection sharing across entities in a distributed messaging system | |
WO2020004252A1 (ja) | 番号管理システム、番号管理方法および番号管理装置 | |
CN102150397B (zh) | 在共享托管环境中对对应于主机名的请求作出响应的方法以及托管多个主机名的方法 | |
CN105959252A (zh) | 处理会话日志的方法及装置 | |
Blanchet et al. | Conversation errors in web service coordination: Run-time detection and repair | |
CN118041819B (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 | ||
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: 20130417 |
|
CF01 | Termination of patent right due to non-payment of annual fee |