CN114827274A - 请求处理方法以及装置 - Google Patents
请求处理方法以及装置 Download PDFInfo
- Publication number
- CN114827274A CN114827274A CN202210395983.8A CN202210395983A CN114827274A CN 114827274 A CN114827274 A CN 114827274A CN 202210395983 A CN202210395983 A CN 202210395983A CN 114827274 A CN114827274 A CN 114827274A
- Authority
- CN
- China
- Prior art keywords
- request
- copy
- identifier
- access request
- target
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 47
- 230000004044 response Effects 0.000 claims abstract description 194
- 238000012545 processing Methods 0.000 claims abstract description 63
- 238000000034 method Methods 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000008520 organization Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 239000004984 smart glass Substances 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
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本说明书提供请求处理方法以及装置,其中所述请求处理方法,应用于请求接收端,包括:接收请求发送端发送的访问请求,解析所述访问请求,获得所述访问请求携带的项目标识;若所述访问请求未携带副本标识,则根据所述项目标识,调用目标副本响应所述访问请求,获得响应报文;在所述响应报文中添加所述目标副本的副本标识,得到目标响应报文;向所述请求发送端反馈所述目标响应报文,所述目标响应报文用于所述请求发送端提取所述目标响应报文中的副本标识添加至所述项目标识对应的访问请求中。本方案可以提高请求处理的可靠度。
Description
技术领域
本说明书涉及计算机技术领域,特别涉及一种请求处理方法。本说明书同时涉及一种请求处理装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着计算机技术的广泛应用,计算设备处理的项目呈爆发式增长。为了应对该情况,可以对用于实现项目的实例进行多副本部署,得到多个功能相同的实例,也称多个副本。这样,可以通过多个副本分别提供项目,从而减少项目激增引起的问题。
相关技术中,可以将提供某一项目的过程看作一次会话Session。在一次Session中很可能需要与实例进行多次交互,相应的,该Session中存在多次请求。接收到每次请求的计算设备,可以将该请求转发给用于实现该项目的多个副本中的一个副本。并且,通常上述转发可以是任意的。
但是,属于同一Session的多次请求很可能存在依赖关系:副本处理某一Session的当前请求会产生上下文信息,该Session的下一次请求的处理依赖该上下文信息。对此,如果进行任意转发,容易将下一次请求转发给不存在上述上下文信息的副本,引起上下文信息的缺失所导致的请求处理错误。因此,需要提供更加可靠的方案。
发明内容
有鉴于此,本说明书实施例提供了一种请求处理方法。本说明书同时涉及一种请求处理装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种请求处理方法,应用于请求接收端,包括:
接收请求发送端发送的访问请求,解析所述访问请求,获得所述访问请求携带的项目标识;
若所述访问请求未携带副本标识,则根据所述项目标识,调用目标副本响应所述访问请求,获得响应报文;
在所述响应报文中添加所述目标副本的副本标识,得到目标响应报文;
向所述请求发送端反馈所述目标响应报文,所述目标响应报文用于所述请求发送端提取所述目标响应报文中的副本标识添加至所述项目标识对应的访问请求中。
可选地,所述根据所述项目标识,调用目标副本响应所述访问请求,获得响应报文,包括:
从具有所述项目标识的多个副本中,选择满足预设分发条件的目标副本;
调用所述目标副本响应所述访问请求,获得响应报文。
可选地,在所述解析所述访问请求之后,还包括:
若所述访问请求携带副本标识,则调用具有所述副本标识的目标副本响应所述访问请求,获得响应报文;
向所述请求发送端反馈所述响应报文。
可选地,在所述调用具有所述副本标识的目标副本响应所述访问请求之前,还包括:
确定具有所述副本标识的目标副本是否存在,若不存在,则向所述请求发送端返回提示信息。
可选地,在所述根据所述项目标识,调用目标副本响应所述访问请求之前,还包括:
确定所述目标副本是否存在,若不存在,则向所述请求发送端返回提示信息。
根据本说明书实施例的第二方面,提供了一种请求处理方法,应用于请求发送端,包括:
接收请求接收端反馈的响应报文,所述响应报文为所述请求接收端调用目标副本响应所述请求发送端发送的访问请求获得的;
提取所述响应报文携带的副本标识和项目标识;
将所述副本标识添加至具有所述项目标识的访问请求中,得到目标访问请求;
发送所述目标访问请求至所述项目标识对应的请求接收端。
可选地,所述项目标识对应的请求接收端的数量为多个;
所述发送所述目标访问请求至所述项目标识对应的请求接收端,包括:
根据所述项目标识,从多个请求接收端中确定目标请求接收端;
发送所述目标访问请求至所述目标请求接收端。
可选地,还包括:
获取所述项目标识对应项目的属性信息,根据所述属性信息确定具有所述项目标识的各访问请求是否存在关联关系;
若存在,则执行所述将所述副本标识添加至具有所述项目标识的访问请求中;
若不存在,则将具有所述项目标识的访问请求发送至所述项目标识对应的请求接收端。
可选地,在所述发送所述目标访问请求至所述项目标识对应的请求接收端之后,还包括:
接收所述项目标识对应的请求接收端返回的提示信息;
提取所述提示信息携带的请求标识,将具有所述请求标识的访问请求重新发送至所述项目标识对应的请求接收端。
可选地,在所述接收请求接收端反馈的响应报文之后,还包括:
将所述响应报文存储至所述项目标识对应的存储区;
在接收到携带所述项目标识的结束通知时,基于所述项目标识对应的存储区中的各响应报文,输出所述项目标识对应的项目结果。
根据本说明书实施例的第三方面,提供了一种请求处理装置,应用于请求接收端,包括:
解析模块,被配置为接收请求发送端发送的访问请求,解析所述访问请求,获得所述访问请求携带的项目标识;
响应模块,被配置为若所述访问请求未携带副本标识,则根据所述项目标识,调用目标副本响应所述访问请求,获得响应报文;
添加模块,被配置为在所述响应报文中添加所述目标副本的副本标识,得到目标响应报文;
发送模块,被配置为向所述请求发送端反馈所述目标响应报文,所述目标响应报文用于所述请求发送端提取所述目标响应报文中的副本标识添加至所述项目标识对应的访问请求中。
根据本说明书实施例的第四方面,提供了一种请求处理装置,应用于请求发送端,包括:
接收模块,被配置为接收请求接收端反馈的响应报文,所述响应报文为所述请求接收端调用目标副本响应所述请求发送端发送的访问请求获得的;
请求生成模块,被配置为提取所述响应报文携带的副本标识和项目标识;将所述副本标识添加至具有所述项目标识的访问请求中,得到目标访问请求;
发送模块,被配置为发送所述目标访问请求至所述项目标识对应的请求接收端。
根据本说明书实施例的第五方面,提供了一种请求处理***,包括:
请求发送端,被配置为发送访问请求;
请求接收端,被配置为接收所述访问请求,解析所述访问请求,获得所述访问请求携带的项目标识;若所述访问请求未携带副本标识,则根据所述项目标识,调用目标副本响应所述访问请求,获得响应报文;在所述响应报文中添加所述目标副本的副本标识,得到目标响应报文;向所述请求发送端反馈所述目标响应报文;
请求发送端,还被配置为接收请求接收端反馈的响应报文;提取所述响应报文携带的副本标识和项目标识;将所述副本标识添加至具有所述项目标识的访问请求中,得到目标访问请求;发送所述目标访问请求至所述项目标识对应的请求接收端。
根据本说明书实施例的第六方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令时实现任意一项所述请求处理方法的步骤。
根据本说明书实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现任意一项所述请求处理方法的步骤。
根据本说明书实施例的第八方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述请求处理方法的步骤。
本说明书提供的方案,通过接收访问请求,解析访问请求,获得访问请求携带的项目标识;若访问请求未携带副本标识,则根据项目标识,调用目标副本响应访问请求,获得响应报文;在响应报文中添加目标副本的副本标识,得到目标响应报文;向请求发送端反馈目标响应报文,目标响应报文用于请求发送端提取目标响应报文中的副本标识添加至项目标识对应的访问请求中。其中,若访问请求未携带副本标识,则表明访问请求相当于项目标识代表的项目中第一个访问请求。并且,第一个访问请求不存在上一个访问请求也就无需依赖上一个访问请求的上下文信息。因此,可以根据项目标识,调用目标副本响应该访问请求,获得响应报文。在此基础上,在响应报文中添加目标副本的副本标识,得到目标响应报文,向请求发送端反馈目标响应报文,目标响应报文用于请求发送端提取目标响应报文中的副本标识添加至项目标识对应的访问请求中。这样,可以保证项目标识代表的项目中需要依赖目标副本产生的上下文的各访问请求,始终由目标副本进行处理,从而避免上下文信息的缺失所导致的请求处理错误。因此,本方案可以提高Session场景中请求处理的可靠性。
附图说明
图1是本说明书一实施提供的一种应用于请求接收端的请求处理方法的流程图;
图2是本说明书一实施提供的一种应用于请求发送端的请求处理方法的流程图;
图3是本说明书一实施提供的一种请求处理***的结构框图;
图4是本说明书一实施提供的一种应用于请求处理***的请求处理方法的流程图;
图5是本说明书一实施提供的一种应用于请求处理***的请求处理方法的场景示例图;
图6是本说明书一实施提供的一种应用于请求接收端的请求处理装置的结构示意图;
图7是本说明书一实施提供的一种应用于请求发送端的请求处理装置的结构示意图;
图8是本说明书一实施提供的一种电子设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施涉及的名词术语进行解释。
有状态服务:服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理。
网关(Gateway):又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。
安全多方计算(MPC,Secure Multi-Party Computation):多个持有隐私数据的参与方,共同执行一个计算逻辑,并获得计算结果。在机器学习场景中,MPC的计算结果是一个可运行的模型,每个参与方都得到了模型的一部分,所有参与方的模型合起来组成一个逻辑上的完整模型。
SCQL(Secure Collaborative Query Language):用于进行多方安全分析的安全数据查询语言。一种结构化查询语言(SQL,Structured Query Language)的扩展语言,继承了SQL作为常用数据分析语言的普及性,易学性和高成熟度;并且,SCQL拓展了标准SQL的语义,使得SCQL可以描述基于多个数据源的安全计算。
副本(Replica):也称为实例。某些应用程序(APP,Application)或者服务(Service)为了实现高可用,将同一个应用程序部署多遍,称为多副本部署,每个副本提供的服务也就是实现的功能相同。
Session(会话):指若同一个用户的请求需要通过与APP的多次交互实现,并且APP在处理请求的过程中会存留上下文信息,那么,上述多次交互必须由同一个副本完成执行,以避免上下文信息缺失造成的请求处理异常。
超文本传输协议(HTTP,Hyper Text Transfer Protocol):一种简单的请求-响应协议,通常运行在TCP之上。HTTP指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
超文本传输安全协议(HTTPS,Hyper Text Transfer Protocol overSecureSocket Layer):以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性,被广泛用于万维网上安全敏感的通讯,例如交易支付等场景。
在具体应用中,Session是一种很常见的需求。以生活中的就诊场景为例:病人去医院看病时,挂号的科室有多个门诊医生,为该挂号的病人随机分配一个医生A。医生A询问病人身体状况并为该病人开具检查单后,病人去做检查。检查结果出来后,除医生A以外的其他医生不知道此次就诊的上下文,如果换一个医生,病人就不得不把自己的身体状况重新述说一遍,很是麻烦。因此,病人拿到检查结果后不能再随便找一个医生,必须返回去找医生A做进一步诊断。类似的,在计算机领域中,可以把与一次访问请求相关的所有信息称为会话session,该所有信息中包含上下文。在病人就诊的例子中,病人本次就诊的病历、医生脑子中对病人身体状况的印象等等信息构成了一个session,也就是本次就诊的全部信息。
示例性的,用户通过计算机构Alice向计算机构Bob发起一次SCQL查询,该SCQL查询的处理过程中计算机构Alice和计算机构Bob需要进行多次交互。在第一次交互也就是开始查询时,计算机构Alice和计算机构Bob均没有查询的上下文信息,计算机构Bob可以调用任一副本处理流量也就是访问请求。在第一交互之后,副本内部维护了处理访问请求产生的上下文信息。因此,第二次交互中不能随意调用副本处理访问请求,而是必须调用上次调用的也就是第一次交互中调用的副本处理访问请求,这样,相当于实现session功能也就是粘滞会话(Sticky Sessions)的功能。如果不实现Sticky Session功能,则计算机构内部不能维护上下文信息,所有存在session需求的业务、应用程序均无法部署在该计算机构上,否则均会出现运行异常。其中,任一计算机构具体可以包括一个或者多个计算设备。
示例性的,可以采用如下步骤进行请求处理,以实现Sticky Session功能:
步骤1:请求接收端的网关内部维护一个记录表,用于记录会话标识session id与副本编号的对应关系,其中,会话标识指与会话对应的各访问请求的标识。
步骤2:发送端发起查询时,在访问请求中携带session id。
步骤3:请求接收端的网关接收到访问请求时,查询上述记录表中的session id,如果session id不存在,则在表格中***一条新记录,并执行步骤4。
步骤4:请求接收端的网关接收到访问请求时,查询上述记录表中的session id,如果session id存在,则调用具有上述记录表中session id对应的副本编号的副本处理该访问请求。
步骤5:在一次查询结束之前,如果存在多次访问请求,可以重复执行上述步骤4。
步骤6:一段时间后,例如一天以后,请求接收端的网关删除记录表中的sessionid,以防记录表过大。
但是,上述方案存在如下缺点:缺点一,请求接收端的网关重启会导致记录表丢失,导致依赖session的正在执行中的访问请求失败。缺点二,请求接收端的网关不能多实例部署,如果请求接收端的网关数量为多个,则多个网关内的记录表不一致,无法实现sticky session的功能。缺点二,何时删除记录表中的记录提高了方案的复杂度:如果表格中的记录删除过早,则起不到sticky session的作用,如果删除过晚,则会导致表格很大,浪费资源。上述步骤6中举例的一天后删除记录是个比较保守的时间,虽然可以尽可能保证查询已经执行完,但是也会导致不再使用的session id仍存储在记录表中,浪费资源。
为了提供更可靠的方案,在本说明书中,提供了一种请求处理方法,本说明书同时涉及一种请求处理装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了本说明书一实施例提供的一种应用于请求接收端的请求处理方法的流程图,包括如下步骤:
S102,接收请求发送端发送的访问请求,解析访问请求,获得访问请求携带的项目标识。
在具体应用中,请求接收端和请求发送端均可以为一个或者多个计算设备。具体可以由上述计算设备中的网关执行本实施例的各步骤。并且,不同项目的功能不同,例如,某项目用于图像识别,另一项目用于视频播放等等。因此,为了保证请求处理的正常执行,访问请求中至少携带项目标识。这样,解析访问请求,至少可以获得访问请求携带的项目标识。
另外,解析访问请求的方式可以是多种的。示例性的,可以提取访问请求中处于第一位置的内容,获得项目标识;若访问请求中存在第二位置,则提取第二位置处的内容,获得副本标识,若访问请求中不存在第二位置,则未获得副本标识。或者,示例性的,可以将访问请求输入预设的正则表达式,获得项目标识。其中,正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。这都是合理的。
任何可以解析访问请求,获得访问请求携带的项目标识的方式均可用于本说明书,本实施例对此不作限制。
S104,若访问请求未携带副本标识,则根据项目标识,调用目标副本响应访问请求,获得响应报文。
通过上述步骤S102中解析访问请求,若未获得副本标识,则可以确定访问请求未携带副本标识;若获得副本标识,则可以确定访问请求携带副本标识。访问请求未携带副本标识,表明该访问请求相当于项目标识代表的项目中第一个访问请求。并且,第一个访问请求不存在上一个访问请求也就无需依赖上一个访问请求的上下文信息。因此,可以根据项目标识,调用目标副本响应该访问请求,获得响应报文。其中,根据项目标识,调用目标副本响应访问请求,获得响应报文的具体方式可以是多种的。为了便于理解和合理布局,后续以可选实施例的形式进行具体说明。
在一种可选的实施方式中,在解析访问请求之后,本说明书提供的请求处理方法,还可以包括如下步骤:
若访问请求携带副本标识,则调用具有副本标识的目标副本响应访问请求,获得响应报文;
向请求发送端反馈响应报文。
示例性的,如果访问请求携带副本标识,例如访问请求为replica-y.model-x.alice.svc,携带副本标识replica-y,可以直接调用项目标识model-x对应的副本中具有副本标识replica-y的副本。另外,对于具有副本标识replica-y的副本不存在的情况,后续以可选实施例的形式具体说明。
S106,在响应报文中添加目标副本的副本标识,得到目标响应报文。
在具体应用中,在响应报文中添加目标副本的副本标识的方式,取决于请求发送端和请求接收端之间采用的通信协议。示例性的,如果通信协议为HTTP或者HTTPS,则可以在响应报文(Response)的标头(Header)中***添加副本标识,例如Host:replica-1.model-a.bob.svc,或者gateway:replica-1.model-a.bob.svc。其中,标头是在HTML文件之前的字符串,标头与HTML文件之间需空一行分隔。并且,HTTP或者HTTPS规定Header必须是K-V对的形式,因此Key的命名可以任意,只要其中包含副本标识即可。
任何在响应报文中添加目标副本的副本标识,得到目标响应报文的方式均可用于本说明书,本实施例对此不作限制。
S108,向请求发送端反馈目标响应报文,目标响应报文用于请求发送端提取目标响应报文中的副本标识添加至项目标识对应的访问请求中。
本步骤向请求发送端反馈的目标响应报文中添加有副本标识。这样,后续请求发送端可以提取目标响应报文中的副本标识添加至项目标识对应的访问请求中,以用于实现上述sticky session的功能。另外,为了便于理解和合理布局,对于请求发送端利用副本标识发送访问请求的情况,后续在本说明书图2实施例中进行具体描述。
本说明书提供的方案中,若访问请求未携带副本标识,则表明访问请求相当于项目标识代表的项目中第一个访问请求。并且,第一个访问请求不存在上一个访问请求也就无需依赖上一个访问请求的上下文信息。因此,可以根据项目标识,调用目标副本响应该访问请求,获得响应报文。在此基础上,在响应报文中添加目标副本的副本标识,得到目标响应报文,向请求发送端反馈目标响应报文,目标响应报文用于请求发送端提取目标响应报文中的副本标识添加至项目标识对应的访问请求中。这样,可以保证项目标识代表的项目中需要依赖目标副本产生的上下文的各访问请求,始终由目标副本进行处理,从而避免上下文信息的缺失所导致的请求处理错误。因此,可以提高Session场景中请求处理的可靠性。
在一种可选的实施方式中,上述根据项目标识,调用目标副本响应访问请求,获得响应报文,具体可以包括如下步骤:
从具有项目标识的多个副本中,选择满足预设分发条件的目标副本;
调用目标副本响应访问请求,获得响应报文。
在具体应用中,从具有项目标识的多个副本中,选择满足预设分发条件的目标副本的方式可以是多种的。示例性的,可以选择具有项目标识的任一副本。或者,示例性的,可以从具有项目标识的多个副本中,选择满足预设的负载均衡条件的目标副本。例如,预设的负载均衡条件为轮询调度条件(RoundRobin),则可以针对携带某项目标识的多次访问请求,选择具有项目标识的副本r1响应第一次访问请求,选择副本r2响应第二次访问请求,选择副本r3响应第三次访问请求。以此类推,当所有副本都调用一遍后,继续从副本r1开始新一轮的调用。或者,预设的负载均衡条件为选择最快(Pick fast)条件,则从具有项目标识的多个副本中,选择响应速度最快的目标副本。或者,预设的负载均衡条件为加权随机条件,则可以预先设置每个副本的权重,利用权重确定副本的分值,从具有项目标识的多个副本中,选择分值达到分数阈值的目标副本。其中,权重的大小与副本被选中的概率成正比,权重越高副本被选中的概率越高。
本方案提出的sticky session机制可以与负载均衡策略兼容,不矛盾。
在一种可选的实施方式中,在上述调用具有副本标识的目标副本响应访问请求之前,本说明书实施例提供的请求处理方法,还可以包括如下步骤:
确定具有副本标识的目标副本是否存在,若不存在,则向请求发送端返回提示信息。
在具体应用中,受客观因素影响,目标副本可能被删除。对此,可以采用本实施例提供的方案,以应对该情况。其中,提示信息用于告知请求发送端具有副本标识的目标副本不存在。例如,提示信息可以为“error response”。并且,提示信息还可以包含目标副本的副本标识等信息,以便发起请求的用户获知请求处理异常的原因。进而,用户可以通过请求发送端重新发送该访问请求,以提高请求处理的成功率。
在一种可选的实施方式中,在上述根据项目标识,调用目标副本响应访问请求之前,本说明书实施例提供的请求处理方法,还可以包括如下步骤:
确定目标副本是否存在,若不存在,则向请求发送端返回提示信息。
本实施例与上述访问请求中携带副本标识的情况类似,区别在于本实施例中访问请求未携带副本标识。副本删除的情况同样可能存在于本实施例中。因此,可以向请求发送端返回提示信息。
这样,上述关于返回提示信息的各实施例可以实现对增、删副本友好的效果。示例性的,如果请求接收端增加一个副本,则正在处理的也就是处于执行过程中的访问请求完全不受影响。并且,新的访问请求会陆续有一定概率落到新增的副本上。如果请求接收端删除一个副本,则未被删除的副本正在处理的也就是正在执行中的访问请求也不会影响,只有被删副本处理的访问请求会失败。对于失败情况,通过返回提示信息至请求发送端,可以提示用户重试,从而尽可能缩小删除副本造成的影响。
如图2所示,本说明书一实施提供的一种应用于请求发送端的请求处理方法的流程图,包括如下步骤;
S202,接收请求接收端反馈的响应报文,响应报文为请求接收端调用目标副本响应请求发送端发送的访问请求获得的。
在请求接收端反馈响应报文的情况下,请求发送端可以接收该响应报文。其中,响应报文与上述图1实施例中的响应报文相同,在此不再赘述,详见上述图1实施例的描述。并且,为了进一步提高请求处理的准确度,在一种可选的实施方式中,在上述接收请求接收端反馈的响应报文之后,本说明书实施例提供的请求处理方法,还可以包括如下步骤:
将响应报文存储至项目标识对应的存储区;
在接收到携带项目标识的结束通知时,基于项目标识对应的存储区中的各响应报文,输出项目标识对应的项目结果。
在具体应用中,对于需要经过多次交互才能实现的项目,为了保证项目结果的准确度,可以通过本实施例存储响应报文,进而在接收到携带项目标识的结束通知时,基于项目标识对应的存储区中的各响应报文,输出项目标识对应的项目结果。这样,可以保证项目结果时基于该项目所需的多次交互的响应报文得到的,减少将不完整的响应结果返回造成的请求处理异常。
其中,基于项目标识对应的存储区中的各响应报文,输出项目标识对应的项目结果,具体可以是多种的。示例性的,可以从项目标识对应的存储区中的各响应报文中提取响应结果,将提取的响应结果直接作为项目标识对应的项目结果输出。或者,示例性的,可以从项目标识对应的存储区中的各响应报文中提取响应结果,对提取的响应结果进行拼接,获得项目标识对应的项目结果进行输出。或者,示例性的,可以读取项目标识对应的存储区中的各响应报文,作为项目标识对应的项目结果进行输出。这都是合理的。
S204,提取响应报文携带的副本标识和项目标识。
在具体应用中,提取响应报文携带的副本标识和项目标识的方式可以是多种的。示例性的,可以提取响应报文中处于第三位置的内容,获得项目标识;提取响应报文中处于第四位置的内容,获得副本标识。或者,示例性的,可以将访问请求输入预设的正则表达式,获得项目标识和副本标识。
任何可以提取响应报文携带的副本标识和项目标识的方式均可用于本说明书,本实施例对此不作限制。
S206,将副本标识添加至具有项目标识的访问请求中,得到目标访问请求。
在具体应用中,将副本标识添加至具有项目标识的访问请求的方式,与在响应报文中添加目标副本的副本标识的方式类似,同样取决于请求发送端和请求接收端之间采用的通信协议。示例性的,如果通信协议为HTTP或者HTTPS,则可以在访问请求的标头(Header)中***添加副本标识,例如Host:replica-1.model-a.bob.svc,或者gateway:replica-1.model-a.bob.svc。区别在于本实施例为请求发送端将副本标识添加在访问请求中。对于相同部分在此不再赘述,详见上述图1实施例中将副本标识添加至响应报文的描述。另外,请求发送端可以记录副本标识,这样后续可以直接利用该副本标识,无需多次提取。
任何在访问请求中添加副本标识,得到目标访问请求的方式均可用于本说明书,本实施例对此不作限制。
S208,发送目标访问请求至项目标识对应的请求接收端。
其中,项目标识对应的请求接收端可以用于实现具有项目标识的项目。因此,发送目标访问请求至项目标识对应的请求接收端,可以保证请求处理的正常执行。例如,可以保证将具有图像识别项目标识的目标访问请求发送至用于实现图像识别项目的请求接收端,将具有视频播放项目标识的目标访问请求发送至用于实现视频播放项目的请求接收端。
本说明书提供的方案中,若访问请求未携带副本标识,则表明访问请求相当于项目标识代表的项目中第一个访问请求。并且,第一个访问请求不存在上一个访问请求也就无需依赖上一个访问请求的上下文信息。因此,可以根据项目标识,调用目标副本响应该访问请求,获得响应报文。在此基础上,在响应报文中添加目标副本的副本标识,得到目标响应报文,向请求发送端反馈目标响应报文,目标响应报文用于请求发送端提取目标响应报文中的副本标识添加至项目标识对应的访问请求中。这样,可以保证项目标识代表的项目中需要依赖目标副本产生的上下文的各访问请求,始终由目标副本进行处理,从而避免上下文信息的缺失所导致的请求处理错误。因此,可以提高Session场景中请求处理的可靠性。
为了便于理解,下面结合图3和图4,对本说明书实施例提供的一种应用于请求处理***的请求处理方法进行进一步说明。
如图3所示,本说明书一实施提供的一种请求处理***的结构框图,该***包括:
请求发送端302,被配置为发送访问请求;
请求接收端304,被配置为接收所述访问请求,解析所述访问请求,获得所述访问请求携带的项目标识;若所述访问请求未携带副本标识,则根据所述项目标识,调用目标副本响应所述访问请求,获得响应报文;在所述响应报文中添加所述目标副本的副本标识,得到目标响应报文;向所述请求发送端302反馈所述目标响应报文;
请求发送端302,还被配置为接收请求接收端反馈的响应报文;提取所述响应报文携带的副本标识和项目标识;将所述副本标识添加至具有所述项目标识的访问请求中,得到目标访问请求;发送所述目标访问请求至所述项目标识对应的请求接收端304。
上述为本实施例的一种请求处理***的示意性方案。需要说明的是,该请求处理***的技术方案与上述的请求处理方法的技术方案属于同一构思,请求处理***的技术方案未详细描述的细节内容,均可以参见上述请求处理方法的技术方案的描述。
为了便于,下面以请求发送端和请求接收端进行交互为例,对本说明书实施例提供的请求处理方法进行进一步说明。示例性的,如图4所示,本说明书一实施提供的一种应用于请求处理***的请求处理方法的流程图,包括:
S402,请求发送端发送访问请求;
S404,请求接收端解析访问请求,获得访问请求携带的项目标识;若访问请求未携带副本标识,则根据项目标识,调用目标副本响应访问请求,获得响应报文;在响应报文中添加目标副本的副本标识,得到目标响应报文;
S406,请求接收端向请求发送端反馈目标响应报文;
S408,请求发送端提取响应报文携带的副本标识和项目标识;将副本标识添加至具有项目标识的访问请求中,得到目标访问请求;
S410,发送目标访问请求至项目标识对应的请求接收端。
本实施例中请求发送端执行的步骤与上述本说明书图2实施例中各步骤相同,请求接收端执行的步骤与上述本说明书图1实施例中各步骤相同。对于相同内容在此不再赘述,详见上述本说明书图1和图2实施例的描述。
在一种可选的实施方式中,项目标识对应的请求接收端的数量为多个;
相应的,上述发送目标访问请求至项目标识对应的请求接收端,具体可以包括如下步骤:
根据项目标识,从多个请求接收端中确定目标请求接收端;
发送目标访问请求至目标请求接收端。
本说明书实施例提供的方式实现的session功能的情况下,请求接收端例如网关仍旧是无状态应用。也就是说请求接收端的每一步操作都是自解释的,不需要依赖执行的上下文环境。因此,请求接收端也就是gateway可以多实例部署,也可以重启。例如,机构Bob中,假设gateway数量为3,则机构Alice可以根据项目标识,从多个请求接收端中确定目标请求接收端。示例性的,可以从多个请求接收端中随机选一个作为目标请求接收端;或者,可以选择负载最小的作为目标请求接收端等等,这都是合理的,不会影响本方案的执行。也就是说,每次访问请求选定的目标请求接收端可以不是同一个。
因此,本实施例可以兼容请求接收端多副本部署或者分布式部署等更加高效的情况,从而进一步提高请求处理的效率,并扩展本说明书实施例提供的请求处理方法的适用范围。
在一种可选的实施方式中,本说明书实施例提供的请求处理方法,还可以包括如下步骤:
获取项目标识对应项目的属性信息,根据属性信息确定具有项目标识的各访问请求是否存在关联关系;
若存在,则执行将副本标识添加至具有项目标识的访问请求中;
若不存在,则将具有项目标识的访问请求发送至项目标识对应的请求接收端。
在具体应用中,对于某些不需要session机制的APP,也就是不需要session执行的上下文环境的APP,任何一次请求都可以随机调用对方的副本。因此,把response中的副本标识忽略即可,下次请求仍旧用不带replica id的URL请求对方服务即可。也就是本实施例的步骤:将具有项目标识的访问请求发送至项目标识对应的请求接收端。因此,本实施例的方案可以与不需要session机制的应用程序兼容。
其中,项目标识对应项目的属性信息可以是多种的,例如项目名称、项目标识、项目类型、项目配置文件等等。并且,根据属性信息确定具有项目标识的各访问请求是否存在关联关系的方式可以是多种的。示例性的,可以从预先建立的属性信息与关联信息的对应关系中,查找与上述项目的属性信息对应的关联信息;若关联信息为存在关联关系,则确定具有项目标识的各访问请求存在关联关系;若关联信息为不存在关联关系,则确定具有项目标识的各访问请求不存在关联关系。或者,示例性的,可以将上述项目的属性信息输入预先训练得到的分类模型,得到具有项目标识的各访问请求是否存在关联关系的分类结果。其中,分类模型为利用样本项目的属性信息和样本项目的属性信息对应的分类结果标签。该分类结果标签用于表明具有样本项目的项目标识的各样本访问请求是否存在关联关系。
在一种可选的实施方式中,在上述发送目标访问请求至项目标识对应的请求接收端之后,本说明书实施例提供的请求处理方法,还可以包括如下步骤:
接收项目标识对应的请求接收端返回的提示信息;
提取提示信息携带的请求标识,将具有请求标识的访问请求重新发送至项目标识对应的请求接收端。
在具体应用中,如果请求接收端增加一个副本,则正在处理的也就是处于执行过程中的访问请求完全不受影响。并且,新的访问请求会陆续有一定概率落到新增的副本上。如果请求接收端删除一个副本,则未被删除的副本正在处理的也就是正在执行中的访问请求也不会影响,只有被删副本处理的访问请求会失败。对于失败情况,通过返回提示信息至请求发送端,可以提示用户重试,从而尽可能缩小删除副本造成的影响。因此,本实施例可以提取提示信息携带的请求标识,将具有请求标识的访问请求重新发送至项目标识对应的请求接收端,从而实现重试的效果。
为了便于理解,下面以图5本说明书一实施提供的一种应用于请求处理***的请求处理方法的场景示例图为例,对本说明一实施例的请求处理方法进行进一步说明。示例性的,如图5所示,本说明书一实施提供的一种应用于请求处理***的请求处理方法,可以包括如下步骤S1至S6:
S1,用户发起请求,一个新的Session开始。假设用户想要访问模型A,由于机构Alice中模型A的3个实例都是同构的,因此,可以任选其中一个副本调用。本例中,选择模型A的副本2。其中,模型A相当于一个项目。本应用场景为对模型进行安全训练的场景,因此,一个模型可以看作一个训练项目。
S2,机构Alice通过网关(Gateway)访问机构Bob,也就是机构Alice向机构Bob发送访问请求。对于一个新的session,机构Bob的各副本也是等价的:每个副本都没有Session上下文。此时,机构Alice访问机构Bob不需要指定副本编号,因此,这一步机构Alice通过访问请求中携带的地址model-a.bob.svc访问机构Bob中的模型。其中,地址可以为通过统一资源定位***(URL,Uniform Resource Locator),因特网的万维网服务程序上用于指定信息位置的表示方法得到的。也就是说访问请求中携带的副本标识、项目标识,可以分别为副本地址、项目地址。
S3,机构Bob的网关(Gateway)收到访问请求后,解析得到地址为model-a.bob.svc,即只有模型id没有副本编号,因此Gateway随机选择模型A的其中一副本。本例中机构Bob的Gateway选择了副本1。
S4,机构Bob的模型A副本1处理后,将结果也就是response返回给机构Bob的Gateway。机构Bob的Gateway在response中附加上实际的副本地址:replica-1.model-a.bob.svc,并将修改后的response返回给机构Alice。
S5,机构Alice的模型A副本2收到修改后的response后,记下修改后的response附带的地址。
S6,模型运行过程中需要多次访问机构Bob,下次访问时,机构Alice直接用地址replica-1.model-a.bob.svc访问机构Bob,机构Bob的Gateway看到地址中存在replica-1,则一定会把请求转发给模型A副本1,从而实现sticky session功能。这样,在模型运行过程中多次访问机构Bob,相应的,对访问请求的处理重复多次后,任务执行完毕,机构Alice中模型A副本2将结果返回给用户,本次Session结束。
在本方案中,由于机构Alice与机构Bob是对称的,用户也可以在机构Bob端发起请求,如果是机构Bob端发起请求,则上述流程中机构Alice、机构Bob的角色互换即可。本实施例中,机构Alice、机构Bob都是部署了3个副本,具体应用中上机构Alice、机构Bob部署的副本数是可以不一样的,同时相互不需要知道对方的副本数,如果机构Bob调整了部署的副本数,也不需要通知机构Alice。对于机构Alice来说,response中的地址中的replica就是一个id,实际不一定用1、2、3、4…编号,机构Alice中的APP把地址整体记住即可,不需要关心机构Bob那边总共有几个副本。
与上述方法实施例相对应,本说明书还提供了请求处理装置实施例,图6示出了本说明书一实施例提供的一种应用于请求接收端的请求处理装置的结构示意图。如图6所示,该装置包括:
解析模块602,被配置为接收请求发送端发送的访问请求,解析所述访问请求,获得所述访问请求携带的项目标识;
响应模块604,被配置为若所述访问请求未携带副本标识,则根据所述项目标识,调用目标副本响应所述访问请求,获得响应报文;
添加模块606,被配置为在所述响应报文中添加所述目标副本的副本标识,得到目标响应报文;
发送模块608,被配置为向所述请求发送端反馈所述目标响应报文,所述目标响应报文用于所述请求发送端提取所述目标响应报文中的副本标识添加至所述项目标识对应的访问请求中。
本说明书提供的方案中,若访问请求未携带副本标识,则表明访问请求相当于项目标识代表的项目中第一个访问请求。并且,第一个访问请求不存在上一个访问请求也就无需依赖上一个访问请求的上下文信息。因此,可以根据项目标识,调用目标副本响应该访问请求,获得响应报文。在此基础上,在响应报文中添加目标副本的副本标识,得到目标响应报文,向请求发送端反馈目标响应报文,目标响应报文用于请求发送端提取目标响应报文中的副本标识添加至项目标识对应的访问请求中。这样,可以保证项目标识代表的项目中需要依赖目标副本产生的上下文的各访问请求,始终由目标副本进行处理,从而避免上下文信息的缺失所导致的请求处理错误。因此,可以提高Session场景中请求处理的可靠性。
在一种可选的实施方式中,所述响应模块604,进一步被配置为:
从具有所述项目标识的多个副本中,选择满足预设分发条件的目标副本;
调用所述目标副本响应所述访问请求,获得响应报文。
在一种可选的实施方式中,所述响应模块604,还被配置为:
若所述访问请求携带副本标识,则调用具有所述副本标识的目标副本响应所述访问请求,获得响应报文;
向所述请求发送端反馈所述响应报文。
在一种可选的实施方式中,所述装置还包括提示模块,被配置为:
确定具有所述副本标识的目标副本是否存在,若不存在,则向所述请求发送端返回提示信息。
在一种可选的实施方式中,所述装置还包括提示模块,被配置为:
确定所述目标副本是否存在,若不存在,则向所述请求发送端返回提示信息。
上述为本实施例的一种请求处理装置的示意性方案。需要说明的是,该请求处理装置的技术方案与上述应用于请求接收端的请求处理方法的技术方案属于同一构思,请求处理装置的技术方案未详细描述的细节内容,均可以参见上述应用于请求接收端的请求处理方法的技术方案的描述。
与上述方法实施例相对应,本说明书还提供了请求处理装置实施例,图7示出了本说明书一实施例提供的一种应用于请求发送端的请求处理装置的结构示意图。如图7所示,该装置包括:
接收模块702,被配置为接收请求接收端反馈的响应报文,所述响应报文为所述请求接收端调用目标副本响应所述请求发送端发送的访问请求获得的;
请求生成模块704,被配置为提取所述响应报文携带的副本标识和项目标识;将所述副本标识添加至具有所述项目标识的访问请求中,得到目标访问请求;
发送模块706,被配置为发送所述目标访问请求至所述项目标识对应的请求接收端。
本说明书提供的方案中,若访问请求未携带副本标识,则表明访问请求相当于项目标识代表的项目中第一个访问请求。并且,第一个访问请求不存在上一个访问请求也就无需依赖上一个访问请求的上下文信息。因此,可以根据项目标识,调用目标副本响应该访问请求,获得响应报文。在此基础上,在响应报文中添加目标副本的副本标识,得到目标响应报文,向请求发送端反馈目标响应报文,目标响应报文用于请求发送端提取目标响应报文中的副本标识添加至项目标识对应的访问请求中。这样,可以保证项目标识代表的项目中需要依赖目标副本产生的上下文的各访问请求,始终由目标副本进行处理,从而避免上下文信息的缺失所导致的请求处理错误。因此,可以提高Session场景中请求处理的可靠性。
在一种可选的实施方式中,所述项目标识对应的请求接收端的数量为多个;
所述发送模块706,进一步被配置为:
根据所述项目标识,从多个请求接收端中确定目标请求接收端;
发送所述目标访问请求至所述目标请求接收端。
在一种可选的实施方式中,上述请求生成模块704,还被配置为:
获取所述项目标识对应项目的属性信息,根据所述属性信息确定具有所述项目标识的各访问请求是否存在关联关系;
若存在,则执行所述将所述副本标识添加至具有所述项目标识的访问请求中;
若不存在,则将具有所述项目标识的访问请求发送至所述项目标识对应的请求接收端。
在一种可选的实施方式中,所述发送模块706,还被配置为:
接收所述项目标识对应的请求接收端返回的提示信息;
提取所述提示信息携带的请求标识,将具有所述请求标识的访问请求重新发送至所述项目标识对应的请求接收端。
在一种可选的实施方式中,还包括结果输出模块,被配置为:
将所述响应报文存储至所述项目标识对应的存储区;
在接收到携带所述项目标识的结束通知时,基于所述项目标识对应的存储区中的各响应报文,输出所述项目标识对应的项目结果。
上述为本实施例的一种请求处理装置的示意性方案。需要说明的是,该请求处理装置的技术方案与上述应用于请求发送端的请求处理方法的技术方案属于同一构思,请求处理装置的技术方案未详细描述的细节内容,均可以参见上述应用于请求发送端的请求处理方法的技术方案的描述。
图8示出了根据本说明书一实施例的电子设备800的结构框图。该电子设备800的部件包括但不限于存储器810和处理器820。处理器820与存储器810通过总线830相连接,数据库850用于保存数据。
电子设备800还包括接入设备840,接入设备840使得电子设备800能够经由一个或多个网络860通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,LocalAreaNetwork)、广域网(WAN,WideArea Network)、个域网(PAN,PersonalAreaNetwork)或诸如因特网的通信网络的组合。接入设备840可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,Network InterfaceController))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocalAreaNetworks)无线接口、全球微波互联接入(Wi-MAX,Worldwide Interoperabilityfor Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near Field Communication)接口,等等。
在本说明书的一个实施例中,电子设备800的上述以及图8中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图8所示的电子设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
电子设备800可以是任何类型的静止或移动电子设备,包括移动计算机或移动电子设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的电子设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止电子设备。电子设备800还可以是移动式或静止式的服务器。
其中,处理器820用于执行计算机可执行指令时,实现上述任一请求处理方法的步骤。
上述为本实施例的一种电子设备的示意性方案。需要说明的是,该电子设备的技术方案与上述的请求处理方法的技术方案属于同一构思,电子设备的技术方案未详细描述的细节内容,均可以参见上述请求处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述请求处理方法的步骤。
其中,计算机可读存储介质存储的计算机指令用于实现上述任一请求处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的请求处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述请求处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (16)
1.一种请求处理方法,应用于请求接收端,包括:
接收请求发送端发送的访问请求,解析所述访问请求,获得所述访问请求携带的项目标识;
若所述访问请求未携带副本标识,则根据所述项目标识,调用目标副本响应所述访问请求,获得响应报文;
在所述响应报文中添加所述目标副本的副本标识,得到目标响应报文;
向所述请求发送端反馈所述目标响应报文,所述目标响应报文用于所述请求发送端提取所述目标响应报文中的副本标识添加至所述项目标识对应的访问请求中。
2.根据权利要求1所述的方法,所述根据所述项目标识,调用目标副本响应所述访问请求,获得响应报文,包括:
从具有所述项目标识的多个副本中,选择满足预设分发条件的目标副本;
调用所述目标副本响应所述访问请求,获得响应报文。
3.根据权利要求1所述的方法,在所述解析所述访问请求之后,还包括:
若所述访问请求携带副本标识,则调用具有所述副本标识的目标副本响应所述访问请求,获得响应报文;
向所述请求发送端反馈所述响应报文。
4.根据权利要求3所述的方法,在所述调用具有所述副本标识的目标副本响应所述访问请求之前,还包括:
确定具有所述副本标识的目标副本是否存在,若不存在,则向所述请求发送端返回提示信息。
5.根据权利要求1至4任一项所述的方法,在所述根据所述项目标识,调用目标副本响应所述访问请求之前,还包括:
确定所述目标副本是否存在,若不存在,则向所述请求发送端返回提示信息。
6.一种请求处理方法,应用于请求发送端,包括:
接收请求接收端反馈的响应报文,所述响应报文为所述请求接收端调用目标副本响应所述请求发送端发送的访问请求获得的;
提取所述响应报文携带的副本标识和项目标识;
将所述副本标识添加至具有所述项目标识的访问请求中,得到目标访问请求;
发送所述目标访问请求至所述项目标识对应的请求接收端。
7.根据权利要求6所述的方法,所述项目标识对应的请求接收端的数量为多个;
所述发送所述目标访问请求至所述项目标识对应的请求接收端,包括:
根据所述项目标识,从多个请求接收端中确定目标请求接收端;
发送所述目标访问请求至所述目标请求接收端。
8.根据权利要求6至7任一项所述的方法,还包括:
获取所述项目标识对应项目的属性信息,根据所述属性信息确定具有所述项目标识的各访问请求是否存在关联关系;
若存在,则执行所述将所述副本标识添加至具有所述项目标识的访问请求中;
若不存在,则将具有所述项目标识的访问请求发送至所述项目标识对应的请求接收端。
9.根据权利要求6至7任一项所述的方法,在所述发送所述目标访问请求至所述项目标识对应的请求接收端之后,还包括:
接收所述项目标识对应的请求接收端返回的提示信息;
提取所述提示信息携带的请求标识,将具有所述请求标识的访问请求重新发送至所述项目标识对应的请求接收端。
10.根据权利要求6至7任一项所述的方法,在所述接收请求接收端反馈的响应报文之后,还包括:
将所述响应报文存储至所述项目标识对应的存储区;
在接收到携带所述项目标识的结束通知时,基于所述项目标识对应的存储区中的各响应报文,输出所述项目标识对应的项目结果。
11.一种请求处理装置,应用于请求接收端,包括:
解析模块,被配置为接收请求发送端发送的访问请求,解析所述访问请求,获得所述访问请求携带的项目标识;
响应模块,被配置为若所述访问请求未携带副本标识,则根据所述项目标识,调用目标副本响应所述访问请求,获得响应报文;
添加模块,被配置为在所述响应报文中添加所述目标副本的副本标识,得到目标响应报文;
发送模块,被配置为向所述请求发送端反馈所述目标响应报文,所述目标响应报文用于所述请求发送端提取所述目标响应报文中的副本标识添加至所述项目标识对应的访问请求中。
12.一种请求处理装置,应用于请求发送端,包括:
接收模块,被配置为接收请求接收端反馈的响应报文,所述响应报文为所述请求接收端调用目标副本响应所述请求发送端发送的访问请求获得的;
请求生成模块,被配置为提取所述响应报文携带的副本标识和项目标识;将所述副本标识添加至具有所述项目标识的访问请求中,得到目标访问请求;
发送模块,被配置为发送所述目标访问请求至所述项目标识对应的请求接收端。
13.一种请求处理***,包括:
请求发送端,被配置为发送访问请求;
请求接收端,被配置为接收所述访问请求,解析所述访问请求,获得所述访问请求携带的项目标识;若所述访问请求未携带副本标识,则根据所述项目标识,调用目标副本响应所述访问请求,获得响应报文;在所述响应报文中添加所述目标副本的副本标识,得到目标响应报文;向所述请求发送端反馈所述目标响应报文;
请求发送端,还被配置为接收请求接收端反馈的响应报文;提取所述响应报文携带的副本标识和项目标识;将所述副本标识添加至具有所述项目标识的访问请求中,得到目标访问请求;发送所述目标访问请求至所述项目标识对应的请求接收端。
14.一种计算设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令;
该计算机可执行指令被处理器执行时实现权利要求1至5或6-10任意一项所述请求处理方法的步骤。
15.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1至5或6-10任意一项所述请求处理方法的步骤。
16.一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行权利要求1至5或6-10任意一项所述请求处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210395983.8A CN114827274A (zh) | 2022-04-15 | 2022-04-15 | 请求处理方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210395983.8A CN114827274A (zh) | 2022-04-15 | 2022-04-15 | 请求处理方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114827274A true CN114827274A (zh) | 2022-07-29 |
Family
ID=82536486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210395983.8A Pending CN114827274A (zh) | 2022-04-15 | 2022-04-15 | 请求处理方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114827274A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106101201A (zh) * | 2016-06-02 | 2016-11-09 | 南京师范大学 | 一种ndn中基于重定向和重写的可扩展任播方法和*** |
US20160352867A1 (en) * | 2015-05-27 | 2016-12-01 | Elastic Beam, Inc. | Systems and methods for api routing and security |
CN107995304A (zh) * | 2017-12-13 | 2018-05-04 | 杭州迪普科技股份有限公司 | 一种基于cookie的会话保持方法及装置 |
CN108206852A (zh) * | 2016-12-20 | 2018-06-26 | 杭州华为数字技术有限公司 | 一种微服务框架下的基于会话的服务实例管理方法及设备 |
CN113364818A (zh) * | 2020-03-03 | 2021-09-07 | 北京搜狗科技发展有限公司 | 一种数据处理方法、装置和电子设备 |
-
2022
- 2022-04-15 CN CN202210395983.8A patent/CN114827274A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160352867A1 (en) * | 2015-05-27 | 2016-12-01 | Elastic Beam, Inc. | Systems and methods for api routing and security |
CN106101201A (zh) * | 2016-06-02 | 2016-11-09 | 南京师范大学 | 一种ndn中基于重定向和重写的可扩展任播方法和*** |
CN108206852A (zh) * | 2016-12-20 | 2018-06-26 | 杭州华为数字技术有限公司 | 一种微服务框架下的基于会话的服务实例管理方法及设备 |
CN107995304A (zh) * | 2017-12-13 | 2018-05-04 | 杭州迪普科技股份有限公司 | 一种基于cookie的会话保持方法及装置 |
CN113364818A (zh) * | 2020-03-03 | 2021-09-07 | 北京搜狗科技发展有限公司 | 一种数据处理方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6776411B2 (ja) | パケットベースのデータ通信のデバイス識別子依存オペレーション処理 | |
US10057734B2 (en) | System and method for transmitting and receiving media messages | |
US8954494B2 (en) | Method and system for synchronizing operations of multiple groups | |
CN101395838B (zh) | 数据同步方法、***和装置 | |
US8656417B2 (en) | Interface for telecommunication services using uniform resource identifiers | |
KR101391052B1 (ko) | 아이덴티티 정보 푸싱 방법 및 통신 디바이스 | |
US20070049258A1 (en) | System and method of mobile to desktop document interaction using really simple syndication | |
CN103634382B (zh) | 一种在网页上实现实时交互的***及方法 | |
JP2017517063A (ja) | インスタントメッセージングシステムおよび方法 | |
CN107294832B (zh) | 一种添加好友的方法及装置 | |
WO2015055010A1 (zh) | 数据传输方法及装置和存储介质 | |
WO2017114190A1 (zh) | 一种文件上传处理方法及装置 | |
KR20100101170A (ko) | 콘텐츠 분류 방법 및 시스템 | |
US9876776B2 (en) | Methods for generating and publishing a web site based on selected items and devices thereof | |
WO2019246530A1 (en) | Service layer-based methods to enable efficient analytics of iot data | |
US11379446B1 (en) | Session-based data storage for chat-based communication sessions | |
CN114221836A (zh) | 数据处理方法及装置 | |
CN114490889A (zh) | 配置信息处理方法、装置、设备、介质及程序产品 | |
CN112073297B (zh) | 一种为第三方应用提供社交应用服务的方法及服务端 | |
WO2020009797A1 (en) | Efficient resource representation exchange between service layers | |
CN112714068A (zh) | 编码图像的处理方法、装置及***、存储介质、电子装置 | |
US8521807B2 (en) | Method and system for controlling movement of user setting information registered in server | |
CN101425067B (zh) | 信息检索方法和*** | |
WO2019201111A1 (zh) | 信息处理方法、装置、设备及计算机可读存储介质 | |
CN114827274A (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 |