CN113098935B - 会话保持方法、装置及存储介质 - Google Patents
会话保持方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113098935B CN113098935B CN202110315196.3A CN202110315196A CN113098935B CN 113098935 B CN113098935 B CN 113098935B CN 202110315196 A CN202110315196 A CN 202110315196A CN 113098935 B CN113098935 B CN 113098935B
- Authority
- CN
- China
- Prior art keywords
- information
- service
- session
- user terminal
- transaction
- 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.)
- Active
Links
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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- 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/141—Setup of application sessions
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Abstract
本申请提供一种会话保持方法、装置及存储介质,该会话保持方法包括在获取用户终端发送的针对目标交易的业务请求信息后,建立所述用户终端和所述服务器的交易会话;对所述业务请求信息进行业务能力检查,得到业务检查结果;当所述业务检查结果为所述服务器可处理所述目标交易的目标业务能力无法匹配所述用户终端的业务需求时,保持所述交易会话,向所述用户终端发送业务问询请求,所述业务问询请求中包括所述目标业务能力的信息;接收所述用户终端基于所述业务问询请求的响应信息;若所述响应信息为接受所述目标业务能力的反馈信息,恢复所述交易会话。本申请实施例实现对交易会话进行保持,提高对HTTP协议的处理能力。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种会话保持方法、装置及存储介质。
背景技术
HTTP(Hypertext transfer protocol,超文本传输协议)是互联网上应用最为广泛的协议,因为协议自身的无状态特性,在众多需要连续交互的应用场景中(例如电子商务、用户管理等),以及在互联网上配备负载均衡设备的环境中,经常需要让应用交付设备把相关联的一系列请求转发给同一台服务器进行处理。例如,电子商务网站的购物车,用户终端浏览器与网页(Web)服务器之间进行数据交互,当用户终端向购物车中添加商品时,Web服务器必须保留用户终端的购物车信息,才不会出现问题。因此,需要通过会话保持技术以保证需要会话保持的用户终端的HTTP请求报文被分配到同一服务器上进行处理,以保证通讯的完整性和安全性。
现有技术采用的会话保持方法中,一般是根据用户终端请求中的特定信息、cookie信息和IP(Internet Protocol,互联网间协议)地址等实现会话保持。利用IP地址实现会话保持的方法,需要有一张动态的会话保持表,例如,源IP会话保持和目的会话保持,该方法并不解析HTTP协议,无法支持HTTP协议自身携带的用户终端属性;另外,采用cookie信息实现会话保持,虽然不需要会话保持表,但需要修改原始的报文,加入会话保持的信息。在某些安全要求等级较高的网络中有可能被认为是一种异常,或被误认为是网络攻击,同时这类方法对HTTP的支持也仅限于cookie,在浏览器禁用cookie时,这种会话保持方法将完全失效。
因此,采用何种方法能提高对HTTP协议的处理能力的问题。
发明内容
本申请提供一种会话保持方法、装置及存储介质,旨在提高对HTTP协议的处理能力的问题。
一方面,本申请提供一种会话保持方法,应用于服务器,所述方法包括:
在获取用户终端发送的针对目标交易的业务请求信息后,建立所述用户终端和所述服务器的交易会话;
对所述业务请求信息进行业务能力检查,得到业务检查结果;
当所述业务检查结果为所述服务器可处理所述目标交易的目标业务能力无法匹配所述用户终端的业务需求时,保持所述交易会话,向所述用户终端发送业务问询请求,所述业务问询请求中包括所述目标业务能力的信息;
接收所述用户终端基于所述业务问询请求的响应信息;
若所述响应信息为接受所述目标业务能力的反馈信息,恢复所述交易会话。
在本申请一种可能的实现方式中,所述保持所述交易会话,向所述用户终端发送业务问询请求,包括:
获取交易会话的业务过程信息;
基于所述业务过程信息和所述业务请求信息,生成用于保持所述交易会话的访问令牌信息;
基于所述访问令牌信息,向所述用户终端发送业务问询请求。
在本申请一种可能的实现方式中,所述基于所述业务过程信息和所述业务请求信息,生成用于保持所述交易会话的访问令牌信息,包括:
对所述业务过程信息和所述业务请求信息进行私有签名,得到用于保持所述交易会话的访问令牌信息。
在本申请一种可能的实现方式中,所述对所述业务过程信息和所述业务请求信息进行私有签名,得到用于保持所述交易会话的访问令牌信息,包括:
将所述业务过程信息中包括的多个可拆分的执行步骤信息进行唯一标识,得到每个执行步骤信息的标识信息;
获取与所述用户终端进行交互的交互信息;
基于所述标识信息和所述交互信息,生成交互序列信息;
对所述交互序列信息进行加密,得到用于保持所述交易会话的访问令牌。
在本申请一种可能的实现方式中,所述基于所述标识信息和所述交互信息,生成交互序列信息,包括:
基于所述交互信息,从所述业务过程信息中确定已执行的多个目标执行步骤信息以及所述多个目标执行步骤信息的执行顺序;
基于所述执行顺序,将所述目标执行步骤信息对应的目标标识信息进行序列化处理,得到交互序列信息。
在本申请一种可能的实现方式中,所述业务请求信息包括业务请求参数和所述用户终端的识别信息,所述基于所述业务过程信息和所述业务请求信息,生成用于保持所述交易会话的访问令牌信息,包括:
基于所述业务过程信息、所述业务请求参数和所述用户终端的标识信息,生成会话中间数据;
将所述会话中间数据保存于数据库中;
基于所述用户终端的业务请求信息,生成用于保持所述交易会话的访问令牌信息。
在本申请一种可能的实现方式中,所述响应信息中包括访问令牌信息,所述恢复所述交易会话,包括:
从所述响应信息中读取所述访问令牌信息;
基于所述访问令牌信息,从所述数据库中读取所述会话中间数据;
对所述会话中间数据进行解析,以恢复所述交易会话。
另一方面,本申请提供一种会话保持装置,包括:
第一建立单元,用于在获取用户终端发送的针对目标交易的业务请求信息后,建立所述用户终端和所述服务器的交易会话;
第一业务能力检查单元,用于对所述业务请求信息进行业务能力检查,得到业务检查结果;
第一保持单元和第一发送单元,用于当所述业务检查结果为所述服务器可处理所述目标交易的目标业务能力无法匹配所述用户终端的业务需求时,保持所述交易会话,向所述用户终端发送业务问询请求,所述业务问询请求中包括所述目标业务能力的信息;
第一接收单元,用于接收所述用户终端基于所述业务问询请求的响应信息;
第一恢复单元,用于若所述响应信息为接受所述目标业务能力的反馈信息,恢复所述交易会话。
在本申请一种可能的实现方式中,所述第一保持单元和所述第一发送单元具体包括:
第一获取单元,用于获取交易会话的业务过程信息;
第一生成单元,用于基于所述业务过程信息和所述业务请求信息,生成用于保持所述交易会话的访问令牌信息;
第二发送单元,用于基于所述访问令牌信息,向所述用户终端发送业务问询请求。
在本申请一种可能的实现方式中,所述第一生成单元具体包括:
私有签名单元,用于对所述业务过程信息和所述业务请求信息进行私有签名,得到用于保持所述交易会话的访问令牌信息。
在本申请一种可能的实现方式中,所述私有签名单元具体包括:
第一标识单元,用于将所述业务过程信息中包括的多个可拆分的执行步骤信息进行唯一标识,得到每个执行步骤信息的标识信息;
第二获取单元,用于获取与所述用户终端进行交互的交互信息;
第二生成单元,用于基于所述标识信息和所述交互信息,生成交互序列信息;
第一加密单元,用于对所述交互序列信息进行加密,得到用于保持所述交易会话的访问令牌。
在本申请一种可能的实现方式中,所述第二生成单元,具体用于:
基于所述交互信息,从所述业务过程信息中确定已执行的多个目标执行步骤信息以及所述多个目标执行步骤信息的执行顺序;
基于所述执行顺序,将所述目标执行步骤信息对应的目标标识信息进行序列化处理,得到交互序列信息。
在本申请一种可能的实现方式中,所述业务请求信息包括业务请求参数和所述用户终端的识别信息,所述第一生成单元具体包括:
第三生成单元,用于基于所述业务过程信息、所述业务请求参数和所述用户终端的标识信息,生成会话中间数据;
第一保存单元,用于将所述会话中间数据保存于数据库中;
第四生成单元,用于基于所述用户终端的业务请求信息,生成用于保持所述交易会话的访问令牌信息。
在本申请一种可能的实现方式中,所述响应信息中包括所述访问令牌信息,所述第一恢复单元具体用于:
从所述响应信息中读取所述访问令牌信息;
基于所述访问令牌信息,从所述数据库中读取所述会话中间数据;
对所述会话中间数据进行解析,以恢复所述交易会话。
另一方面,本申请还提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现所述的会话保持方法。
另一方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行所述的会话保持方法中的步骤。
本申请提供的会话保持方法通过在获取用户终端发送的针对目标交易的业务请求信息后,建立用户终端和服务器的交易会话;并先对业务请求信息进行业务能力检查,得到业务检查结果;并判断当业务检查结果为服务器可处理目标交易的目标业务能力无法匹配用户终端的业务需求时,对交易会话进行自动保持,随后向用户终端发送业务问询请求,业务问询请求中包括目标业务能力的信息;接收用户终端基于业务问询请求的响应信息;若响应信息为接受目标业务能力的反馈信息,则恢复交易会话,由此实现对交易会话进行保持,提高对HTTP协议的处理能力。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的会话保持系统的场景示意图;
图2为本申请实施例中提供的会话保持方法的一个实施例流程示意图;
图3是本申请实施例步骤203的一个实施例流程示意图;
图4是本申请实施例步骤302的一个实施例流程示意图;
图5是本申请实施例步骤401的一个实施例流程示意图;
图6是本申请实施例步骤503的一个实施例流程示意图;
图7是本申请实施例步骤302的又一个实施例流程示意图;
图8是本申请实施例步骤205的一个实施例流程示意图;
图9是本申请实施例中提供的会话保持装置的一个实施例结构示意图;
图10是本申请实施例提供的计算机设备一个实施例结构示意图;
图11为本申请实施例中提供的会话保持方法的一个信号传输信令图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
本申请实施例提供一种会话保持方法、装置及存储介质,以下分别进行详细说明。
如图1所示,图1是本申请实施例提供的会话保持系统的场景示意图,该会话保持系统可以包括多个终端100和服务器200,终端100和服务器200网络连接,服务器200中集成有会话保持装置,如图1中的服务器,终端100可以访问服务器200。
本申请实施例中服务器200主要用于在获取用户终端发送的针对目标交易的业务请求信息后,建立所述用户终端和所述服务器的交易会话;对所述业务请求信息进行业务能力检查,得到业务检查结果;当所述业务检查结果为所述服务器可处理所述目标交易的目标业务能力无法匹配所述用户终端的业务需求时,保持所述交易会话,向所述用户终端发送业务问询请求,所述业务问询请求中包括所述目标业务能力的信息;接收所述用户终端基于所述业务问询请求的响应信息;若所述响应信息为接受所述目标业务能力的反馈信息,恢复所述交易会话。
本申请实施例中,该服务器200可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如本申请实施例中所描述的服务器200,其包括但不限于计算机、网络终端、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(Cloud Computing)的大量计算机或网络服务器构成。本申请的实施例中,服务器与终端之间可通过任何通信方式实现通信,包括但不限于,基于第三代合作伙伴计划(3rd Generation Partnership Project,3GPP)、长期演进(Long Term Evolution,LTE)、全球互通微波访问(Worldwide Interoperability for Microwave Access,WiMAX)的移动通信,或基于TCP/IP协议族(TCP/IP Protocol Suite,TCP/IP)、用户数据报协议(User Datagram Protocol,UDP)的计算机网络通信等。
可以理解的是,本申请实施例中所使用的终端100可以是既包括接收和发射硬件的设备,既具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种终端可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备。具体的终端100具体可以是台式终端或移动终端,终端100具体还可以是手机、平板电脑、笔记本电脑等中的一种。
本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案的一种应用场景,并不构成对本申请方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的终端,或者服务器网络连接关系,例如图1中仅示出1个服务器和2个终端。可以理解的,该会话保持系统还可以包括一个或多个其他服务器,或/且一个或多个与服务器网络连接的终端,具体此处不作限定。
另外,如图1所示,该会话保持系统还可以包括存储器300,用于存储数据,如存储用户会话数据和会话保持数据,例如会话保持系统运行时的会话保持数据。
需要说明的是,图1所示的会话保持系统的场景示意图仅仅是一个示例,本申请实施例描述的会话保持系统以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着会话保持系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
接下来,介绍本申请实施例提供的会话保持方法。
本申实施例会话保持方法的实施例中以服务器作为执行主体,为了简化与便于描述,后续方法实施例中将省略该执行主体,该服务器应用于计算机设备,该方法包括:在获取用户终端发送的针对目标交易的业务请求信息后,建立所述用户终端和所述服务器的交易会话;对所述业务请求信息进行业务能力检查,得到业务检查结果;当所述业务检查结果为所述服务器可处理所述目标交易的目标业务能力无法匹配所述用户终端的业务需求时,保持所述交易会话,向所述用户终端发送业务问询请求,所述业务问询请求中包括所述目标业务能力的信息;接收所述用户终端基于所述业务问询请求的响应信息;若所述响应信息为接受所述目标业务能力的反馈信息,恢复所述交易会话。
请参阅图2至图5,图2为本申请实施例中提供的会话保持方法的一个实施例流程示意图,该会话保持方法具体包括以下步骤:
201、在获取用户终端发送的针对目标交易的业务请求信息后,建立所述用户终端和所述服务器的交易会话;
其中,目标交易可以是用户对目标商品进行的交易,例如,该目标商品可以是在电子商务平台上的红酒、玩具以及日用品等。而针对目标交易的业务请求信息中的业务请求信息可以用于建立用户终端和服务器之间的交易会话,具体的,业务请求信息可以包括业务请求参数和所述用户终端的识别信息。交易会话指的在一个交易过程中用户终端与服务器之间的交互。
获取用户终端发送的针对目标交易的业务请求信息具体可以由用户终端在确定目标商品后,向目标商品对应的服务器发起的业务请求信息。
202、对业务请求信息进行业务能力检查,得到业务检查结果;
其中,业务能力可以是针对业务请求信息的供应能力,例如,当业务请求信息中的业务请求参数为购买红酒2瓶,而业务能力为红酒库存为100瓶,即红酒的库存大于用户的需求,即业务能力检查结果为满足用户的业务需求。
对业务请求信息进行业务能力检查具体可以包括以下步骤:读取针对目标交易的业务请求信息中的业务请求参数,基于业务请求参数确定目标交易对应的交易属性,获取交易属性中与业务请求参数对应的目标参数,将目标参数与业务请求参数进行比对,得到比对后的业务检查结果。
203、当业务检查结果为服务器可处理目标交易的目标业务能力无法匹配用户终端的业务需求时,保持交易会话,向用户终端发送业务问询请求,业务问询请求中包括目标业务能力的信息;
其中,用户终端的业务需求可以是对目标交易中的目标商品的需求,例如,用终端的业务需求为购买2瓶红酒。而当业务检查结果为服务器可处理目标交易的目标业务能力无法匹配用户终端的业务需求时,保持交易会话,这里是服务器根据业务检查结果,主动对交易会话进行保持的。
204、接收用户终端基于业务问询请求的响应信息;
其中,响应信息是用户终端对服务器的问询请求做出的反馈。
205、若响应信息为接受目标业务能力的反馈信息,恢复交易会话。
需要说明的是,本申请所使用的是无状态传输协议,如HTTP协议,具体的,用户终端连上服务器后,若想获得服务器中的某个网络资源,需遵守一定的通讯格式,HTTP协议用于定义用户终端与服务器通迅的格式。
本申请提供的会话保持方法通过在获取用户终端发送的针对目标交易的业务请求信息后,建立用户终端和服务器的交易会话;并先对业务请求信息进行业务能力检查,得到业务检查结果;并判断当业务检查结果为服务器可处理目标交易的目标业务能力无法匹配用户终端的业务需求时,对交易会话进行自动保持,随后向用户终端发送业务问询请求,业务问询请求中包括目标业务能力的信息;接收用户终端基于业务问询请求的响应信息;若响应信息为接受目标业务能力的反馈信息,则恢复交易会话,由此实现对交易会话进行保持,提高对HTTP协议的处理能力。
在一个具体的实施例中,用户终端向服务器提交一个购买两瓶红酒的订单信息,当服务器接收到由用户终端发送的订单信息后,需要先对红酒的库存进行检查,如果库存不足,只有一瓶,服务器会先锁定这一台的库存,即保持该交易会话,然后问询用户终端是否要只购买一瓶红酒,用户终端若选择购买,那这一瓶红酒不需要再检查,便可直接购买了。在这个交易中,因为服务器询问用户不同于在网页、手机上弹个框,因为涉及到服务器交互,所以需要先保持这个进行着一半的交易,等用户选择后再继续进行,由此,可以实现对交易会话进行保持,提高对HTTP协议的处理能力。
在本申请的一些实施例中,请参阅图3,图3是本申请实施例步骤203的一个实施例流程示意图,所述保持所述交易会话,向所述用户终端发送业务问询请求,具体包括如下步骤:
301、获取交易会话的业务过程信息;
302、基于业务过程信息和业务请求信息,生成用于保持交易会话的访问令牌信息;
303、基于访问令牌信息,向用户终端发送业务问询请求。
其中,交易会话的业务过程信息包括多个可拆分的执行步骤信息,可拆分的执行步骤信息,指的是在整个交易中,不管是业务逻辑检查、外部依赖调用,都可能会有多个步骤,每个步骤之间都是可以拆分的。例如,电商平台提交订单后,可能有如下步骤:
i.【业务逻辑检查】检查用户购买资格;
ii.【业务逻辑检查】检查库存;
iii.【业务逻辑检查】检查用户地址是否可发货;
iv.【外部服务调用】锁定库存;
v.【外部服务调用】调用余额支付通道;
vi.【外部服务调用】购买运费险。
需要说明的是,以上为用户终端下单后的操作均可进行了拆分。其中的每个部分都是独立的,但是每个步骤都可能会有异常情况报出来,需要用户选择和确认。
其中,访问令牌信息是在一次交易中的每一个交互环节生成的一份,并且是只生效一次的,不会重复被使用,也不会用其校验身份,身份有专用的COOKIE信息去传递。
在本申请的一些实施例中,请参阅图4,图4是本申请实施例步骤302的一个实施例流程示意图,步骤302具体包括如下步骤:
401、对业务过程信息和业务请求信息进行私有签名,得到用于保持交易会话的访问令牌信息。
其中,对所述业务过程信息和所述业务请求信息进行的私有签名可以是一种数据签名,该数据签名与数据加密相似,一般是签名者利用秘密密钥(私钥)对需要签名的数据进行加密,验证方利用签名者的公开密钥(公钥)对签名数据作解密运算。签名可以实施在一个完整的数据包上,也可以实施在某条信息(或某块数据)的校验和上,这可以根据不同的应用要求来确定。通过对所述业务过程信息和所述业务请求信息进行私有签名和加密,保证状态数据的安全性,通过有效期和一次性进行防抓取重放,且可以保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生。
具体的,数字签名(Digital Signature)技术是不对称加密算法的典型应用。数字签名的应用过程是,数据源发送方使用自己的私钥对数据校验和或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,数据接收方则利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,以确认签名的合法性。数字签名技术是在网络系统虚拟环境中确认身份的重要技术,完全可以代替现实过程中的“亲笔签字”,在技术和法律上有保证。在数字签名应用中,发送者的公钥可以很方便地得到,但他的私钥则需要严格保密。
在本申请的一些实施例中,请参阅图5,图5是本申请实施例步骤401的一个实施例流程示意图,步骤401具体包括如下步骤:
501、将业务过程信息中包括的多个可拆分的执行步骤信息进行唯一标识,得到每个执行步骤信息的标识信息;
502、获取与用户终端进行交互的交互信息;
503、基于标识信息和交互信息,生成交互序列信息;
504、对交互序列信息进行加密,得到用于保持交易会话的访问令牌。
其中,唯一标识用于给多个可拆分的执行步骤信息进行区分的标识,例如,该唯一标识为互不相同的ID,具体的,第一个执行步骤信息对应的ID为10001,第二个执行步骤信息对应的ID为10002。
对于步骤504中的对所述交互序列信息进行加密,可以采用数字签名,具体的可以摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。
在本申请的一些实施例中,请参阅图6,图6是本申请实施例步骤503的一个实施例流程示意图,步骤503具体包括如下步骤:
601、基于交互信息,从业务过程信息中确定已执行的多个目标执行步骤信息以及多个目标执行步骤信息的执行顺序;
602、基于执行顺序,将目标执行步骤信息对应的目标标识信息进行序列化处理,得到交互序列信息。
其中,序列化处理就是指将程序运行当中使用的对象数据,直接写入文件中。当需要使用被序列化过的对象时,可以从文件直接读取出来,而不需要写任何解释文件内容的代码。
在本申请的一些实施例中,请参阅图7,图7是本申请实施例步骤302的又一个实施例流程示意图,所述业务请求信息包括业务请求参数和所述用户终端的识别信息,步骤302具体包括如下步骤:
701、基于业务过程信息、业务请求参数和用户终端的标识信息,生成会话中间数据;
702、将会话中间数据保存于数据库中;
703、基于用户终端的业务请求信息,生成用于所述交易会话的访问令牌信息。
其中,数据库一般包括kv数据库,kv数据库是指Key-value数据库,是一种以键值对存储数据的一种数据库。每个键都会对应一个唯一的值。
需要说明的是,当使用kv数据库,访问令牌信息只需要保证随机性和唯一性即可,可以根据几项信息来组合、摘要。在需要用户交互的过程中,可对会话中间数据进行键值库存储,并将下发的访问令牌信息连同操作确认、选择信息回传到用户界面,用户确认后,将访问令牌信息进行提交。用户终端在接收到确认操作的时候,只需要按照内容展现确认界面,而不需要关心重复提交的接口是什么,会话都统一发到同一个接口中,服务端通过访问令牌信息来识别使用哪个类进行继续处理。
在本申请的一些实施例中,请参阅图8,图8是本申请实施例步骤205的一个实施例流程示意图,所述响应信息中包括访问令牌信息,所述恢复所述交易会话,具体包括如下步骤:
801、从响应信息中读取访问令牌信息;
802、基于访问令牌信息,从数据库中读取会话中间数据;
803、对会话中间数据进行解析,以恢复交易会话。
在本申请的一些实施例中,在完成恢复交易会话后,还可调用外部依赖服务,具体的,在微服务架构上,每个微服务只做一类事情,这样很多相关的事务就会被拆分成多个微服务,其间的调用关系就是外部依赖服务,例如,在购买一个商品的时候,同时购买一份退货险,这个保险是由保险公司提供的服务,在用户下单的时候可能保险公司会因各种原因拒保或购买失败,因此调用外部依赖服务的时候可能会接收到外部错误,或者需要重新输入外部参数。
请参阅图11,图11为本申请实施例中提供的会话保持方法的一个信号传输信令图。
步骤1~3,在用户通过用户终端将信息提交到业务服务器时,业务服务器会对提交的参数进行一定的业务检查,当检查的结果需要用户确认时,由业务服务器将正在处理的业务过程信息和请求数据进行“保持”处理,其保持原理就是将中间数据和状态,通过签名方法生成访问令牌,此令牌包含了请求参数的签名、请求数据、中间状态、有效期时这些信息。
如图所示,步骤4~6,在需要用户交互的过程中,可对会话中间数据进行键值库存储,并将下发的访问令牌信息连同操作确认、选择信息回传到用户界面,用户确认后,将访问令牌信息进行提交。用户终端在接收到确认操作的时候,只需要按照内容展现确认界面,而不需要关心重复提交的接口是什么,会话都统一发到同一个接口中,服务端通过访问令牌信息来识别使用哪个类进行继续处理。
在步骤7~11中,若进行了步骤4,则从KV数据库中恢复会话信息,继续进行处理(以调用外部依赖服务为例)。在调用外部服务中,需要设置外部参数的时候,可以继续按照前面4~6步骤发送到用户界面进行选取。再次提交后,事务处理结束。
在整个业务过程中,只需要将业务的可拆分部分进行保持操作,并将状态序列化存储,继续操作的时候即可通过加密的信息恢复原始状态继续进行。这样在开发过程中不用将业务拆分成多个API接口,保证了模块的内聚性。
为了更好实施本申请实施例中会话保持方法,在会话保持方法基础之上,本申请实施例中还提供一种会话保持装置,如图9所示,图9是本申请实施例中提供的会话保持装置的一个实施例结构示意图,所述会话保持装置900包括第一建立单元901、第一业务能力检查单元902、第一保持单元903、第一发送单元904、第一接收单元905以及第一恢复单元906:
第一建立单元901,用于在获取用户终端发送的针对目标交易的业务请求信息后,建立所述用户终端和所述服务器的交易会话;
第一业务能力检查单元902,用于对所述业务请求信息进行业务能力检查,得到业务检查结果;
第一保持单元903和第一发送单元904,用于当所述业务检查结果为所述服务器可处理所述目标交易的目标业务能力无法匹配所述用户终端的业务需求时,保持所述交易会话,向所述用户终端发送业务问询请求,所述业务问询请求中包括所述目标业务能力的信息;
第一接收单元905,用于接收所述用户终端基于所述业务问询请求的响应信息;
第一恢复单元906,用于若所述响应信息为接受所述目标业务能力的反馈信息,恢复所述交易会话。
本申请提供的会话保持装置通过第一建立单元901在获取用户终端发送的针对目标交易的业务请求信息后,建立用户终端和服务器的交易会话;第一业务能力检查单元902并先对业务请求信息进行业务能力检查,得到业务检查结果;并第一保持单元903和第一发送单元904在当业务检查结果为服务器可处理目标交易的目标业务能力无法匹配用户终端的业务需求时,对交易会话进行自动保持,随后向用户终端发送业务问询请求,业务问询请求中包括目标业务能力的信息;接收用户终端基于业务问询请求的响应信息;以及通过第一恢复单元906在响应信息为接受目标业务能力的反馈信息,恢复交易会话,由此实现对交易会话进行保持,提高对HTTP协议的处理能力。
在本申请的一些实施例中,所述第一保持单元903和所述第一发送单元904具体包括:
第一获取单元,用于获取交易会话的业务过程信息;
第一生成单元,用于基于所述业务过程信息和所述业务请求信息,生成用于保持所述交易会话的访问令牌信息;
第二发送单元,用于基于所述访问令牌信息,向所述用户终端发送业务问询请求。
在本申请的一些实施例中,所述第一生成单元具体包括:
私有签名单元,用于对所述业务过程信息和所述业务请求信息进行私有签名,得到用于保持所述交易会话的访问令牌信息。
在本申请的一些实施例中,所述私有签名单元具体包括:
第一标识单元,用于将所述业务过程信息中包括的多个可拆分的执行步骤信息进行唯一标识,得到每个执行步骤信息的标识信息;
第二获取单元,用于获取与所述用户终端进行交互的交互信息;
第二生成单元,用于基于所述标识信息和所述交互信息,生成交互序列信息;
第一加密单元,用于对所述交互序列信息进行加密,得到用于保持所述交易会话的访问令牌。
在本申请的一些实施例中,所述第二生成单元,具体用于:
基于所述交互信息,从所述业务过程信息中确定已执行的多个目标执行步骤信息以及所述多个目标执行步骤信息的执行顺序;
基于所述执行顺序,将所述目标执行步骤信息对应的目标标识信息进行序列化处理,得到交互序列信息。
在本申请的一些实施例中,所述业务请求信息包括业务请求参数和所述用户终端的识别信息,所述第一生成单元具体包括:
第三生成单元,用于基于所述业务过程信息、所述业务请求参数和所述用户终端的标识信息,生成会话中间数据;
第一保存单元,用于将所述会话中间数据保存于数据库中;
第四生成单元,用于基于所述用户终端的业务请求信息,生成用于保持所述交易会话的访问令牌信息。
在本申请的一些实施例中,所述响应信息中包括所述访问令牌信息,所述第一恢复单元906具体用于:
从所述响应信息中读取所述访问令牌信息;
基于所述访问令牌信息,从所述数据库中读取所述会话中间数据;
对所述会话中间数据进行解析,以恢复所述交易会话。
除了上述介绍用于会话保持方法与装置之外,本申请实施例还提供一种计算机设备,其集成了本申请实施例所提供的任一种会话保持装置,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述会话保持方法实施例中任一实施例中所述的任一方法的操作。
本申请实施例还提供一种计算机设备,其集成了本申请实施例所提供的任一种会话保持装置。参阅图10,图10是本申请实施例提供的计算机设备一个实施例结构示意图。
如图10所示,其示出了本申请实施例所设计的会话保持装置的结构示意图,具体来讲:
该会话保持装置可以包括一个或者一个以上处理核心的处理器1001、一个或一个以上计算机可读存储介质的存储器1002、电源1003和输出单元1004等部件。本领域技术人员可以理解,图10中示出的会话保持装置结构并不构成对会话保持装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器1001是该会话保持装置的控制中心,利用各种接口和线路连接整个会话保持装置的各个部分,通过运行或执行存储在存储器1002内的软件程序和/或模块,以及调用存储在存储器1002的数据,执行会话保持装置的各种功能和处理数据,从而对会话保持装置进行整体监控。可选的,处理器1001可包括一个或多个处理核心;优选的,处理器1001可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1001中。
存储器1002可用于存储软件程序以及模块,处理器1001通过运行存储在存储器1002的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1002可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据会话保持装置的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1002还可以包括存储器控制器,以提供处理器1001对存储器1002的访问。
会话保持装置还包括给各个部件供电的电源1003,优选的,电源1003可以通过电源管理系统与处理器1001逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1003还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该会话保持装置还可包括输入单元1004,该输入单元1004可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,会话保持装置还可以包括显示单元等,在此不再赘述。具体在本申请实施例中,会话保持装置中的处理器1001会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器1002中,并由处理器1002来运行存储在存储器1002中的应用程序,从而实现各种功能,如下:
在获取用户终端发送的针对目标交易的业务请求信息后,建立所述用户终端和所述服务器的交易会话;对所述业务请求信息进行业务能力检查,得到业务检查结果;当所述业务检查结果为所述服务器可处理所述目标交易的目标业务能力无法匹配所述用户终端的业务需求时,保持所述交易会话,向所述用户终端发送业务问询请求,所述业务问询请求中包括所述目标业务能力的信息;接收所述用户终端基于所述业务问询请求的响应信息;若所述响应信息为接受所述目标业务能力的反馈信息,恢复所述交易会话。
本申请提供的会话保持方法通过在获取用户终端发送的针对目标交易的业务请求信息后,建立用户终端和服务器的交易会话;并先对业务请求信息进行业务能力检查,得到业务检查结果;并判断当业务检查结果为服务器可处理目标交易的目标业务能力无法匹配用户终端的业务需求时,对交易会话进行自动保持,随后向用户终端发送业务问询请求,业务问询请求中包括目标业务能力的信息;接收用户终端基于业务问询请求的响应信息;若响应信息为接受目标业务能力的反馈信息,则恢复交易会话,由此实现对交易会话进行保持,提高对HTTP协议的处理能力。
为此,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random AccessMemory)、磁盘或光盘等。该计算机可读存储介质中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种会话保持方法中的步骤。例如,该指令可以执行如下步骤:
在获取用户终端发送的针对目标交易的业务请求信息后,建立所述用户终端和所述服务器的交易会话;对所述业务请求信息进行业务能力检查,得到业务检查结果;当所述业务检查结果为所述服务器可处理所述目标交易的目标业务能力无法匹配所述用户终端的业务需求时,保持所述交易会话,向所述用户终端发送业务问询请求,所述业务问询请求中包括所述目标业务能力的信息;接收所述用户终端基于所述业务问询请求的响应信息;若所述响应信息为接受所述目标业务能力的反馈信息,恢复所述交易会话。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上对本申请实施例所提供的一种会话保持方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种会话保持方法,其特征在于,应用于服务器,所述方法包括:
在获取用户终端发送的针对目标交易的业务请求信息后,建立所述用户终端和所述服务器的交易会话;
对所述业务请求信息进行业务能力检查,得到业务检查结果;
当所述业务检查结果为所述服务器可处理所述目标交易的目标业务能力无法匹配所述用户终端的业务需求时,保持所述交易会话,向所述用户终端发送业务问询请求,所述业务问询请求中包括所述目标业务能力的信息;
接收所述用户终端基于所述业务问询请求的响应信息;
若所述响应信息为接受所述目标业务能力的反馈信息,恢复所述交易会话。
2.根据权利要求1所述的会话保持方法,其特征在于,所述保持所述交易会话,向所述用户终端发送业务问询请求,包括:
获取交易会话的业务过程信息;
基于所述业务过程信息和所述业务请求信息,生成用于保持所述交易会话的访问令牌信息;
基于所述访问令牌信息,向所述用户终端发送业务问询请求。
3.根据权利要求2所述的会话保持方法,其特征在于,所述基于所述业务过程信息和所述业务请求信息,生成用于保持所述交易会话的访问令牌信息,包括:
对所述业务过程信息和所述业务请求信息进行私有签名,得到用于保持所述交易会话的访问令牌信息。
4.根据权利要求3所述的会话保持方法,其特征在于,所述对所述业务过程信息和所述业务请求信息进行私有签名,得到用于保持所述交易会话的访问令牌信息,包括:
将所述业务过程信息中包括的多个可拆分的执行步骤信息进行唯一标识,得到每个执行步骤信息的标识信息;
获取与所述用户终端进行交互的交互信息;
基于所述标识信息和所述交互信息,生成交互序列信息;
对所述交互序列信息进行加密,得到用于保持所述交易会话的访问令牌。
5.根据权利要求4所述的会话保持方法,其特征在于,所述基于所述标识信息和所述交互信息,生成交互序列信息,包括:
基于所述交互信息,从所述业务过程信息中确定已执行的多个目标执行步骤信息以及所述多个目标执行步骤信息的执行顺序;
基于所述执行顺序,将所述目标执行步骤信息对应的目标标识信息进行序列化处理,得到交互序列信息。
6.根据权利要求2所述的会话保持方法,其特征在于,所述业务请求信息包括业务请求参数和所述用户终端的识别信息,所述基于所述业务过程信息和所述业务请求信息,生成用于保持所述交易会话的访问令牌信息,包括:
基于所述业务过程信息、所述业务请求参数和所述用户终端的标识信息,生成会话中间数据;
将所述会话中间数据保存于数据库中;
基于所述用户终端的业务请求信息,生成用于保持所述交易会话的访问令牌信息。
7.根据权利要求6所述的会话保持方法,其特征在于,所述响应信息中包括所述访问令牌信息,所述恢复所述交易会话,包括:
从所述响应信息中读取所述访问令牌信息;
基于所述访问令牌信息,从所述数据库中读取所述会话中间数据;
对所述会话中间数据进行解析,以恢复所述交易会话。
8.一种会话保持装置,其特征在于,应用于服务器,所述装置包括:
第一建立单元,用于在获取用户终端发送的针对目标交易的业务请求信息后,建立所述用户终端和所述服务器的交易会话;
第一业务能力检查单元,用于对所述业务请求信息进行业务能力检查,得到业务检查结果;
第一保持单元和第一发送单元,用于当所述业务检查结果为所述服务器可处理所述目标交易的目标业务能力无法匹配所述用户终端的业务需求时,保持所述交易会话,向所述用户终端发送业务问询请求,所述业务问询请求中包括所述目标业务能力的信息;
第一接收单元,用于接收所述用户终端基于所述业务问询请求的响应信息;
第一恢复单元,用于若所述响应信息为接受所述目标业务能力的反馈信息,恢复所述交易会话。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至7中任一项所述的会话保持方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至7任一项所述的会话保持方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110315196.3A CN113098935B (zh) | 2021-03-24 | 2021-03-24 | 会话保持方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110315196.3A CN113098935B (zh) | 2021-03-24 | 2021-03-24 | 会话保持方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113098935A CN113098935A (zh) | 2021-07-09 |
CN113098935B true CN113098935B (zh) | 2022-12-30 |
Family
ID=76669535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110315196.3A Active CN113098935B (zh) | 2021-03-24 | 2021-03-24 | 会话保持方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113098935B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114430423A (zh) * | 2022-01-26 | 2022-05-03 | 百果园技术(新加坡)有限公司 | 一种终端间的通讯管理方法、装置、设备及存储介质 |
CN115955364B (zh) * | 2023-03-13 | 2023-06-02 | 长沙市中智信息技术开发有限公司 | 一种网络竞价交易系统的用户身份信息保密方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104270427B (zh) * | 2014-09-18 | 2018-01-12 | 用友优普信息技术有限公司 | 会话控制方法与会话控制装置 |
US10819756B2 (en) * | 2017-04-10 | 2020-10-27 | OpenLegacy Technologies Ltd. | Atomic transaction over non-persistent protocol(s) |
CN110913011B (zh) * | 2019-12-05 | 2022-12-20 | 东软集团股份有限公司 | 会话保持方法、会话保持装置、可读存储介质及电子设备 |
CN112153103B (zh) * | 2020-08-10 | 2022-12-23 | 招联消费金融有限公司 | 会话管理方法、装置、计算机设备和存储介质 |
-
2021
- 2021-03-24 CN CN202110315196.3A patent/CN113098935B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113098935A (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI672648B (zh) | 業務處理方法、裝置、資料共享系統及儲存介質 | |
US11138608B2 (en) | Authorizing multiparty blockchain transactions via one-time passwords | |
US20210304201A1 (en) | Transaction verification method and apparatus, storage medium, and electronic device | |
KR101354898B1 (ko) | 피어-투-피어 통신 채널을 통한 전자 상거래 | |
CN112994892B (zh) | 跨链交互方法、装置、系统和电子设备 | |
WO2021203853A1 (zh) | 密钥生成方法、装置、设备及介质 | |
CN104767613A (zh) | 签名验证方法、装置及系统 | |
CN113098935B (zh) | 会话保持方法、装置及存储介质 | |
CN109194669B (zh) | 一种轻量级节点的数据传输方法、装置、设备和介质 | |
CN101163010A (zh) | 对请求消息的鉴权方法和相关设备 | |
WO2021082340A1 (zh) | 数据处理方法、装置、系统和存储介质 | |
CN105471964A (zh) | 用于数据推送的方法、服务器、客户端以及系统 | |
CN111125781B (zh) | 一种文件签名方法、装置和文件签名验证方法、装置 | |
US20230079672A1 (en) | Cross-chain data transmission method and apparatus, computer device, storage medium, and computer program product | |
CN111131416A (zh) | 业务服务的提供方法和装置、存储介质、电子装置 | |
CN112243002A (zh) | 数据转发方法、装置、电子设备以及计算机可读介质 | |
CN113742676A (zh) | 一种登录管理方法、装置、服务器、系统及存储介质 | |
Lee et al. | A peer-to-peer transaction authentication platform for mobile commerce with semi-offline architecture | |
CN110610418B (zh) | 基于区块链的交易状态查询方法、系统、设备及存储介质 | |
WO2023005500A1 (zh) | 跨链交易处理方法、装置、电子设备以及存储介质 | |
CN114092093B (zh) | 区块链交易处理方法、装置、电子设备和可读介质 | |
CN113014556B (zh) | 银企通讯系统、通讯方法以及电子终端 | |
CN109544131A (zh) | 一种游戏商品管理方法及装置 | |
US9602287B2 (en) | Method and system for signed stateless data transfer | |
CN106790150B (zh) | 一种会话保持方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |