CN115643227A - 报文处理方法、装置、设备及*** - Google Patents
报文处理方法、装置、设备及*** Download PDFInfo
- Publication number
- CN115643227A CN115643227A CN202211176726.1A CN202211176726A CN115643227A CN 115643227 A CN115643227 A CN 115643227A CN 202211176726 A CN202211176726 A CN 202211176726A CN 115643227 A CN115643227 A CN 115643227A
- Authority
- CN
- China
- Prior art keywords
- server
- access
- state
- message
- client
- 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
- 238000012545 processing Methods 0.000 claims abstract description 106
- 238000000034 method Methods 0.000 claims abstract description 103
- 230000008569 process Effects 0.000 claims abstract description 29
- 230000008859 change Effects 0.000 claims description 81
- 238000004891 communication Methods 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 17
- 230000004048 modification Effects 0.000 claims description 12
- 238000012986 modification Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 6
- 230000007704 transition Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011143 downstream manufacturing Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请实施例涉及一种报文处理方法、装置、设备及***,涉及即时通讯领域。所述接入服务器为客户端创建对应的通道对象,所述通道对象包括集群信息和通道状态;所述接入服务器接收客户端发送的请求报文;将所述通道状态写入到所述请求报文中,获得接入报文;将所述接入报文发送给与所述集群信息对应的路由服务器,所述接入报文用于指示路由服务器根据所述通道状态处理所述请求报文;即本申请实施例通过接入服务器为客户端预先创建对应的通道对象,通道对象包括客户端待连接的集群信息,简化了客户端的接入流程,且可以根据通道对象中不同的通道状态实现对客户端报文的高效调度。
Description
技术领域
本申请涉及即时通讯技术领域,尤其涉及一种报文处理方法、装置、设备及***。
背景技术
在即时通讯***中,客户端与服务端一般使用进程通信机制Socket协议进行数据交互。服务端一般会部署多个集群,客户端可能需要与某个特定集群进行连接。
现有技术中,通常是客户端主动通过配置不同集群的地址与不同的环境连接,或者客户端通过服务端提供的超文本传输协议(Hyper Text Transfer Protocol,简称HTTP)接口获取集群连接地址,然后与之建立连接。但是,这些方式中,客户端的接入流程都较复杂,对客户端报文的调度效率不高。
发明内容
本申请的实施例提供了一种报文处理方法、装置、设备及***,以解决客户端在连接服务端的特定集群时,接入流程复杂、报文调度效率低的技术问题。
第一方面,本申请的实施例提供了一种报文处理方法,应用于接入服务器,所述接入服务器为客户端创建对应的通道对象,所述通道对象包括集群信息和通道状态;所述方法包括:接收客户端发送的请求报文;将所述通道状态写入到所述请求报文中,获得接入报文;将所述接入报文发送给与所述集群信息对应的路由服务器,所述接入报文用于指示路由服务器根据所述通道状态处理所述请求报文。
作为本申请的一实施例,在确定所述通道状态为第一状态的情况下,所述将所述通道状态写入到所述请求报文中,获得接入报文;将所述接入报文发送给与所述集群信息对应的路由服务器,所述接入报文用于指示路由服务器根据所述通道状态处理所述请求报文,包括:将所述第一状态写入到所述请求报文中,获得第一接入报文;将所述第一接入报文发送给与所述集群信息对应的路由服务器,所述第一接入报文用于指示路由服务器在第一状态时,将所述请求报文发送给与所述集群信息对应的处理服务器。
作为本申请的一实施例,所述路由服务器配置白名单,所述白名单记录客户端对应的目标集群信息;在确定所述通道状态为第二状态的情况下,所述将所述通道状态写入到所述请求报文中,获得接入报文;将所述接入报文发送给与所述集群信息对应的路由服务器,所述接入报文用于指示路由服务器根据所述通道状态处理所述请求报文,包括:将所述第二状态写入到所述请求报文中,获得第二接入报文;将所述第二接入报文发送给与所述集群信息对应的路由服务器,所述第二接入报文用于指示路由服务器在非第一状态时,根据所述白名单确定客户端对应的目标集群信息,并将所述请求报文发送给与所述目标集群信息对应的处理服务器。
作为本申请的一实施例,所述方法还包括:接收所述路由服务器发送的所述目标集群信息和第一变更指令;基于所述目标集群信息更新所述通道对象中的集群信息,并根据所述第一变更指令将所述通道状态变更为第一状态。
作为本申请的一实施例,所述方法还包括:在所述白名单不存在客户端对应的目标集群信息的情况下,接收所述路由服务器发送的第一变更指令,并根据所述第一变更指令将所述通道状态变更为第一状态。
作为本申请的一实施例,所述方法还包括:在所述白名单修改的情况下,接收所述路由服务器发送的第二变更指令,并根据所述第二变更指令将所述通道状态变更为第三状态。
作为本申请的一实施例,所述接入服务器配置至少一个集群的权重信息;在确定所述通道状态为第三状态的情况下,将所述通道状态写入到所述请求报文中之前,还包括:根据所述权重信息从所述至少一个集群中随机确定初始集群,并将初始集群的信息作为所述通道对象中的集群信息,并将所述通道状态变更为第二状态。
作为本申请的一实施例,所述接入服务器还配置了与所述权重信息对应的第一版本信息,所述通道对象还包括第二版本信息;所述方法还包括:基于所述第一版本信息更新所述第二版本信息。
作为本申请的一实施例,所述接入服务器配置至少一个集群的权重信息、与所述权重信息对应的第一版本信息;所述方法还包括:响应于第一修改指令,修改所述权重信息,并更新所述第一版本信息。
作为本申请的一实施例,所述方法还包括:所述通道对象还包括第二版本信息;所述接收客户端发送的请求报文之后,还包括:在确定所述第一版本信息与所述第二版本信息不一致的情况下,将所述通道状态更新为第三状态。
作为本申请的一实施例,所述接收客户端发送的请求报文之前,还包括:响应于客户端启动,为客户端创建通道对象,所述通道对象中通道状态为第三状态。
第二方面,本申请的实施例提供了一种报文处理方法,应用于路由服务器,所述方法包括:接收接入服务器基于集群信息发送的接入报文,所述接入报文包括通道状态和请求报文,其中,所述集群信息和所述通道状态是接入服务器为客户端所创建的对应通道对象中的信息,所述请求报文是客户端向接入服务器发起的;根据所述通道状态处理所述请求报文。
作为本申请的一实施例,所述根据所述通道状态处理所述请求报文,包括:在确定所述通道状态为第一状态的情况下,将所述请求报文发送给与所述集群信息对应的处理服务器。
作为本申请的一实施例,所述路由服务器设置白名单,所述白名单记录客户端对应的目标集群信息;所述根据所述通道状态处理所述请求报文,包括:在确定所述通道状态为非第一状态的情况下,根据所述白名单确定客户端对应的目标集群信息,并将所述请求报文发送给与所述目标集群信息对应的处理服务器。
作为本申请的一实施例,所述方法还包括:发送所述目标集群信息和第一变更指令给接入服务器;其中,所述目标集群信息用于指示所述接入服务器更新所述通道对象中的集群信息,所述第一变更指令用于指示所述接入服务器将所述通道状态变更为第一状态。
作为本申请的一实施例,所述方法还包括:在所述白名单不存在客户端对应的目标集群信息的情况下,将所述请求报文发送给与所述集群信息对应的处理服务器;发送第一变更指令给接入服务器,所述第一变更指令用于指示所述接入服务器将所述通道状态变更为第一状态。
作为本申请的一实施例,所述方法还包括:响应于第二修改指令,修改所述白名单,并向所述接入服务器发送第二变更指令;其中,所述第二变更指令用于指示接入服务器将所述通道状态变更为第三状态。
第三方面,本申请的实施例提供一种报文处理装置,所述装置用于接入服务器,所述接入服务器为客户端创建对应的通道对象,所述通道对象包括集群信息和通道状态;所述装置包括:第一接收模块,用于接收客户端发送的请求报文;第一处理模块,用于将所述通道状态写入到所述请求报文中,获得接入报文;第一发送模块,用于将所述接入报文发送给与所述集群信息对应的路由服务器,所述接入报文用于指示路由服务器根据所述通道状态处理所述请求报文。
第四方面,本申请的实施例一种报文处理装置,所述装置用于路由服务器,所述装置包括:第二接收模块,用于接收接入服务器基于集群信息发送的接入报文,所述接入报文包括通道状态和请求报文,其中,所述集群信息和所述通道状态是接入服务器为客户端所创建的对应通道对象中的信息,所述请求报文是客户端向接入服务器发起的;第二处理模块,用于根据所述通道状态处理所述请求报文。
第五方面,本申请的实施例提供一种报文处理设备,包括接入服务器和路由服务器;其中,所述接入服务器用于实现第一方面任一项所述的报文处理方法的步骤,所述路由服务器实现第二方面任一项所述的报文处理方法的步骤。
第六方面,本申请的实施例提供一种服务端,包括处理服务器和如第五方面所述的报文处理设备,其中,所述处理服务器用于处理所述请求报文。
第七方面,本申请的实施例提供一种报文处理***,包括客户端和如第六方面所述的服务端,其中,所述客户端用于向所述服务端发送请求报文。
第八方面,本申请的实施例提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现第一方面或第二方面任一项所述的报文处理方法的步骤。
第九方面,本申请的实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现第一方面或第二方面任一项所述的报文处理方法的步骤。
本申请的实施例提供的报文处理方法、装置、设备及***,所述接入服务器为客户端创建对应的通道对象,所述通道对象包括集群信息和通道状态;所述接入服务器接收客户端发送的请求报文;将所述通道状态写入到所述请求报文中,获得接入报文;将所述接入报文发送给与所述集群信息对应的路由服务器,所述接入报文用于指示路由服务器根据所述通道状态处理所述请求报文;即本申请实施例通过接入服务器为客户端预先创建对应的通道对象,通道对象包括客户端待连接的集群信息,简化了客户端的接入流程,且可以根据通道对象中不同的通道状态实现对客户端报文的高效调度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种***架构示意图;
图2为本申请实施例提供的一种接入服务器的结构示意图;
图3为本申请实施例提供的一种路由服务器的结构示意图;
图4为本申请实施例提供的一种报文处理方法的流程示意图;
图5为本申请实施例提供的另一种报文处理方法的流程示意图;
图6为本申请实施例提供的再一种报文处理方法的流程示意图;
图7为本申请实施例提供的又一种报文处理方法的流程示意图;
图8为本申请实施例提供的一种报文处理方法的流程框图;
图9为本申请实施例提供的一种报文处理方法的流程框图;
图10为本申请实施例提供的又一种报文处理方法的流程示意图;
图11为本申请实施例提供的又一种报文处理方法的流程示意图;
图12为本申请实施例提供的一种报文处理装置的结构示意图;
图13为本申请实施例提供的另一种报文处理装置的结构示意图;
图14为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在即时通讯***中,客服端与服务端一般使用Socket协议进行数据交互。服务端一般会部署多个集群(或称为环境)如:测试集群、预发集群、灰度集群、生产集群等。当客户端想要连接到特定的集群时,通常有两种方式:
第一种,客户端主动通过配置不同集群的地址与不同环境连接。
第二种,服务端维护一个名单列表,通过HTTP接口提供给客户端访问,每个客户端通过请求该接口来获取集群的连接地址,然后与该连接地址进行连接。
但是,第一种方式,客户端需要提前知道服务端所有集群地址,自主决定接入的集群并与之连接,操作复杂、效率低,且服务端无法控制客户端所接入的集群,当一个服务端环境出现异常时,服务端无法主动快速地将客户端的请求切换到其他环境,***整体的稳定性低。第二种方式,客户端通过服务端提供的HTTP接口获取连接地址,然后与之建立连接,具有一定的滞后性,当服务端配置变更时客户端无法感知,造成在客户端连接过程中,用户无法收发消息,严重影响用户体验。综上,现有方式的客户端接入流程都较复杂,对客户端报文的调度效率不高。
针对上述技术问题,本申请的技术构思在于:通过接入服务器为客户端预先创建对应的通道对象,通道对象包括客户端待连接的集群信息,简化了客户端的接入流程,且可以根据通道对象中不同的通道状态实现对客户端报文的高效调度。
图1为本申请实施例提供的一种***架构示意图,如图1所示,该***架构包括客户端和服务端,服务端包括接入服务器、路由处理器以及处理服务器,服务端部署多个环境,如环境1、环境2,每个环境有其对应的接入服务器、路由服务器和处理服务器。其中,客户端与服务端之间通过网络连接,接入服务器、路由服务器以及处理服务器之间通过网络连接。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
客户端包括各种具有计算服务、存储服务等服务需求的电子设备,该电子设备可以是普通用户的终端设备,也泛指需要通过socket与服务端交互的其他***。例如可以包括但不限于是:笔记本电脑、平板电脑、智能手机、台式计算机、智能手表、智能手环、无人驾驶汽车、智能机器人等等,客户端上可以安装有各种应用,例如包括但不限于是购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件、视频播放类应用等(仅为示例)。
接入服务器(又称为接入点、接入服务)为服务端对外暴露的入口,它对外与客户端建立socket连接,服务端和客户端的数据交互都由该接入服务器进行中转,可以是单台主机,也可以是多台主机组成的单集群或多集群服务。
图2为本申请实施例提供的一种接入服务器的结构示意图,所述接入服务器为客户端创建通道对象,所述通道对象的通道信息包括集群信息和通道状态,其中,集群信息又可称为环境信息,用于表征客户端所要连接的环境,通道状态用于表征客户端与接入服务器之间建立的长连接通道的状态,包括初始化、过渡态以及就绪态。举例来说,如图2所示,接入服务器为第一客户端所创建的第一通道对象channel_001中,环境信息为1,通道状态为初始化,又如为第二客户端所创建的第二通道对象channel_002中,环境信息为2,通道状态为就绪态。
在一些实施例中,所述接入服务器配置至少一个集群的权重信息,具体来说,接入服务器配置不同环境的权重,如环境1权重为80%,环境2权重为20%。在一些实施例中,所述接入服务器还配置了版本信息,版本信息为环境配置权重对应的时间戳信息,在通道对象中也包括版本信息。在一些实施例中,接入服务器还对外提供接口,用于设置通道状态和各环境权重。
路由服务器22(又称为分发服务、报文路由服务),用于将客户端发送给服务端的报文解析,按照预先约定的方式将报文交由不同的处理服务器处理。图3为本申请实施例提供的一种路由服务器的结构示意图,如图3所示,所述路由服务器配置客户端规则(又可称为白名单),即各客户端对应的目标集群信息,例如账户1对应的目标环境为环境1,账户2对应的目标环境为环境2。在一些实施例中,所述路由服务器也对外提供接口,用于客户端规则的添加或删除。
上述***架构中的客户端和服务端可以配合执行本申请实施例提供的报文处理方法。上述***架构中的客户端、接入服务器和路由服务器各自均可以对应执行本申请实施例提供的报文处理方法。
图4为本申请实施例提供的一种报文处理方法的流程示意图,应用于图1所示的***架构,其中,所述接入服务器为客户端创建对应的通道对象,所述通道对象包括集群信息和通道状态,可参考图2。如图4所示,该报文处理方法包括:
步骤S101、客户端向接入服务器发送请求报文。
相对应的,接入服务器侧,接收客户端发送的请求报文。
具体来说,在发送报文前,即客户端启动时,与接入服务器建立长连接通道,客户端基于该长连接通道向接入服务器发送请求报文。
在一些实施例中,所述步骤S101之前还包括:响应于客户端启动,为客户端创建通道对象,所述通道对象中通道状态为第三状态。具体来说,客户端启动时与接入服务器建立连接,接入服务器创建该客户端的通道对象,通道对象中的集群信息和通道状态均为空白,在通道状态为空白,即第三状态时,表明此时需要重新获取集群信息,在获取到集群信息后,通道状态变更为过渡态或就绪态,过渡态表示此时还未确定通道对象中的集群信息是否为客户端所要连接的目标集群信息,就绪态表示通道对象中的集群信息已经确定是客户端所要连接的目标集群信息,可直接分发报文。初始化、过渡态和就绪态这三个状态之间可以相互转换。
步骤S102、接入服务器将所述通道状态写入到所述请求报文中,获得接入报文。
具体来说,接入服务器会将通道状态,如过渡态或者就绪态写入到请求报文中,获得接入报文。
步骤S103、接入服务器将所述接入报文发送给与所述集群信息对应的路由服务器。
其中,所述接入报文用于指示路由服务器根据所述通道状态处理所述请求报文。
相对应的,在路由服务器侧,接收接入服务器基于集群信息发送的接入报文,所述接入报文包括通道状态和请求报文,其中,所述集群信息和所述通道状态是接入服务器为客户端所创建的对应通道对象中的信息,所述请求报文是客户端向接入服务器发起的。
具体来说,路由服务器具有环境属性,即每个集群环境会有至少一个对应的路由服务器,本步骤中,接入服务器根据通道对象中的集群信息确定对应的路由服务器,并将写入有通道状态的请求报文发送给对应的路由服务器。如图1所示,电脑客户端将请求报文发送给接入服务器后,接入服务器确定出该电脑客户端对应的集群信息为环境1,则将该请求报文发送给环境1对应的路由服务器(如图1中虚线部分)。
步骤S104、路由服务器根据所述通道状态处理所述请求报文。
具体来说,路由服务器收到接入报文时,会解析出通道状态,然后根据通道状态处理该请求报文。举例来说,若通道状态为就绪态,则直接将请求报文发送给路由服务器下游的处理服务器,若通道状态不是就绪态,就会进行相应处理后再发送给对应的处理服务器。
本申请实施例提供的报文发送方法,应用于接入服务器,所述接入服务器为客户端创建对应的通道对象,所述通道对象包括集群信息和通道状态,通过接收客户端发送的请求报文;将所述通道状态写入到所述请求报文中,获得接入报文;将所述接入报文发送给与所述集群信息对应的路由服务器,所述接入报文用于指示路由服务器根据所述通道状态处理所述请求报文;即本申请实施例通过接入服务器为客户端预先创建对应的通道对象,通道对象包括客户端待连接的集群信息,使得客户端无需提前获知所有集群的地址,也无需自主选择,简化了客户端的接入流程,且服务端能够有效控制客户端接入的集群,还可以根据通道对象中不同的通道状态实现对客户端报文的高效调度。
在上述实施例的基础上,图5为本申请实施例提供的另一种报文处理方法的流程示意图,如图5所示,该报文处理方法包括:
步骤S201、客户端向接入服务器发送请求报文。
步骤S202、接入服务器在确定所述通道状态为第一状态的情况下,将所述第一状态写入到所述请求报文中,获得第一接入报文。
步骤S203、接入服务器将所述第一接入报文发送给与所述集群信息对应的路由服务器。
其中,所述第一接入报文用于指示路由服务器在第一状态时,将所述请求报文发送给与所述集群信息对应的处理服务器。
步骤S204、路由服务器在确定所述通道状态为第一状态的情况下,将所述请求报文发送给与所述集群信息对应的处理服务器。
本申请实施例中的步骤S201的实现方式与上述实施例中的步骤S101的实现方式类似,此处不再赘述。
与上述实施例的区别在于,本实施例进一步限定了通道状态为第一状态时一种报文处理的具体实现方式。在本实施例中,接入服务器在确定所述通道状态为第一状态的情况下,将所述第一状态写入到所述请求报文中,获得第一接入报文;接入服务器将所述第一接入报文给与所述集群信息对应的路由服务器;路由服务器在确定所述通道状态为第一状态的情况下,将所述请求报文发送给与所述集群信息对应的处理服务器。
具体来说,第一状态为就绪态,表征通道对象中的集群信息就是客户端所要连接的目标集群信息。当接入服务器收到客户端发送的请求报文后,首先确定为客户端创建的通道对象中的通道状态是否为就绪态,若是,可以将就绪态写入到请求报文中直接发送给集群信息对应的路由服务器,路由服务器在收到该报文后,解析出通道状态是就绪态,直接将请求报文发送给其对应的下游处理服务器。
如图1虚线箭头所示,电脑客户端发送请求报文给接入服务器,接入服务器确定通道状态为就绪态,集群信息为环境2,则接入服务器将就绪态写入到请求报文中发送给环境2对应的路由服务器,环境2对应的路由服务器根据就绪态直接将请求报文分发给处理服务器C处理。
本申请实施例提供的报文处理方法,通过接入服务器在确定所述通道状态为第一状态的情况下,将所述第一状态写入到所述请求报文中,获得第一接入报文;接入服务器将所述第一接入报文给与所述集群信息对应的路由服务器,所述第一接入报文用于指示路由服务器在第一状态时,将所述请求报文发送给与所述集群信息对应的处理服务器;即本申请实施例在确定通道状态为就绪态时,直接根据通道对象中的集群信息将请求报文投递给对应的路由服务器,路由服务器可直接分发报文给下游服务,实现了高效调度。
在上述实施例的基础上,图6为本申请实施例提供的再一种报文处理方法的流程示意图,其中,所述路由服务器配置白名单,所述白名单记录客户端对应的目标集群信息。如图6所示,该报文处理方法包括:
步骤S301、客户端向接入服务器发送请求报文。
步骤S302、接入服务器在确定所述通道状态为第二状态的情况下,将所述第二状态写入到所述请求报文中,获得第二接入报文。
步骤S303、接入服务器将所述第二接入报文发送给与所述集群信息对应的路由服务器。
其中,所述第二接入报文用于指示路由服务器在非第一状态时,根据所述白名单确定客户端对应的目标集群信息,并将所述请求报文发送给与所述目标集群信息对应的处理服务器。
步骤S304、路由服务器在确定所述通道状态为非第一状态的情况下,根据所述白名单确定客户端对应的目标集群信息,并将所述请求报文发送给与所述目标集群信息对应的处理服务器。
在一些实施例中,还包括步骤S305、S306。
步骤S305、路由服务器发送所述目标集群信息和第一变更指令给接入服务器。
其中,所述目标集群信息用于指示所述接入服务器更新所述通道对象中的集群信息,所述第一变更指令用于指示所述接入服务器将所述通道状态变更为第一状态。
相对应的,在接入服务器侧,接收所述路由服务器发送的所述目标集群信息和第一变更指令。
步骤S306、接入服务器基于所述目标集群信息更新所述通道对象中的集群信息,并根据所述第一变更指令将所述通道状态变更为第一状态。
本申请实施例中的步骤S301的实现方式与上述实施例中的步骤S101的实现方式类似,此处不再赘述。
与上述实施例的区别在于,本实施例进一步限定了通道状态为第二状态时的一种报文处理的具体实现方式。在本实施例中,接入服务器在确定所述通道状态为第二状态的情况下,将所述第二状态写入到所述请求报文中,获得第二接入报文;将所述第二接入报文发送给与所述集群信息对应的路由服务器;路由服务器在确定所述通道状态为非第一状态的情况下,根据所述白名单确定客户端对应的目标集群信息,并将所述请求报文发送给与所述目标集群信息对应的处理服务器;本实施例还包括:路由服务器发送所述目标集群信息和第一变更指令给接入服务器;接入服务器基于所述目标集群信息更新所述通道对象中的集群信息,并根据所述第一变更指令将所述通道状态变更为第一状态。
参考图3所示,路由服务器上维护了针对每个客户端的白名单,白名单可以按照具体账号配置,也可以按照客户端其他属性分配,如客户端类型等;第二状态又可称为过渡状态,用于表示需要进一步确认通道对象中的集群信息是否为目标集群信息。
本实施例中,接入服务器在收到客户端发送的请求报文后,确认接入服务器为该客户端所创建的通道对象中的通道状态,若为过渡态,则将过渡态写入到请求报文中发送给路由服务器,路由服务器解析出该通道状态是过渡态,而非就绪态,则会拉取白名单判断该请求报文的发起客户端应该被分发到的目标集群信息,并将该请求报文发送给目标集群对应的下游处理服务器。
与此同时,路由服务器还会调用接入服务器的接口,写入该对应通道正确的目标集群信息,并更新通道状态为就绪态,从而使得当下一次客户端发送请求报文时,接入服务器会按照通道对象中新的集群信息(目标集群信息)将请求报文投递给正确环境的路由服务器,路由服务器解析到通道状态为就绪态,直接分发请求报文给下游服务。
在一些实施例中,在所述白名单不存在客户端对应的目标集群信息的情况下,在接入服务器侧,接收所述路由服务器发送的第一变更指令,并根据所述第一变更指令将所述通道状态变更为第一状态;相对应的,在路由服务器侧,将所述请求报文发送给与所述集群信息对应的处理服务器;发送第一变更指令给接入服务器,所述第一变更指令用于指示所述接入服务器将所述通道状态变更为第一状态。
具体来说,如果路由服务器未配置客户端对应的白名单,则将通道对象中的当前集群信息直接作为目标集群信息,并向接入服务器发送第一变更指令,将通道状态由过渡态变更为就绪态,从而使得当下一次客户端发送请求报文时,接入服务器会按照通道对象中新的集群信息(目标集群信息)将请求报文投递给正确环境的路由服务器,路由服务器解析到通道状态为就绪态,直接分发请求报文给下游服务。
在一些实施例中,在路由服务器侧,响应于第二修改指令,修改所述白名单,并向所述接入服务器发送第二变更指令;其中,所述第二变更指令用于指示接入服务器将所述通道状态变更为第三状态;相对应的,在接入服务器侧,在所述白名单修改的情况下,接收所述路由服务器发送的第二变更指令,并根据所述第二变更指令将所述通道状态变更为第三状态。
参考图3所示,路由服务器对外提供规则变更接口,当需要变更客户端对应的白名单时,调用该接口即可对白名单进行修改,包括添加、删除等;然后可异步调用接入服务器的接口更新通道状态为初始化状态,使得下一次客户端发送请求报文时,重新确定通道对象中的集群信息后再处理报文。
综上,本实施例通过白名单实现了对客户端请求的细化调度,能够快速实时切换客户端到指定服务端集群,可以在秒级范围内将指定或所有用户切换到目标环境;且采用白名单来指定客户端的集群,能够适用大部分生产场景;且在调度过程中如果服务端配置变更时,客户端无需重新与服务端建立连接,使得客户端在调度过程中无感知,大大提升了用户体验。
本申请实施例提供的报文处理方法,通过接入服务器在确定所述通道状态为第二状态的情况下,将所述第二状态写入到所述请求报文中,获得第二接入报文,将所述第二接入报文发送给与所述集群信息对应的路由服务器,所述第二接入报文用于指示路由服务器在非第一状态时,根据所述白名单确定客户端对应的目标集群信息,并将所述请求报文发送给与所述目标集群信息对应的处理服务器;即本申请实施例通过路由服务器设置的白名单实现了对客户端的细化调用,能够实时高效的将客户端切换到目标环境中。
在上述实施例的基础上,图7为本申请实施例提供的又一种报文处理方法的流程示意图,所述接入服务器配置至少一个环境的权重信息。如图7所示,该报文处理方法包括:
步骤S401、客户端向接入服务器发送请求报文。
步骤S402、接入服务器在确定所述通道状态为第三状态的情况下,根据所述权重信息从所述至少一个集群中随机确定初始集群,并将初始集群的信息作为所述通道对象中的集群信息,并将所述通道状态变更为第二状态。
步骤S403、接入服务器将所述第二状态写入到所述请求报文中,获得第二接入报文。
步骤S404、接入服务器将所述第二接入报文发送给与所述集群信息对应的路由服务器。
步骤S405、路由服务器在确定所述通道状态为非第一状态时,根据所述白名单确定客户端对应的目标集群信息,并将所述请求报文发送给与所述目标集群信息对应的处理服务器。
本申请实施例中的步骤S401、403-405的实现方式与上述实施例中的步骤S301、302-304的实现方式类似,此处不再赘述。
与上述实施例的区别在于,本实施例进一步限定了通道状态为第一状态时一种报文处理的具体实现方式。在本实施例中,接入服务器在确定所述通道状态为第三状态的情况下,根据所述权重信息从所述至少一个集群中随机确定初始集群,并将初始集群的信息作为所述通道对象中的集群信息,并将所述通道状态变更为第二状态。
具体来说,第三状态又可称为初始化状态,用于表示通道对象中的集群信息为空值或者处于失效,需要重新获取。参考图2所示,在接入服务器上配置了各环境对应的权重,在接收到客户端发送的请求报文后,若确定为初始化状态,则根据接入服务器上所配置的各环境的权重信息随机选取一个环境,即初始环境,更新到通道对象中,并更新状态为第二状态,即过渡态;然后将过渡态写入到请求报文中发送给路由服务器,路由服务器解析出非第一状态,则拉取白名单确定客户端的目标集群信息,并将请求报文发送给目标集群对应的下游服务,然后调用接入服务器的接口,写入目标集群信息,同时更新通道状态为就绪态,这样下一次发送请求报文时,直接将请求报文发送给目标集群信息对应的路由服务器,路由服务器在解析出第一状态,直接将请求报文处理给下游服务。
在一些实施例中,所述接入服务器还配置了与所述权重信息对应的第一版本信息,所述通道对象还包括第二版本信息,所述步骤S402还包括:基于所述第一版本信息更新所述第二版本信息。参考图2所示,接入服务器上还存储了版本信息,在通道状态为第三状态时,除了根据权重选取出一个环境作为集群信息,还会将接入服务器的版本信息更新到通道对象中。
在一些实施例中,所述方法还包括:响应于第一修改指令,修改所述权重信息,并更新所述第一版本信息。具体来说,可以基于接入服务器的接口实现对不同环境的权重信息进行变更,并会实时更新版本信息,在一些实施例中,接入服务器将本地版本信息设置为当前时间戳。
在一些实施例中,所述方法还包括:在确定所述第一版本信息和第二版本信息不一致的情况下,将所述通道状态更新为第三状态。具体来说,当接入服务器的权重信息进行更新后,对应的版本信息也会进行更新,当下次收到用户请求报文时,接入服务器会对比通道对象中的版本信息和接入服务器的版本信息是否一致,若不一致,则说明此时通道对象中的通道状态为失效状态,需要重新获取。
图8为本申请实施例提供的一种报文处理方法的流程框图,如图8所示,接入服务器接收到客户端发送的请求报文后,判断通道状态是否为就绪态;若是,则直接分发报文;若否,则接入服务器继续判断通道状态是否为过渡态;若否,则说明通道状态为初始化,则可以按照接入服务器上预先设置的各环境权重随机获取一个环境信息,并更新通道状态为过渡态;若是过渡态或者经过更新后变为过渡态,则将过渡态写入到请求报文中发送给对应的路由服务器;路由服务器解析通道状态是否为就绪态;若是,则直接分发报文;若否,则拉取路由服务器上的白名单,确定是否匹配客户规则;若是,则按照客户规则确定正确的环境,即目标环境,并调用接入服务器接口更新通道状态为就绪态,分发报文;若没有匹配的客户规则,则直接调用接入服务器接口更新通道状态为就绪态,分发报文。
综上可知,本实施例的不同通道状态之间相互转换。图9为本申请实施例提供的一种通道状态转换示意图,如图9所示,若通道状态为第三状态(初始化,state=0),则按照权重选择环境后,通道状态变更为第二状态(过渡态,state=1);当根据白名单确定出目标集群信息后,通道状态由第二状态变更为第一状态(就绪态,state=2)。当白名单修改时或者权重信息修改时,通道状态会重置为初始化。
本申请实施例提供的报文处理方法,通过接入服务器在确定所述通道状态为第三状态的情况下,根据所述权重信息从所述至少一个环境中随机确定一个环境作为所述集群信息,并变更所述通道状态为第二状态;即本申请实施例通过设置通道状态为第三状态,实现根据权重选取环境,满足了大部分生产场景。
为了更进一步了解本申请实施例,现对本申请实施例进行更详细说明:
(1)接入服务器启动时会初始化环境配置权重,同时会以当前时间作为权重配置版本号。
(2)客户端启动时与接入服务器建立连接,接入服务器创建该客户端的通道对象,此时通道对象中的环境信息、版本信息和通道状态为空白(state=0)。当客户端向服务端发送第一条报文时,接入服务器会按照权重随机从环境列表中选取一个环境,保存当前配置版本号到通道对象中,并将通道状态设置为过渡状态(state=1)。然后,接入服务器会将写入了通道状态的报文发送给路由服务器。
(3)路由服务器收到报文时,会解析出通道状态。如果通道状态不是就绪状态(state=2),则会拉取白名单判断该报文的发起客户端应该被分发到的正确环境,将此次报文发送给正确的下游服务。与此同时,路由服务器会调用接入服务器的接口,写入该对应通道正确的环境信息,并更新通道状态为就绪状态(state=2)。当下一次客户端发送报文时,接入服务会按照新的环境配置将报文投递给正确环境的路由服务,此时具有服务解析到的通道状态为就绪状态,则直接分发报文给下游服务。
(4)当不同环境的分配的权重信息变更时,接入服务器会实时更新到该配置,此时,接入服务器将本地的版本号设置为当前时间戳。当下次收到用户报文时,接入服务对比通道中的版本号和配置版本号不一致,则判断通道中的信息为失效状态,会重新进入流程(2)中,接入服务器按照权重随机从环境列表中选取一个环境,保存当前配置版本号到通道对象中,并将通道状态设置为过渡状态(state=1)。
(5)当用户白名单对应环境变更时,首先会更新路由服务的白名单列表,此时接入服务的通道状态依然为就绪状态。变更完路由服务的白名单后,再调用接入服务的接口将通道信息的状态设置为初始化。当下一次收到客户端报文时,会重新进入流程(2)中,接入服务器会按照权重随机从环境列表中选取一个环境,保存当前配置版本号到通道对象中,并将通道状态设置为过渡状态(state=1)。
综上,本实施例将服务端的请求调度分为两部分,接入点维护各个环境所占比重,路由服务维护具体每个客户端的分配名单,通过在通道中的三种状态协调接入点和路由服务高效调度客户端报文;通过权重和白名单配置能覆盖大多数调度场景,同时兼顾了调度效率;相比于其他调度方案,本实施例大大简化了客户端接入流程、提升了服务端调度速度和调度效率、间接提升了整个***的稳定性和用户体验。
图10为本申请实施例提供的又一种报文处理方法的流程示意图,应用于接入服务器,所述接入服务器为客户端创建对应的通道对象,所述通道对象包括集群信息和通道状态;如图10所示,所述方法包括:
步骤S501、接收客户端发送的请求报文。
步骤S502、将所述通道状态写入到所述请求报文中,获得接入报文。
步骤S503、将所述接入报文发送给与所述集群信息对应的路由服务器,所述接入报文用于指示路由服务器根据所述通道状态处理所述请求报文。
在一些实施例中,在确定所述通道状态为第一状态的情况下,所述步骤S502、S503,包括:将所述第一状态写入到所述请求报文中,获得第一接入报文;将所述第一接入报文发送给与所述集群信息对应的路由服务器,所述第一接入报文用于指示路由服务器在第一状态时,将所述请求报文发送给与所述集群信息对应的处理服务器。
在一些实施例中,所述路由服务器配置白名单,所述白名单记录客户端对应的目标集群信息;在确定所述通道状态为第二状态的情况下,所述步骤S502、S503,包括:将所述第二状态写入到所述请求报文中,获得第二接入报文;将所述第二接入报文发送给与所述集群信息对应的路由服务器,所述第二接入报文用于指示路由服务器在非第一状态时,根据所述白名单确定客户端对应的目标集群信息,并将所述请求报文发送给与所述目标集群信息对应的处理服务器。
在一些实施例中,所述方法还包括:接收所述路由服务器发送的所述目标集群信息和第一变更指令;基于所述目标集群信息更新所述通道对象中的集群信息,并根据所述第一变更指令将所述通道状态变更为第一状态。
在一些实施例中,所述方法还包括:在所述白名单不存在客户端对应的目标集群信息的情况下,接收所述路由服务器发送的第一变更指令,并根据所述第一变更指令将所述通道状态变更为第一状态。
在一些实施例中,所述方法还包括:在所述白名单修改的情况下,接收所述路由服务器发送的第二变更指令,并根据所述第二变更指令将所述通道状态变更为第三状态。
在一些实施例中,所述接入服务器配置至少一个集群的权重信息;在确定所述通道状态为第三状态的情况下,将所述通道状态写入到所述请求报文中之前,还包括:根据所述权重信息从所述至少一个集群中随机确定初始集群,并将初始集群的信息作为所述通道对象中的集群信息,并将所述通道状态变更为第二状态。
在一些实施例中,所述接入服务器还配置了与所述权重信息对应的第一版本信息,所述通道对象还包括第二版本信息;所述方法还包括:基于所述第一版本信息更新所述第二版本信息。
在一些实施例中,所述接入服务器配置至少一个集群的权重信息、与所述权重信息对应的第一版本信息;所述方法还包括:响应于第一修改指令,修改所述权重信息,并更新所述第一版本信息。
在一些实施例中,所述通道对象还包括第二版本信息;所述接收客户端发送的请求报文之后,还包括:在确定所述第一版本信息与所述第二版本信息不一致的情况下,将所述通道状态更新为第三状态。
在一些实施例中,所述接收客户端发送的请求报文之前,还包括:响应于客户端启动,为客户端创建通道对象,所述通道对象中通道状态为第三状态。
本申请的实施例提供的报文处理方法与上述实施例的实现原理和技术效果一致,此处不再赘述。
图11为本申请实施例提供的又一种报文处理方法的流程示意图,应用于路由服务器。如图11所示,该报文处理方法包括:
步骤S601、接收接入服务器基于集群信息发送的接入报文,所述接入报文包括通道状态和请求报文。
其中,所述集群信息和所述通道状态是接入服务器为客户端所创建的对应通道对象中的信息,所述请求报文是客户端向接入服务器发起的。
步骤S602、根据所述通道状态处理所述请求报文。
在一些实施例中,所述根据所述通道状态分发所述请求报文,包括:在确定所述通道状态为第一状态的情况下,将所述请求报文发送给与所述集群信息对应的处理服务器。
在一些实施例中,所述路由服务器设置白名单,所述白名单记录客户端对应的目标集群信息;所述根据所述通道状态分发所述请求报文,包括:在确定所述通道状态为非第一状态的情况下,根据所述白名单确定客户端对应的目标集群信息,并将所述请求报文发送给与所述目标集群信息对应的处理服务器。
在一些实施例中,所述将所述请求报文发送给与所述目标集群信息对应的处理服务器之后,还包括:发送所述目标集群信息和第一变更指令给接入服务器;其中,所述目标集群信息用于指示所述接入服务器更新所述通道对象中的集群信息,所述第一变更指令用于指示所述接入服务器将所述通道状态变更为第一状态。
在一些实施例中,所述方法还包括:在所述白名单不存在客户端对应的目标集群信息的情况下,将所述请求报文发送给与所述集群信息对应的处理服务器;发送第一变更指令给接入服务器,所述第一变更指令用于指示所述接入服务器将所述通道状态变更为第一状态。
在一些实施例中,所述方法还包括:响应于第二修改指令,修改所述白名单,并向所述接入服务器发送第二变更指令;其中,所述第二变更指令用于指示接入服务器将所述通道状态变更为第三状态。
本申请的实施例提供的报文处理方法与上述实施例的实现原理和技术效果一致,此处不再赘述。
图12为本申请实施例提供的一种报文处理装置的结构示意图,所述装置为接入服务器,所述接入服务器为客户端创建对应的通道对象,所述通道对象包括集群信息和通道状态;如图12所示,所述装置包括:
第一接收模块10,用于接收客户端发送的请求报文;第一处理模块20,用于将所述通道状态写入到所述请求报文中,获得接入报文;第一发送模块30,用于将所述接入报文发送给与所述集群信息对应的路由服务器,所述接入报文用于指示路由服务器根据所述通道状态处理所述请求报文。
作为本申请的一实施例,在确定所述通道状态为第一状态的情况下,所述第一处理模块20具体用于:将所述第一状态写入到所述请求报文中,获得第一接入报文;所述第一发送模块30具体用于:将所述第一接入报文发送给与所述集群信息对应的路由服务器,所述第一接入报文用于指示路由服务器在第一状态时,将所述请求报文发送给与所述集群信息对应的处理服务器。
作为本申请的一实施例,所述路由服务器配置白名单,所述第一处理模块20具体用于:将所述第二状态写入到所述请求报文中,获得第二接入报文;所述第一发送模块30具体用于:将所述第二接入报文发送给与所述集群信息对应的路由服务器,所述第二接入报文用于指示路由服务器在非第一状态时,根据所述白名单确定客户端对应的目标集群信息,并将所述请求报文发送给与所述目标集群信息对应的处理服务器。
作为本申请的一实施例,所述第一接收模块10还用于:接收所述路由服务器发送的所述目标集群信息和第一变更指令;所述第一处理模块20还用于:基于所述目标集群信息更新所述通道对象中的集群信息,并根据所述第一变更指令将所述通道状态变更为第一状态。
作为本申请的一实施例,在所述白名单不存在客户端对应的目标集群信息的情况下,所述第一接收模块10还用于:接收所述路由服务器发送的第一变更指令,所述第一处理模块20还用于:根据所述第一变更指令将所述通道状态变更为第一状态。
作为本申请的一实施例,在所述白名单修改的情况下,所述第一接收模块10还用于:接收所述路由服务器发送的第二变更指令,所述第一处理模块20还用于:根据所述第二变更指令将所述通道状态变更为第三状态。
作为本申请的一实施例,所述接入服务器配置至少一个集群的权重信息;在确定所述通道状态为第三状态的情况下,所述第一处理模块20还用于:根据所述权重信息从所述至少一个集群中随机确定初始集群,并将初始集群的信息作为所述通道对象中的集群信息,并将所述通道状态变更为第二状态。
作为本申请的一实施例,所述接入服务器还配置了与所述权重信息对应的第一版本信息,所述通道对象还包括第二版本信息;所述第一处理模块20还用于:基于所述第一版本信息更新所述第二版本信息。
作为本申请的一实施例,所述接入服务器配置至少一个集群的权重信息、与所述权重信息对应的第一版本信息;所述第一处理模块20还用于:响应于第一修改指令,修改所述权重信息,并更新所述第一版本信息。
作为本申请的一实施例,所述通道对象还包括第二版本信息;所述所述第一处理模块20还用于:在确定所述第一版本信息与所述第二版本信息不一致的情况下,将所述通道状态更新为第三状态。
作为本申请的一实施例,所述第一处理模块20还用于:响应于客户端启动,为客户端创建通道对象,所述通道对象中通道状态为第三状态。
本申请实施例提供的报文处理装置,其实现原理和技术效果与上述实施例类似,此处不再赘述。
图13为本申请实施例提供的另一种报文处理装置的结构示意图,所述装置为路由服务器,如图13所示,所述装置包括:
第二接收模块40,用于接收接入服务器基于集群信息发送的接入报文,所述接入报文包括通道状态和请求报文,其中,所述集群信息和所述通道状态是接入服务器为客户端所创建的对应通道对象中的信息,所述请求报文是客户端向接入服务器发起的;第二处理模块50,用于根据所述通道状态分发所述请求报文.。
作为本申请的一实施例,所述第二处理模块50,具体用于:在确定所述通道状态为第一状态的情况下,将所述请求报文发送给与所述集群信息对应的处理服务器。
作为本申请的一实施例,所述路由服务器设置白名单,所述白名单记录客户端对应的目标集群信息;所述第二处理模块50,具体用于:在确定所述通道状态为非第一状态的情况下,根据所述白名单确定客户端对应的目标集群信息,并将所述请求报文发送给与所述目标集群信息对应的处理服务器。
作为本申请的一实施例,所述第二处理模块50,还用于:发送所述目标集群信息和第一变更指令给接入服务器;其中,所述目标集群信息用于指示所述接入服务器更新所述通道对象中的集群信息,所述第一变更指令用于指示所述接入服务器将所述通道状态变更为第一状态。
作为本申请的一实施例,所述第二处理模块50,还用于:在所述白名单不存在客户端对应的目标集群信息的情况下,将所述请求报文发送给与所述集群信息对应的处理服务器;发送第一变更指令给接入服务器,所述第一变更指令用于指示所述接入服务器将所述通道状态变更为第一状态。
作为本申请的一实施例,所述第二接收模块40,还用于:响应于第二修改指令,修改所述白名单,并向所述接入服务器发送第二变更指令;其中,所述第二变更指令用于指示接入服务器将所述通道状态变更为第三状态。
本申请实施例提供的报文处理装置,其实现原理和技术效果与上述实施例类似,此处不再赘述。
本申请实施例还提供的一种报文处理设备,包括接入服务器和路由服务器;其中,所述接入服务器用于实现权利要求第一方面任一项所述的报文处理方法的步骤,所述路由服务器实现第二方面任一项所述的报文处理方法的步骤。
本申请实施例提供的报文处理设备,其实现原理和技术效果与上述实施例类似,此处不再赘述。
本申请实施例提供的一种服务端,可参考图1所示,包括处理服务器和上述所述的报文处理设备,其中,所述处理服务器用于处理所述请求报文。
本申请实施例提供的服务端,其实现原理和技术效果与上述实施例类似,此处不再赘述。
本申请实施例提供的一种报文处理***,可参考图1所示,包括客户端和如上述所述的服务端,其中,所述客户端用于向所述服务端发送请求报文。
本申请实施例提供的报文处理***,其实现原理和技术效果与上述实施例类似,此处不再赘述。
如图14所示,本申请实施例提供了一种电子设备,包括处理器111、通信接口112、存储器113和通信总线114,其中,处理器111,通信接口112,存储器113通过通信总线114完成相互间的通信,
存储器113,用于存放计算机程序;
在本申请一个实施例中,处理器111,用于执行存储器113上所存放的程序时,实现前述任意一个方法实施例提供的报文处理方法的步骤。
本申请实施例提供的电子设备,其实现原理和技术效果与上述实施例类似,此处不再赘述。
上述存储器113可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器113具有用于执行上述方法中的任何方法步骤的程序代码的存储空间。例如,用于程序代码的存储空间可以包括分别用于实现上面的方法中的各个步骤的各个程序代码。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,光盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为便携式或者固定存储单元。该存储单元可以具有与上述电子设备中的存储器113类似布置的存储段或者存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括用于执行根据本申请的实施例的方法步骤的程序,即可以由例如诸如111之类的处理器读取的代码,这些代码当由电子设备运行时,导致该电子设备执行上面所描述的方法中的各个步骤。
本申请的实施例还提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现如上所述的报文处理方法的步骤。
该计算机可读存储介质可以是上述实施例中描述的设备/装置中所包含的;也可以是单独存在,而未装配入该设备/装置中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本申请实施例的方法。
根据本申请的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (24)
1.一种报文处理方法,其特征在于,应用于接入服务器,所述接入服务器为客户端创建对应的通道对象,所述通道对象包括集群信息和通道状态;所述方法包括:
接收客户端发送的请求报文;
将所述通道状态写入到所述请求报文中,获得接入报文;
将所述接入报文发送给与所述集群信息对应的路由服务器,所述接入报文用于指示路由服务器根据所述通道状态处理所述请求报文。
2.根据权利要求1所述的方法,其特征在于,在确定所述通道状态为第一状态的情况下,所述将所述通道状态写入到所述请求报文中,获得接入报文;将所述接入报文发送给与所述集群信息对应的路由服务器,所述接入报文用于指示路由服务器根据所述通道状态处理所述请求报文,包括:
将所述第一状态写入到所述请求报文中,获得第一接入报文;
将所述第一接入报文发送给与所述集群信息对应的路由服务器,所述第一接入报文用于指示路由服务器在第一状态时,将所述请求报文发送给与所述集群信息对应的处理服务器。
3.根据权利要求1所述的方法,其特征在于,所述路由服务器配置白名单,所述白名单记录客户端对应的目标集群信息;在确定所述通道状态为第二状态的情况下,所述将所述通道状态写入到所述请求报文中,获得接入报文;将所述接入报文发送给与所述集群信息对应的路由服务器,所述接入报文用于指示路由服务器根据所述通道状态处理所述请求报文,包括:
将所述第二状态写入到所述请求报文中,获得第二接入报文;
将所述第二接入报文发送给与所述集群信息对应的路由服务器,所述第二接入报文用于指示路由服务器在非第一状态时,根据所述白名单确定客户端对应的目标集群信息,并将所述请求报文发送给与所述目标集群信息对应的处理服务器。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收所述路由服务器发送的所述目标集群信息和第一变更指令;
基于所述目标集群信息更新所述通道对象中的集群信息,并根据所述第一变更指令将所述通道状态变更为第一状态。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述白名单不存在客户端对应的目标集群信息的情况下,接收所述路由服务器发送的第一变更指令,并根据所述第一变更指令将所述通道状态变更为第一状态。
6.根据权利要求3-5任一项所述的方法,其特征在于,所述方法还包括:
在所述白名单修改的情况下,接收所述路由服务器发送的第二变更指令,并根据所述第二变更指令将所述通道状态变更为第三状态。
7.根据权利要求1所述的方法,其特征在于,所述接入服务器配置至少一个集群的权重信息;在确定所述通道状态为第三状态的情况下,将所述通道状态写入到所述请求报文中之前,还包括:
根据所述权重信息从所述至少一个集群中随机确定初始集群,将初始集群的信息作为所述通道对象中的集群信息,并将所述通道状态变更为第二状态。
8.根据权利要求7所述的方法,其特征在于,所述接入服务器还配置了与所述权重信息对应的第一版本信息,所述通道对象还包括第二版本信息;所述方法还包括:
基于所述第一版本信息更新所述第二版本信息。
9.根据权利要求1-5、7、8任一项所述的方法,其特征在于,所述接入服务器配置至少一个集群的权重信息、与所述权重信息对应的第一版本信息;所述方法还包括:
响应于第一修改指令,修改所述权重信息,并更新所述第一版本信息。
10.根据权利要求9所述的方法,其特征在于,所述通道对象还包括第二版本信息;所述接收客户端发送的请求报文之后,还包括:
在确定所述第一版本信息与所述第二版本信息不一致的情况下,将所述通道状态更新为第三状态。
11.根据权利要求1-5、7、8任一项所述的方法,其特征在于,所述接收客户端发送的请求报文之前,还包括:
响应于客户端启动,为客户端创建通道对象,所述通道对象中通道状态为第三状态。
12.一种报文处理方法,其特征在于,应用于路由服务器,所述方法包括:
接收接入服务器基于集群信息发送的接入报文,所述接入报文包括通道状态和请求报文,其中,所述集群信息和所述通道状态是接入服务器为客户端所创建的对应通道对象中的信息,所述请求报文是客户端向接入服务器发起的;
根据所述通道状态处理所述请求报文。
13.根据权利要求12所述的方法,其特征在于,所述根据所述通道状态处理所述请求报文,包括:
在确定所述通道状态为第一状态的情况下,将所述请求报文发送给与所述集群信息对应的处理服务器。
14.根据权利要求12所述的方法,其特征在于,所述路由服务器设置白名单,所述白名单记录客户端对应的目标集群信息;所述根据所述通道状态处理所述请求报文,包括:
在确定所述通道状态为非第一状态的情况下,根据所述白名单确定客户端对应的目标集群信息,并将所述请求报文发送给与所述目标集群信息对应的处理服务器。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
发送所述目标集群信息和第一变更指令给接入服务器;
其中,所述目标集群信息用于指示所述接入服务器更新所述通道对象中的集群信息,所述第一变更指令用于指示所述接入服务器将所述通道状态变更为第一状态。
16.根据权利要求14所述的方法,其特征在于,所述方法还包括:
在所述白名单不存在客户端对应的目标集群信息的情况下,将所述请求报文发送给与所述集群信息对应的处理服务器;
发送第一变更指令给接入服务器,所述第一变更指令用于指示所述接入服务器将所述通道状态变更为第一状态。
17.根据权利要求14-16任一项所述的方法,其特征在于,所述方法还包括:
响应于第二修改指令,修改所述白名单,并向所述接入服务器发送第二变更指令;其中,所述第二变更指令用于指示接入服务器将所述通道状态变更为第三状态。
18.一种报文处理装置,其特征在于,所述装置用于接入服务器,所述接入服务器为客户端创建对应的通道对象,所述通道对象包括集群信息和通道状态;所述装置包括:
第一接收模块,用于接收客户端发送的请求报文;
第一处理模块,用于将所述通道状态写入到所述请求报文中,获得接入报文;
第一发送模块,用于将所述接入报文发送给与所述集群信息对应的路由服务器,所述接入报文用于指示路由服务器根据所述通道状态处理所述请求报文。
19.一种报文处理装置,其特征在于,所述装置用于路由服务器,所述装置包括:
第二接收模块,用于接收接入服务器基于集群信息发送的接入报文,所述接入报文包括通道状态和请求报文,其中,所述集群信息和所述通道状态是接入服务器为客户端所创建的对应通道对象中的信息,所述请求报文是客户端向接入服务器发起的;
第二处理模块,用于根据所述通道状态处理所述请求报文。
20.一种报文处理设备,其特征在于,包括接入服务器和路由服务器;
其中,所述接入服务器用于实现权利要求1-11任一项所述的报文处理方法的步骤,所述路由服务器实现权利要求12-17任一项所述的报文处理方法的步骤。
21.一种服务端,包括处理服务器和如权利要求20所述的报文处理设备,其中,所述处理服务器用于处理所述请求报文。
22.一种报文处理***,其特征在于,包括客户端和如权利要求21所述的服务端,其中,所述客户端用于向所述服务端发送请求报文。
23.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-17任一项所述的报文处理方法的步骤。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-17任一项所述的报文处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211176726.1A CN115643227A (zh) | 2022-09-26 | 2022-09-26 | 报文处理方法、装置、设备及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211176726.1A CN115643227A (zh) | 2022-09-26 | 2022-09-26 | 报文处理方法、装置、设备及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115643227A true CN115643227A (zh) | 2023-01-24 |
Family
ID=84942402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211176726.1A Pending CN115643227A (zh) | 2022-09-26 | 2022-09-26 | 报文处理方法、装置、设备及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115643227A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103856963A (zh) * | 2014-03-05 | 2014-06-11 | 浪潮通信信息***有限公司 | 一种创建智能通信通道的方法 |
CN104184651A (zh) * | 2013-05-28 | 2014-12-03 | 中国电信股份有限公司 | 即时信息传送方法、***、接入服务器和客户端 |
CN104539580A (zh) * | 2014-12-02 | 2015-04-22 | 重庆旭贤科技发展有限公司 | 基于PPPoE分流网关的用户自主选择的路由控制方法 |
CN106302325A (zh) * | 2015-05-20 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 提供指定通信服务的方法、装置和*** |
CN110012125A (zh) * | 2019-04-01 | 2019-07-12 | 优刻得科技股份有限公司 | 集群网络通信方法、装置、存储介质和设备 |
CN110611602A (zh) * | 2019-08-13 | 2019-12-24 | 烽火通信科技股份有限公司 | 一种二层点对点通道状态监测方法及*** |
-
2022
- 2022-09-26 CN CN202211176726.1A patent/CN115643227A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104184651A (zh) * | 2013-05-28 | 2014-12-03 | 中国电信股份有限公司 | 即时信息传送方法、***、接入服务器和客户端 |
CN103856963A (zh) * | 2014-03-05 | 2014-06-11 | 浪潮通信信息***有限公司 | 一种创建智能通信通道的方法 |
CN104539580A (zh) * | 2014-12-02 | 2015-04-22 | 重庆旭贤科技发展有限公司 | 基于PPPoE分流网关的用户自主选择的路由控制方法 |
CN106302325A (zh) * | 2015-05-20 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 提供指定通信服务的方法、装置和*** |
CN110012125A (zh) * | 2019-04-01 | 2019-07-12 | 优刻得科技股份有限公司 | 集群网络通信方法、装置、存储介质和设备 |
CN110611602A (zh) * | 2019-08-13 | 2019-12-24 | 烽火通信科技股份有限公司 | 一种二层点对点通道状态监测方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102549821B1 (ko) | 서버 리소스 할당 방법, 장치, 전자 기기 및 저장 매체 | |
CN112506669B (zh) | 任务分配方法和装置、存储介质及电子设备 | |
EP2551770B1 (en) | Data share system, data process apparatus, and computer-readable recording medium | |
CN113783922A (zh) | 负载均衡的方法、***和装置 | |
CN110399213A (zh) | 确定应用程序的资源需求的方法、装置、电子设备及介质 | |
CN112839067B (zh) | 一种数据同步方法及装置 | |
JP7324165B2 (ja) | アプリケーション開発支援システム及びアプリケーション開発支援方法 | |
CN110442502A (zh) | 一种埋点的方法、装置、设备及存储介质 | |
EP4060496A2 (en) | Method, apparatus, device and storage medium for running inference service platform | |
CN111431730A (zh) | 一种业务处理方法、***、计算机设备及可读介质 | |
CN112269628A (zh) | 资源调度***及方法 | |
CN113254217A (zh) | 业务的消息处理方法、装置及电子设备 | |
CN111338750A (zh) | 执行节点的压力调节方法、装置、服务器及存储介质 | |
CN114586000A (zh) | 提供以用户为中心的应用 | |
CN114296953A (zh) | 一种多云异构***及任务处理方法 | |
CN113254235A (zh) | 一种多测试环境下的消息传递方法及装置 | |
JP2021010164A (ja) | 通知プリセットを利用した通知処理方法および装置 | |
CN115643227A (zh) | 报文处理方法、装置、设备及*** | |
CN116173495A (zh) | 游戏进程的分配控制方法、装置、电子设备以及存储介质 | |
CN113472638B (zh) | 边缘网关控制方法及***、装置、电子设备、存储介质 | |
CN113747423A (zh) | 云手机状态同步方法、装置、设备、存储介质及程序产品 | |
CN113641688A (zh) | 节点更新方法、相关装置及计算机程序产品 | |
CN112968812A (zh) | 一种网络性能测试方法、装置、设备及存储介质 | |
CN109768897B (zh) | 一种服务器部署方法及装置 | |
CN115220640A (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 |