CN118612223A - 数据处理方法、装置、系统、计算机设备和存储介质 - Google Patents
数据处理方法、装置、系统、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN118612223A CN118612223A CN202410211386.4A CN202410211386A CN118612223A CN 118612223 A CN118612223 A CN 118612223A CN 202410211386 A CN202410211386 A CN 202410211386A CN 118612223 A CN118612223 A CN 118612223A
- Authority
- CN
- China
- Prior art keywords
- server
- migration
- message
- terminal
- data request
- 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 32
- 230000005012 migration Effects 0.000 claims abstract description 606
- 238000013508 migration Methods 0.000 claims abstract description 606
- 230000004044 response Effects 0.000 claims abstract description 176
- 238000000034 method Methods 0.000 claims abstract description 67
- 238000012545 processing Methods 0.000 claims abstract description 62
- 238000012790 confirmation Methods 0.000 claims abstract description 55
- 238000004590 computer program Methods 0.000 claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims description 14
- 230000008569 process Effects 0.000 description 27
- 238000004891 communication Methods 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000003993 interaction Effects 0.000 description 12
- 230000008439 repair process Effects 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 9
- 239000000284 extract Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 3
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 3
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 2
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 2
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- 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/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种数据处理方法、装置、系统、计算机设备、存储介质和计算机程序产品。所述方法包括:原始服务器接收终端发送的第一数据请求报文,并将该第一数据请求报文重定向至第一迁移服务器;第一迁移服务器向终端反馈第一响应报文;原始服务器接收终端发送的第二数据请求报文,并将该第二数据请求报文重定向至第一迁移服务器;第一迁移服务器在自身满足报文迁移条件的情况下,向满足报文响应条件的第二迁移服务器发送迁移请求,并在接收到第二迁移服务器基于迁移请求反馈的确认信息的情况下,向原始服务器发送用于指示原始服务器将终端发送的报文重定向至第二迁移服务器的重定向信息。采用上述方法能够提高数据处理效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
背景技术
随着计算机技术的快速发展,出现了包括多个服务器的服务器集群。终端可以通过与服务器集群中的服务器建立连接,以获取所需要的数据资源。将终端连接的服务器称为原始服务器,若原始服务器无法反馈对应的数据资源,则可以通过将数据请求迁移至服务器集群中的另一服务器,由另一服务器响应用户需求。
传统技术中,若需要进行请求迁移,则由原始服务器进行迁移服务器的选择。针对多个请求均需要迁移的情况,若采用传统技术进行请求迁移,则用户需求的响应速度将严重依赖于原始服务器的性能,存在数据处理效率低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据处理效率的数据处理方法、装置、系统、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种数据处理方法,应用于第一迁移服务器,所述方法包括:
响应原始服务器发送的第一重定向报文中携带的第一数据请求报文,向发出所述第一数据请求报文的终端反馈第一响应报文;
接收所述原始服务器发送的、包含第二数据请求报文的第二重定向报文;所述第二数据请求报文由所述终端在接收到所述第一响应报文的情况下发送至所述原始服务器;
若所述第一迁移服务器满足报文迁移条件,则向满足报文响应条件的第二迁移服务器发送针对所述第二数据请求报文的迁移请求;
在接收到所述第二迁移服务器基于所述迁移请求反馈的确认信息的情况下,向所述原始服务器发送重定向信息;所述重定向信息用于指示所述原始服务器将所述终端发送的报文重定向至所述第二迁移服务器。
第二方面,本申请提供了一种数据处理方法,应用于原始服务器,所述方法包括:
接收终端发送的第一数据请求报文,并向第一迁移服务器发送包含所述第一数据请求报文的第一重定向报文;
接收所述终端发送的第二数据请求报文;所述第二数据请求报文,由所述终端在接收到第一响应报文的情况下发送;所述第一响应报文,由所述第一迁移服务器基于所述第一数据请求报文反馈至所述终端;
向所述第一迁移服务器发送包含所述第二数据请求报文的第二重定向报文;
在所述第一迁移服务器满足报文迁移条件的情况下,接收针对所述第二数据请求报文的重定向信息;所述重定向信息,由所述第一迁移服务器在接收到第二迁移服务器基于迁移请求反馈的确认信息的情况下发送;所述重定向信息用于指示所述原始服务器将所述终端发送的报文重定向至所述第二迁移服务器;所述第二迁移服务器满足报文响应条件。
第三方面,本申请还提供了一种数据处理系统,所述系统包括原始服务器、第一迁移服务器和第二迁移服务器;
所述原始服务器接收终端发送的第一数据请求报文,并向所述第一迁移服务器发送包含所述第一数据请求报文的第一重定向报文;
所述第一迁移服务器向所述终端反馈所述第一数据请求报文的第一响应报文;
所述原始服务器接收所述终端发送的第二数据请求报文,并向所述第一迁移服务器发送包含所述第二数据请求报文的第二重定向报文;所述第二数据请求报文,由所述终端在接收到第一响应报文的情况下发送;
所述第一迁移服务器在自身满足报文迁移条件的情况下,向满足报文响应条件的第二迁移服务器发送针对所述第二数据请求报文的迁移请求;
所述第一迁移服务器在接收到所述第二迁移服务器基于所述迁移请求反馈的确认信息的情况下,向所述原始服务器发送重定向信息;所述重定向信息用于指示所述原始服务器将所述终端发送的报文重定向至所述第二迁移服务器。
第四方面,本申请还提供了一种数据处理装置,应用于第一迁移服务器,所述装置包括:
响应报文反馈模块,用于响应原始服务器发送的第一重定向报文中携带的第一数据请求报文,向发出所述第一数据请求报文的终端反馈第一响应报文;
重定向报文接收模块,用于接收所述原始服务器发送的、包含第二数据请求报文的第二重定向报文;所述第二数据请求报文由所述终端在接收到所述第一响应报文的情况下发送至所述原始服务器;
迁移模块,用于若所述第一迁移服务器满足报文迁移条件,则向满足报文响应条件的第二迁移服务器发送针对所述第二数据请求报文的迁移请求;
重定向信息发送模块,用于在接收到所述第二迁移服务器基于所述迁移请求反馈的确认信息的情况下,向所述原始服务器发送重定向信息;所述重定向信息用于指示所述原始服务器将所述终端发送的报文重定向至所述第二迁移服务器。
第五方面,本申请还提供了一种数据处理装置,应用于原始服务器,所述装置包括:
数据请求报文接收模块,用于接收终端发送的第一数据请求报文;
重定向报文发送模块,用于向第一迁移服务器发送包含所述第一数据请求报文的第一重定向报文;
所述数据请求报文接收模块,还用于接收所述终端发送的第二数据请求报文;所述第二数据请求报文,由所述终端在接收到第一响应报文的情况下发送;所述第一响应报文,由所述第一迁移服务器基于所述第一数据请求报文反馈至所述终端;
所述重定向报文发送模块,还用于向所述第一迁移服务器发送包含所述第二数据请求报文的第二重定向报文;
重定向信息接收模块,用于在所述第一迁移服务器满足报文迁移条件的情况下,接收针对所述第二数据请求报文的重定向信息;所述重定向信息,由所述第一迁移服务器在接收到第二迁移服务器基于迁移请求反馈的确认信息的情况下发送;所述重定向信息用于指示所述原始服务器将所述终端发送的报文重定向至所述第二迁移服务器;所述第二迁移服务器满足报文响应条件。
第六方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
第七方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
第八方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
上述数据处理方法、系统、装置、计算机设备、计算机可读存储介质和计算机程序产品,原始服务器接收终端发送的第一数据请求报文,并向第一迁移服务器发送包含第一数据请求报文的第一重定向报文;第一迁移服务器向终端反馈第一数据请求报文的第一响应报文;原始服务器接收终端发送的第二数据请求报文,并向第一迁移服务器发送包含该第二数据请求报文的第二重定向报文;第一迁移服务器在自身满足报文迁移条件的情况下,向满足报文响应条件的第二迁移服务器发送针对第二数据请求报文的迁移请求;第一迁移服务器在接收到第二迁移服务器基于迁移请求反馈的确认信息的情况下,向原始服务器发送重定向信息;该重定向信息用于指示原始服务器将终端发送的报文重定向至第二迁移服务器。上述数据处理过程中,由响应上一数据请求报文的第一迁移服务器确定响应当前数据请求报文的第二迁移服务器,并通过发送迁移请求与第二迁移服务器进行协商,在获得第二迁移服务器反馈的确认信息的情况下,再向原始服务器发送重定位信息,以指示原始服务器将终端发送的报文重定向至第二迁移服务器,与传统技术由原始服务器进行集中式迁移处理相比,相当于是一种分布式的迁移处理方式,能够降低多次迁移过程的时间损耗,有利于提高数据处理效率。
附图说明
图1为一个实施例中数据处理方法的应用环境图;
图2为一个实施例中数据处理交互过程示意图;
图3为一个实施例中数据处理方法的流程示意图;
图4为一个实施例中重定向过程示意图;
图5为一个实施例中内容调度中心与服务器的交互过程示意图;
图6为一个实施例中内容调度信息的示意图;
图7为一个实施例中的迁移协商过程示意图;
图8为另一个实施例中数据处理方法的流程示意图;
图9为另一个实施例中的数据处理交互过程示意图;
图10为一个实施例中基于双端协商的迁移方式示意图;
图11为一个实施例中服务器单端迁移方式示意图;
图12为又一个实施例中数据处理方法的流程示意图;
图13为一个实施例中数据处理装置的结构框图;
图14为另一个实施例中数据处理装置的结构框图;
图15为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据处理方法,可以应用于如图1所示的应用环境中。其中,终端110可以通过网络与服务器集群120进行通信。该通信网络可以是有线网络或无线网络。因此,终端110和服务器集群120可以通过有线或无线通信方式进行直接或间接的连接。比如,终端110可以通过无线接入点与服务器集群120间接地连接,或者终端110通过广域网(Wide Area Network,WAN)与服务器集群120直接地连接,本申请在此不做限制。该广域网例如可以是因特网。
其中,终端110可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。本申请实施例可应用于多媒体数据处理场景,该数据例如可以是视频或音频等。终端110上可以安装有与数据获取或数据浏览相关的客户端,该客户端可以是软件(例如浏览器、视频软件等),也可以是网页、小程序等。服务器集群120则是与软件或是网页、小程序等相对应的后台服务器,或者是专门用于进行数据分发服务的服务器。进一步地,服务器集群120可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术(Cloudtechnology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
可以理解的是,在本申请的应用场景下,终端110的数量可以是多个,也即,服务器集群120可以响应多个终端110的数据请求,各终端可以与服务器集群120中的各个服务器进行网络连接,以便终端与服务器之间能够进行数据交互。
进一步地,服务器集群120可以包括原始服务器121、第一迁移服务器122和第二迁移服务器123。其中,原始服务器121为终端110的请求报文发送对象,即终端110通过向原始服务器121发送数据请求报文,以获取数据资源。可以理解,在终端110与服务器集群120的交互过程中,终端110并不会感知到请求迁移,而是始终通过向原始服务器121发送请求报文以获取数据资源。在一个具体的实现中,原始服务器121可以是终端110发出的第一个数据请求报文的响应服务器,也即,终端110向服务器集群120发送第一个数据请求报文之后,该数据请求报文将被分发至服务器集群120中具备响应能力的服务器(即原始服务器121)进行处理,终端110获取原始服务器121反馈的响应报文,之后,终端110可以通过与原始服务器121交互,向服务器集群120发起新的数据请求。若原始服务器121能够反馈新数据请求所请求的数据资源,则由原始服务器121继续响应用户需求,若原始服务器121无法反馈新数据请求所请求的数据资源,则可以通过将数据请求迁移至服务器集群120中的另一服务器,由另一服务器响应用户需求。
如图2所示,本申请所针对的,是发生至少两次请求迁移的数据处理场景,其中,实线代表第一次请求迁移的交互过程,虚线代表第二次请求迁移的交互过程。具体地,原始服务器121接收终端110发送的第一数据请求报文①,并向第一迁移服务器122发送包含该第一数据请求报文①的第一重定向报文②;第一迁移服务器122向终端110反馈第一数据请求报文①的第一响应报文③;终端110在接收到第一响应报文③的情况下,可以向原始服务器121发送第二数据请求报文④;原始服务器121向第一迁移服务器122发送包含该第二数据请求报文④的第二重定向报文⑤;第一迁移服务器122在自身满足报文迁移条件的情况下,向满足报文响应条件的第二迁移服务器123发送针对该第二数据请求报文④的迁移请求⑥,并在接收到第二迁移服务器123基于迁移请求⑥反馈的确认信息⑦的情况下,向原始服务器121发送重定向信息⑧;该重定向信息⑧用于指示原始服务器121将终端110发送的报文重定向至第二迁移服务器123。可以理解,第二数据请求报文④的第二响应报文⑨将由第二迁移服务器123反馈至终端110。至此,终端110向原始服务器121发送的报文,将通过重定向迁移至第二迁移服务器123,而不会再迁移至第一迁移服务器122,若后续还需要进行请求迁移,则第二迁移服务器123可以作为新的第一迁移服务器,通过执行上述数据处理逻辑完成迁移。
应当理解,尽管在本申请可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一数据请求报文也可以被称为第二数据请求报文,类似地,第二数据请求报文也可以被称为第一数据请求报文。
也就是说,采用本申请的方案,在面对多个数据请求、涉及多次请求迁移的情况下,由响应上一数据请求报文的第一迁移服务器确定响应当前数据请求报文的第二迁移服务器,并通过发送迁移请求与第二迁移服务器进行协商,在获得第二迁移服务器反馈的确认信息的情况下,再向原始服务器发送重定位信息,以指示原始服务器将终端发送的报文重定向至第二迁移服务器,能够实现分布式的迁移处理,从而降低多次迁移过程的时间损耗,有利于提高数据处理效率,进而能够更加快速地向终端反馈其所请求的数据资源,提升服务器集群的组网能力和终端的业务体验。
在一个实施例中,如图3所示,提供了一种是数据处理方法,该方法可以由计算机设备执行,该计算机设备可以是图1所示的第一迁移服务器,包括以下步骤:
步骤S302,响应原始服务器发送的第一重定向报文中携带的第一数据请求报文,向发出第一数据请求报文的终端反馈第一响应报文。
其中,原始服务器是终端的报文发送对象。也即,对于终端而言,并不会感知到请求迁移,而是始终通过向原始服务器发送报文,以实现终端与服务器集群的交互。在一个具体的实现中,原始服务器可以是终端发出的第一个数据请求报文的响应服务器,也即,终端向服务器集群发送第一个数据请求报文之后,该数据请求报文将被分发至服务器集群中具备响应能力的服务器(即原始服务器)进行处理,终端获取原始服务器反馈的响应报文,之后,终端可以通过与原始服务器交互,向服务器集群发起新的数据请求。若原始服务器能够反馈新数据请求所请求的数据资源,则由原始服务器继续响应用户需求,若原始服务器无法反馈新数据请求所请求的数据资源,则可以通过将数据请求迁移至服务器集群中的另一服务器,由另一服务器响应用户需求。
数据请求报文是指由终端向原始服务器发送、以请求获取数据资源的报文信息。该数据请求报文可以是基于通信协议对数据请求进行封装得到的,通信协议例如可以包括传输控制协议(Transport Control Protocol,TCP)、用户数据报协议(User DatagramProtocol,UDP)或快速UDP互联网连接(Quick UDP Internet Connection,QUIC)等。重定向报文是对原始报文进行重定向操作之后,所得到的报文信息。也即,重定向报文中携带有被重定向的原始报文。
在一个具体的实施例中,报文的重定向操作可以由服务器中的重定向器实现。重定向器具体可以基于报文的五元组信息(记为five_tuple)对原始报文进行操作,其中,五元组就是一个网络数据包的五个基本属性,包括源地址(src)、目的地址(dst)、源端口(sport)、目的端口(dport)和协议类型(ptl_type)。在网络通信中,每个数据包都包含这五个属性,它们一起构成了数据包的唯一标识。进一步地,针对原始报文的操作可以包括丢弃(drop)、接收(receive)和重定向(redirect)。“接收”代表服务器可以满足报文发送方的需求,反馈对应的响应报文,“重定向”代表服务器无法满足报文发送方的需求,需要将报文重定向至其他服务器进行处理。可以理解,报文的五元组信息能够表征该报文的数据流向,进而表征交互双方的连接。以终端发送给原始服务器的数据请求报文为例,该数据请求报文的源地址为终端地址、目的地址为原始服务器地址、源端口为终端的端口号、目的端口为原始服务器的端口号、协议类型为通信协议类型。其中,端口号和通信协议类型需要在终端向原始服务器发送第一个报文之前,由双方协商确定。
可选的,重定向器中可以基于如下表所示的配置表,对原始报文进行操作。其中,五元组信息可以表征重定向器所在服务器与其他设备的连接。以原始服务器与终端的连接为例,每一五元组信息可以分别表征原始服务器与不同终端之间的连接。
响应报文是指为满足报文发送方的需求所反馈的报文信息。具体到本申请,数据请求报文的响应报文中,携带数据请求报文所请求的数据资源。该数据资源可以包括视频、音频或文本中的至少一种。与数据请求报文类似,响应报文也可以是基于通信协议对数据请求进行封装得到的。实际应用中,数据请求报文和响应报文的通信协议可以相同,从而交互双方无需进行多次通信协议的协商。
具体地,终端可以向原始服务器发送第一数据请求报文,该第一数据请求报文中,携带终端所请求数据资源的资源标识。其中,资源标识是指能够唯一表征数据资源的标识信息。该资源标识例如可以是资源存储地址或URI(Uniform Resource Identifier,统一资源标识符)等。原始服务器可以根据实际情况确定是否需要将请求迁移至其他服务器。若不需要迁移,则向终端反馈第一数据请求报文对应的第一响应报文,可以理解,该第一响应报文中携带第一数据请求报文所请求的数据资源。若需要迁移,则原始服务器可以从服务器集群中,确定第一数据请求报文的迁移对象,记为第一迁移服务器,并向该第一迁移服务器发送携带第一数据请求报文的第一重定向报文。从而,第一迁移服务器可以响应于该第一数据请求报文,向终端反馈第一响应报文。
确定是否需要进行请求迁移的具体方式并不唯一。
在一个具体的实施例中,原始服务器可以从第一数据请求报文中提取资源标识,并基于该资源标识确定是否需要进行请求迁移。具体地,若原始服务器本地可以获取资源标识所表征的数据资源,则不进行迁移;若原始服务器本地无法获取资源标识所表征的数据资源,则需要进行迁移。
在一个具体的实施例中,原始服务器还可以结合资源标识和当前负载信息,确定是否需要进行请求迁移。该负载信息例如可以包括CPU(Central Processing Unit,中央处理器)利用率、内存占用、流量大小等。例如,若原始服务器本地可以获取资源标识所表征的数据资源,且当前负载相对较低,能够满足报文响应需求,则不进行迁移。若原始服务器本地无法获取资源标识所表征的数据资源,和/或,当前负载相对较高以至于无法满足报文响应需求,则需要进行迁移。
在一个具体的实施例中,数据处理方法还包括:获取终端基于第一响应报文反馈的确认报文;在基于确认报文确定第一响应报文出现丢包的情况下,执行针对第一响应报文的丢包修复操作。
其中,确认报文由原始服务器从终端接收、并重定向至第一迁移服务器。具体地,终端在接收到第一响应报文之后,可以向原始服务器反馈确认报文,以声明终端收到或未收到的报文信息。该确认报文,由原始服务器根据重定向规则重定向至第一迁移服务器,从而,第一迁移服务器可以根据终端收到或未收到的报文信息,判断第一响应报文是否出现丢包现象。若终端声明收到的报文信息与第一迁移服务器通过第一响应报文实际发送的报文信息不一致,或者终端声明未收到所请求的全部数据资源,则第一迁移服务器确定存在丢包现象,执行针对第一响应报文的丢包修复操作,重传丢失的报文。
本实施例中,根据终端反馈的确认报文进行丢包判断,并在出现丢包的情况下进行丢包修复,能够确保服务器能够提供终端所需的数据资源,提升数据处理效果。
步骤S304,接收原始服务器发送的、包含第二数据请求报文的第二重定向报文。
其中,第二数据请求报文由终端在接收到第一响应报文的情况下发送至原始服务器。第二数据请求报文是区别于第一数据请求报文的新的数据请求报文。可以理解,同一终端在与服务器集群的交互过程中,随着交互的推进,可能产生新的数据需求。从而,终端在接收到第一数据请求报文对应的第一响应报文的情况下,可以通过向原始服务器发送第二数据请求报文,以请求获取新的数据资源。
如前文所述的,原始服务器可以根据报文的五元组信息,确定针对报文的操作。而第二数据请求报文的五元组信息与第一数据请求报文的五元组信息相同。在第一数据请求报文被重定向至第一迁移服务器的情况下,该五元组信息对应的操作为重定向,从而,原始服务器会按照与第一数据请求报文相同的重定向规则,将该第二数据请求报文封装至第二重定向报文,并发送至第一迁移服务器。在此情形下,第一迁移服务器可以接收原始服务器发送的、包含第二数据请求报文的第二重定向报文。
示例性的,如图4所示,终端可以向原始服务器发送第二数据请求报文(Pkt_req),该第一数据请求报文中,携带终端所请求数据资源的资源标识。原始服务器会按照与第一数据请求报文相同的重定向规则,将该第二数据请求报文封装至第二重定向报文(Pkt_req_redirect),并发送至第一迁移服务器。第一迁移服务器获取第二重定向报文后,识别到新的数据请求,判断是否需要进行迁移。
步骤S306,若第一迁移服务器满足报文迁移条件,则向满足报文响应条件的第二迁移服务器发送针对第二数据请求报文的迁移请求。
其中,第一迁移服务器满足报文迁移条件,可以是指第一迁移服务器本地无法获取第二数据请求报文所请求的数据资源,也可以是指第一迁移服务器的当前负载较高,以至于无法满足第二数据请求报文的报文响应需求。报文响应条件与报文迁移条件可以是互斥的。也即,第二迁移服务器满足报文响应条件,可以是指第二迁移服务器本地可以获取第二数据请求报文所请求的数据资源,也可以是指第二移服务器本地可以获取第二数据请求报文所请求的数据资源,且,第一迁移服务器的当前负载较低,能够满足第二数据请求报文的报文响应需求。
迁移请求,用于第一迁移服务器和第二迁移服务器针对第二数据请求报文的迁移操作进行协商,也即,迁移请求中携带第二数据请求报文的关联信息。该关联信息,可以包括连接状态信息和应用状态信息。其中,连接状态信息包括但不限于终端的终端信息、原始服务器的服务器信息、协议类型,第一迁移服务器和终端各自的传输层状态信息,报文编号等等。终端信息和服务器信息均可以包括IP地址、端口号等,第一迁移服务器的传输层状态信息可以包括发送窗口值、在途数据量等,终端的传输层状态信息可以包括接收窗口值、有效可用带宽等。应用状态信息可以包括第二数据请求报文所请求数据资源的资源标识,还可以包括用户数据加解密的密钥。
具体地,第一迁移服务器在接收到第二重定向报文的情况下,可以根据该第二重定向报文中所包含第二数据请求报文,确定自身是否满足报文迁移条件。若是,则从服务器集群的各服务器中,确定满足第一数据请求报文的报文响应条件的第二迁移服务器,并向该第二迁移服务器发送针对该第二数据请求报文的迁移请求。
进一步地,第一迁移服务器可以通过获取服务器集群中各服务器各自的负载信息、以及各服务器各自所能提供数据资源的资源标识,确定满足第一数据请求报文的报文响应条件的第二迁移服务器;第一迁移服务器也可以直接获取满足第一数据请求报文的报文响应条件的第二迁移服务器的服务器标识,进而向该第二迁移服务器发送针对该第二数据请求报文的迁移请求。该服务器标识,可以由服务器集群中的内容调度中心确定。
其中,内容调度中心可以是单独的服务器,也可以位于每个服务器内部,特别地,如图5所示,内容调度中心可以周期性地向服务器集群中的每个服务器同步其自身的用于选择迁移服务器的内容调度信息。如图6所示,该内容调度信息例如可以包括资源标识、以及能够读取该资源标识所表征数据资源的服务器的服务器信息和负载信息。
步骤S308,在接收到第二迁移服务器基于迁移请求反馈的确认信息的情况下,向原始服务器发送重定向信息。
其中,重定向信息用于指示原始服务器将终端发送的报文重定向至第二迁移服务器。该终端,是指第二数据请求报文的发起终端。终端发送的报文,可以包括在原始服务器接收到重定向信息之后,终端发送给原始服务器的所有报文,具体可以包括数据请求报文,数据确认报文等等。
具体地,接收到针对第二数据请求报文的迁移请求的情况下,第二迁移服务器可以同意迁移,也可以不同意迁移。在同意迁移的情况下,第二迁移服务器可以基于该迁移请求向第一迁移服务器发送确认信息,从而,第一迁移服务器可以在接收到该确认信息的情况下,向原始服务器发送针对从终端接收的报文的重定向信息,以便后续原始服务器可以将终端发送的报文重定向至第二迁移服务器。进一步地,第二迁移服务器同一迁移的情况下,可以向终端反馈第二数据请求报文的第二响应报文,该第二响应报文中携带第二数据请求报文所请求的数据资源。
在一个具体的实施例中,数据处理方法还包括:在接收到第二迁移服务器基于迁移请求反馈的确认信息的情况下,向第二迁移服务器发送响应启动通知。
其中,响应启动通知用于指示第二迁移服务器向终端反馈第二数据请求报文的第二响应报文。具体地,如图7所示,第一迁移服务器在自身满足报文迁移条件、判断需要进行迁移的情况下,与第二迁移服务器进行协商迁移。第一迁移服务器可以向第二迁移服务器发送针对第二数据请求报文的迁移请求(Pkt_mig_req),在收到第二迁移服务器基于迁移请求反馈的协商确认报文(Pkt_mig_ack),且该协商确认报文中携带支持迁移的确认信息的情况下,第一迁移服务器一方面向原始服务器发送携带重定向信息的重定向规则更新指令,以指示原始服务器将后续终端发送的报文重定向至第二迁移服务器;另一方面,第一迁移服务器向第二迁移服务器发送响应启动通知,以通知第二迁移服务器向终端反馈第二数据请求报文的第二响应报文。
本实施例中,通过向第二迁移服务器发送响应启动通知,以指示第二迁移服务器向终端反馈第二数据请求报文的第二响应报文,能够灵活地控制报文响应和重定向规则的更新时间,从而避免重定向规则更新不及时而导致的系统混论。
至此,终端向原始服务器发送的报文,将通过重定向迁移至第二迁移服务器,而不会再迁移至第一迁移服务器,若后续还需要进行请求迁移,则第二迁移服务器可以作为新的第一迁移服务器,通过执行上述的数据处理逻辑完成迁移。在此情形下,上一次迁移处理过程中的第二数据请求报文,对应下一次迁移处理过程中的第一数据请求报文。
需要说明的是,在第二迁移服务器不同意迁移的情况下,则第一迁移服务器可以向满足报文响应条件的其他第二迁移服务器发送迁移请求。若服务器集群中不存在满足报文响应条件的第二迁移服务器,则第一迁移服务器可以向终端反馈响应失败的提示信息。
上述数据处理方法,由响应上一数据请求报文的第一迁移服务器确定响应当前数据请求报文的第二迁移服务器,并通过发送迁移请求与第二迁移服务器进行协商,在获得第二迁移服务器反馈的确认信息的情况下,再向原始服务器发送重定位信息,以指示原始服务器将终端发送的报文重定向至第二迁移服务器,与传统技术由原始服务器进行集中式迁移处理相比,相当于是一种分布式的迁移处理方式,能够降低多次迁移过程的时间损耗,有利于提高数据处理效率。
在一个实施例中,数据处理方法还包括:提取第二数据请求报文中携带的资源标识;在第一迁移服务器未存储资源标识所表征的数据资源的情况下,确定第一迁移服务器满足报文迁移条件。
其中,资源标识用于表征第二数据请求报文所请求的数据资源。该资源标识例如可以是资源存储地址或URI等。具体地,第一迁移服务器可以提取第二数据请求报文中携带的资源标识,并将该资源标识与本地存储的数据资源进行匹配,若匹配成功,则说明本地存储有该资源标识所表征的数据资源,第一迁移服务器可以满足终端的数据需求。此时,第一迁移服务器无需进行后续的迁移处理,只需从本地读取相应的数据资源,并向终端反馈包含该数据资源的响应报文即可。若匹配不成功,则说明本地未存储该资源标识所表征的数据资源,第一迁移服务器无法满足终端的数据需求,也即第一迁移服务器满足报文迁移条件,需要进行后续的迁移处理。
本实施例中,基于资源标识确定第一迁移服务器是否满足报文迁移条件,算法简单,能够进一步提高数据处理效率。
在一个实施例中,向满足报文响应条件的第二迁移服务器发送针对第二数据请求报文的迁移请求,包括:确定满足报文响应条件的第二迁移服务器;向第二迁移服务器发送针对第二数据请求报文的迁移请求。
其中,报文响应条件与资源标识匹配。具体地,第一迁移服务器可以基于从第二数据请求报文中提取的资源标识,确定满足报文响应条件的第二迁移服务器,并向该第二迁移服务器发送针对第二数据请求报文的迁移请求。
在一个具体的实施例中,第一迁移服务器可以基于资源标识所表征数据资源的资源量,确定与该资源标识匹配的报文响应条件,还可以向内容调度中心请求资源标识对应的内容调度信息。然后,第一迁移服务器可以基于内容调度信息,确定能够提供该数据资源的多个候选服务器,并从这些候选服务器中,确定满足报文响应条件的第二迁移服务器。该报文响应条件,可以是指可用负载能够满足资源量的传输需求。可以理解,资源标识所表征数据资源的资源量越大,需求的可用负载越多。
上述实施例中,报文响应条件与资源标识匹配,使得所确定的第二迁移服务器满足第二数据请求报文的个性化需求,能够确保数据请求能够被及时响应,有利于进一步提高数据处理效率。
在一个具体的实施例中,确定满足报文响应条件的第二迁移服务器,包括:向内容调度中心发送携带资源标识的服务器信息获取请求;获取内容调度中心响应于服务器信息获取请求、反馈的服务器标识;将服务器标识所表征的服务器,确定为满足报文响应条件的第二迁移服务器。
其中,关于内容调度中心的具体限定参见上文,此处不再赘述。服务器标识是能够唯一表征服务器的标识信息。该标识信息可以包括IP地址、端口号、协议类型等信息,在此不作限定。具体地,第一迁移服务器可以向内容调度中心发送携带资源标识的服务器信息获取请求,内容调度中心根据上述资源标识查询能够为终端所请求的数据资源提供传输服务的服务器,再将该服务器的服务器标识反馈给第一迁移服务器,进而,第一迁移服务器可以将该服务器标识所表征的服务器,确定为满足报文响应条件的第二迁移服务器。
上述实施例中,第一迁移服务器通过与内容调度中心交互,确定满足报文响应条件的第二迁移服务器,能够降低第一迁移服务器的负载,有利于进一步提高数据处理效率。
可以理解,针对某一资源标识,若内容调度中心反馈的服务器标识的数量为一个,则说明当前服务器集群中,仅有一个服务器能够提供该资源标识所表征的数据资源,此时,第一迁移服务器将该资源标识所表征的服务器确定为第二迁移服务器即可。若内容调度中心反馈的服务器标识的数量为多个,则代表当前服务器集群中,有多个服务器均可以提供该资源标识所表征的数据资源。此时,第一迁移服务器需要进行进一步的筛选才能确定第二迁移服务器。
在一个具体的实施例中,服务器标识的数量为多个。在该实施例的情形下,将服务器标识所表征的服务器,确定为满足报文响应条件的第二迁移服务器,包括:确定各服务器标识各自表征的候选服务器,并获取各候选服务器各自的负载信息;将负载最小的候选服务器,确定为满足报文响应条件的第二迁移服务器。
具体地,第一迁移服务器从内容调度中心获取多个服务器标识的情况下,可以确定各服务器标识各自表征的候选服务器,并获取各候选服务器各自的负载信息。然后,基于各负载信息,将负载最小的候选服务器,确定为满足报文响应条件的第二迁移服务器。
本实施例中,在存在多个候选服务器的情况下,将负载最小的候选服务器,确定为满足报文响应条件的第二迁移服务器,能够确保第二迁移服务器的数据处理效率。
在一个实施例中,如图8所示,本申请还提供了一种数据处理方法,该方法可以由计算机设备执行,该计算机设备可以是图1所示的原始服务器,包括以下步骤:
步骤S802,接收终端发送的第一数据请求报文,并向第一迁移服务器发送包含第一数据请求报文的第一重定向报文。
其中,关于第一数据请求报文和第一重定向报文的具体限定参见上文,此处不再赘述。具体地,原始服务器可以接收终端发送的第一数据请求报文,并在自身无法向终端提供该第一数据请求报文所请求的数据资源的情况下,向第一迁移服务器发送包含第一数据请求报文的第一重定向报文。
在一个具体的实施例中,将来自终端的数据请求报文重定向至迁移服务器的重定向报文具有以下特征:报文的源地址为原始服务器的IP地址;报文的目的地址为迁移服务器的IP地址;报文的源端口为原始服务器(与迁移服务器通信)的端口号,该端口号是两者之前协商的端口号;报文的目的端口为迁移服务器(与原始服务器通信)的端口号,该端口号是两者之前协商的端口号;报文的协议类型为两者协商的通信协议类型,包括TCP或UDP。
步骤S804,接收终端发送的第二数据请求报文。
其中,第二数据请求报文,由终端在接收到第一响应报文的情况下发送;第一响应报文,由第一迁移服务器基于第一数据请求报文反馈至终端。具体地,终端在接收到第一迁移服务器基于第一数据请求报文反馈的第一响应报文的情况下,可以通过向原始服务器发送第二数据请求报文,以请求获得新的数据资源。从而,原始服务器可以接收终端发送的第二数据请求报文。
步骤S806,向第一迁移服务器发送包含第二数据请求报文的第二重定向报文。
具体地,原始服务器可以根据报文的五元组信息,确定针对报文的操作。而第二数据请求报文的五元组信息与第一数据请求报文的五元组信息相同。在第一数据请求报文被重定向至第一迁移服务器的情况下,该五元组信息对应的操作为重定向,从而,原始服务器会按照与第一数据请求报文相同的重定向规则,将该第二数据请求报文封装至第二重定向报文,并发送至第一迁移服务器。
步骤S808,在第一迁移服务器满足报文迁移条件的情况下,接收针对第二数据请求报文的重定向信息。
其中,重定向信息,由第一迁移服务器在接收到第二迁移服务器基于迁移请求反馈的确认信息的情况下发送;重定向信息用于指示原始服务器将终端发送的报文重定向至第二迁移服务器;第二迁移服务器满足报文响应条件。具体地,在第一迁移服务器满足报文迁移条件的情况下,接收针对第二数据请求报文的重定向信息,以便后续将终端发送的报文重定向至第二迁移服务器。
上述数据处理方法,由响应上一数据请求报文的第一迁移服务器确定响应当前数据请求报文的第二迁移服务器,并通过发送迁移请求与第二迁移服务器进行协商,在获得第二迁移服务器反馈的确认信息的情况下,再向原始服务器发送重定位信息,以指示原始服务器将终端发送的报文重定向至第二迁移服务器,与传统技术由原始服务器进行集中式迁移处理相比,相当于是一种分布式的迁移处理方式,能够降低多次迁移过程的时间损耗,有利于提高数据处理效率。
在一个实施例中,数据处理方法还包括:确定第一数据请求报文对应的重定向规则、以及针对重定向规则的重定向释放条件;在满足重定向释放条件的情况下,释放第一数据请求报文对应的重定向规则。
如前文所述的,原始服务器可以通过五元组信息进行重定向规则的维护。该五元组信息可以表征原始服务器与终端之间的连接。原始服务器可以连接多个终端,对应多个五元组信息。在五元组信息对应的操作为重定向的情况下,原始服务器存储有该五元组信息对应的重定向规则。该重定向规则用于指示从五元组信息对应的终端所接收的报文的迁移对象。
具体地,原始服务器可以根据第一数据请求报文的五元组信息,确定该第一数据请求报文对应的重定向规则、以及针对重定向规则的重定向释放条件。该重定向释放条件,例如可以是重定向规则更改次数达到设定次数,也可以是设定时长内没有收到关联报文。该设定时长可以由管理员配置,并在配置文件中声明,也可以采用默认值,例如30S。原始服务器可以基于五元组信息对应的交互情况,确定当前是否满足重定向释放条件,并在满足重定向释放条件的情况下,释放第一数据请求报文对应的重定向规则,以为其他连接的终端提供计算资源。
上述实施例中,针对重定向规则配置重定向释放条件,并在满足重定向释放条件的情况下,释放第一数据请求报文对应的重定向规则,能够确保原始服务器的计算资源能够被合理配置,有利于进一步提高数据处理效率。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据处理方法的数据处理系统。该系统所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据处理系统实施例中的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。
在一个实施例中,数据处理系统包括原始服务器、第一迁移服务器和第二迁移服务器;原始服务器接收终端发送的第一数据请求报文,并向第一迁移服务器发送包含第一数据请求报文的第一重定向报文;第一迁移服务器向终端反馈第一数据请求报文的第一响应报文;原始服务器接收终端发送的第二数据请求报文,并向第一迁移服务器发送包含第二数据请求报文的第二重定向报文;第一迁移服务器在自身满足报文迁移条件的情况下,向满足报文响应条件的第二迁移服务器发送针对第二数据请求报文的迁移请求;第一迁移服务器在接收到第二迁移服务器基于迁移请求反馈的确认信息的情况下,向原始服务器发送重定向信息。其中,第二数据请求报文,由终端在接收到第一响应报文的情况下发送;重定向信息用于指示原始服务器将终端发送的报文重定向至第二迁移服务器。
在一个具体的实施例中,如图9所示,服务器集群中的各服务器包括重定向器、迁移模块和迁移栈,且每一个服务器均存储有数据资源。其中,重定向器用于实现重定向功能。协议栈用于构建符合通信协议的数据报文。迁移模块用于进行迁移协商。
具体地,在开始介绍本申请设计的分布式多次迁移之前,需要先对上一次迁移的流量传递过程进行阐述。如图9所示,实线表示现有连接迁移在执行成功之后的报文流向示意图(也就是说,现有连接已经完成至少一次的连接迁移),迁移之后的第一迁移服务器将数据资源传递至自身的协议栈(如TCP/IP协议栈),由协议栈将这些数据资源构建响应报文,并将响应报文传递至终端。该响应报文中携带终端所请求的数据资源,因此也可称作流量报文。在上述过程中,第一迁移服务器发往终端的响应报文使用该连接最原始的连接信息(即原始服务器与终端的信息),终端在收到上述响应报文后,回复消息确认报文(ACK报文),该ACK报文发往原始服务器,而原始服务器将收到的来自终端的ACK报文重定向至负责流量发送服务的第一迁移服务器,而第一迁移服务器将根据收到的ACK报文执行接下来的流量发送与丢包修复(若有)操作。
终端发送新的流量请求时,对应的数据资源不存在于第一迁移服务器中,此时连接需要尽快地迁移至包含对应数据资源的服务器(记为第二迁移服务器)中,并由第二迁移服务器响应终端的请求。除上文所述的第一次迁移以外,每次迁移的步骤如下:(1.1)终端在现有连接的基础上,发送数据请求报文(即第二数据请求报文);(1.2)该请求报文通过网络传递至原始服务器,并由原始服务器的重定向器“转发”至当前的迁移服务器(记为第一迁移服务器);(1.3)第一迁移服务器在收到上述新的请求报文后,由其重定向器传递至协议栈;(2.1)第一迁移服务器的协议栈通过查询数据资源列表,发现终端最新请求的流量数据不存在于本地(或本地无法获得终端请求的数据资源),第一迁移服务器的协议栈向自身的迁移模块发送连接迁移请求;(2.2)此时第一迁移服务器通过内容调度中心获得能够为用户最新的请求提供服务的服务器信息,作为接下来的用于连接迁移的目标服务器(记为第二迁移服务器);(2.3)迁移模块向自身的重定向器发出更新指令;(3.1)第一迁移服务器向第二迁移服务器发送连接迁移协商报文;(3.2)该协商报文中携带连接状态以及应用状态等信息,这些信息将用于第二迁移服务器的协议栈响应用户请求时使用;(3.3)在上述连接迁移协商完成之后,第一迁移服务器向原始服务器发送重定向规则更新指令,该指令将来自终端的报文重定向至第二迁移服务器;(4)第二迁移服务器根据上述协商过程中携带的用户请求信息,以及传输层和应用层状态,将对应的数据资源发送至终端;(5.1)终端在收到自身请求的流量报文后,回复消息确认报文(ACK报文),(5.2)该报文被原始服务器的重定向器“转发”至第二迁移服务器中;(6.1)第二迁移服务器的重定向器将收到的ACK报文传递至自身的协议栈;(6.2)第二迁移服务器的协议栈执行接下来的流量报文发送或丢包修复报文重传(若有);(7)如步骤(4)所示,第二迁移服务器将需要重传的报文发送至终端;后续将依次循环执行步骤(5)(6)(7)操作,直至连接(流)结束。
上述数据处理系统,在面对多个数据请求、涉及多次请求迁移的情况下,由响应上一数据请求报文的第一迁移服务器确定响应当前数据请求报文的第二迁移服务器,并通过发送迁移请求与第二迁移服务器进行协商,在获得第二迁移服务器反馈的确认信息的情况下,再向原始服务器发送重定位信息,以指示原始服务器将终端发送的报文重定向至第二迁移服务器,能够实现分布式的迁移处理,从而降低多次迁移过程的时间损耗,有利于提高数据处理效率,进而能够更加快速地向终端反馈其所请求的数据资源,提升服务器集群的组网能力和终端的业务体验。
在一个实施例中,迁移请求中携带连接状态信息和应用状态信息。在该实施例的情形下,第二迁移服务器具体用于基于连接状态信息和应用状态信息,向终端反馈第二数据请求报文的第二响应报文。
其中,连接状态信息包括但不限于终端的终端信息、原始服务器的服务器信息、协议类型,第一迁移服务器和终端各自的传输层状态信息,报文编号等等。终端信息和服务器信息均可以包括IP地址、端口号等,第一迁移服务器的传输层状态信息可以包括发送窗口值、在途数据量等,终端的传输层状态信息可以包括接收窗口值、有效可用带宽等。应用状态信息可以包括第二数据请求报文所请求数据资源的资源标识,还可以包括用户数据加解密的密钥。
具体地,第二迁移服务器可以基于连接状态信息和应用状态信息,确定第二响应报文的配置信息,进而基于该配置信息向终端反馈第二数据请求报文的第二响应报文。其中,配置信息包括但不限于是五元组信息、传输参数等等。该传输参数可以包括发送窗口和发送速率等。
本实施例中,迁移请求中携带连接状态信息和应用状态信息,从而不需要在迁移协商完成之后再额外进行连接状态信息和应用状态信息的发送,能够进一步提高数据处理效率。
在一个实施例中,连接状态信息包括原始服务器的服务器信息、以及终端的终端信息。在该实施例的情形下,第二迁移服务器具体用于基于服务器信息和终端信息,配置并向终端反馈第二数据请求报文的第二响应报文。
具体地,第二迁移服务器可以基于服务器信息和终端信息,配置报文的五元组信息,进而向终端反馈第二数据请求报文的第二响应报文。其中,第二响应报文的五元组信息如下:源地址为原始服务器的IP地址;目标地址为终端的IP地址;源端口号为原始服务器的端口号;目的端口号为终端的端口号;协议类型为原始服务器的端口号和终端通信的协议类型。进一步地,第二响应报文的报文编号可以延续当前连接(原始服务器与终端之间连接)的报文编号,该报文编号可以由第一迁移服务器通过迁移请求同步至第二迁移服务器。
本实施例中,迁移请求中携带原始服务器的服务器信息和终端的终端信息,能够便于第二迁移服务器基于当前连接配置第二响应报文,使得终端不会感知迁移,继续通过与原始服务器交互获取数据资源,有利于提高交互的便利性。
在一个具体的实施例中,应用状态信息包括资源标识和密钥。在该实施例的情形下,第二迁移服务器具体用于获取资源标识所表征的数据资源,使用密钥对数据资源进行加密处理得到加密资源,并向终端反馈携带加密资源的第二响应报文。
其中,资源标识用于表征第二数据请求报文所请求的数据资源。具体地,在迁移请求中携带密钥的情况下,说明所请求数据存在加密需求。基于此,第二迁移服务器可以获取资源标识所表征的数据资源,使用密钥对数据资源进行加密处理得到加密资源,并向终端反馈携带加密资源的第二响应报文。
本实施例中,应用状态信息包括资源标识和密钥,能够匹配加密应用场景的需求,有利于提高数据处理方法的灵活性。
在一个实施例中,连接状态信息包括第一迁移服务器和终端各自的传输层状态信息;第二迁移服务器具体用于根据传输层状态信息确定传输参数,并基于传输参数向终端反馈第二数据请求报文的第二响应报文。
其中,第一迁移服务器的传输层状态信息可以包括发送窗口值、在途数据量等,终端的传输层状态信息可以包括接收窗口值、有效可用带宽等。传输参数可以包括发送窗口和发送速率等。具体地,第二迁移服务器向终端发送流量报文的初始阶段,使用由第一迁移服务器同步过来的发送窗口send_cwnd和接收窗口receive_cwnd来计算拥塞窗口cwnd,如公式(1)所示:
cwnd = min{send_cwnd, receive_cwnd} (1)
第二迁移服务器根据计算得到的拥塞窗口cwnd和在途流量inflight_size计算初始发送窗口大小init_cwnd,如公式(2)所示:
Init_cwnd = cwnd - inflight_size (2)
第二迁移服务器向终端发送流量报文的初始阶段,使用由第一迁移服务器同步过来的有效可用带宽BtlBW来配置初始发送速率init_pacing,具体如公式(3)所示:
Init_pacing = BtlBW (3)
上述初始发送窗口大小和初始发送速率在第二迁移服务器收到来自终端的消息确认报文(ACK报文)后将不再使用。
本实施例中,基于第一迁移服务器和终端各自的传输层状态信息确定传输参数,能够确保第二响应报文的顺利传输,进而确保数据处理的可靠性。
传统技术中,目前连接从一台服务器迁移至另一台服务器的方法有很多,主要可以分为两类:一种是双端协商迁移的方法;另一种是服务器单端迁移的方法。
双端协商迁移是指:原始服务器在收到来自终端的流量请求报文后,向该终端发送迁移服务器的相关信息;终端在收到上述信息后,向该迁移服务器重新发送流量请求报文,迁移服务器在收到上述请求报文后,发送流量报文作为请求的响应;后续终端与该迁移报文将直接进行交互,直至连接关闭或请求结束。如图10所示,终端向原始服务器发送请求报文后,被告知该原始服务器无法为该终端提供云服务;同时原始服务器“希望”该终端向另一台服务器(迁移服务器)重新发送请求报文;此时,终端将请求报文重新发送至上述迁移服务器,后者将请求的数据资源发送至终端。
这种方法主要面临以下问题:原始服务器与终端的协商时间较长,其频繁地交互将严重影响终端获取请求数据的时间;终端出于安全角度,可能不支持上述与服务器协商连接迁移的功能,造成CDN厂商无法继续为终端提供云服务,造成服务中断的问题;这也是该方法在真实的网络环境中无法使用的主要原因。
服务器单端迁移是指:原始服务器在收到来自终端的请求报文后,“主动”联系可以为该终端提供服务的另一台服务器,并告知其连接信息和请求信息,另一台服务器将根据上述信息响应终端的请求。如图11所示,原始服务器在收到来自终端的请求报文后,与另一台服务器进行协商,后者使用获取的连接信息和请求信息,向终端发送流量报文作为响应;终端在收到请求的流量报文后,向原始服务器发送消息确认报文;原始服务器将上述消息确认报文转发至选择的迁移服务器,后者将继续为该终端提供云服务。
这种方法主要面临以下问题:该方法主要适用于连接单请求的场景,即一个连接中至包括一个流量请求;如果遇到复杂的连接(包含多个请求),迁移服务器在收到来自终端的新的请求报文后,将该请求报文“发回”至原始服务器,后者将对连接进行“重新迁移”,在该过程中,如果遇到原始服务器升级更新等不可用的问题,CDN将无法为该终端提供云服务功能,造成连接中断等严重影响客户端业务体验的事件。
本申请重点解决在面临多个请求、多个数据源的情况下,连接多次迁移所面临的过度依赖集中式迁移服务器选择而导致的迁移效率低、业务受损明显的问题,提出一种分布式的无损迁移方法,可显著改善迁移效率、优化终端的业务体验,增强CDN厂商的核心竞争力。
在一个具体的实施例中,如图12所示,本申请的实现过程包括以下步骤:
(1)终端在现有连接的基础上,发送新的流量请求报文,该报文经过原始服务器被重定向至上一次连接迁移之后的服务器(第一迁移服务器),该服务器的协议栈意识到该连接需要迁移至另一台服务器。
其中,终端向原始服务器发送新的流量请求报文Pkt_req,该报文中携带请求数据资源的标识URI(统一资源标识符)。原始服务器在收到上述Pkt_req报文后,将该报文重定向至该连接当前提供数据发送任务的迁移服务器(记为第一迁移服务器),该重定向报文Pkt_req_redirect中包含Pkt_req报文。可选的,可以由服务器的重定向器实现针对报文的重定向操作。本申请重点关注连接已经从原始服务器迁移至其它服务器时,该迁移服务器能够响应终端的请求;但无法响应来自终端的新的流量请求时,应该如何将连接迁移至其它能够响应用户请求的服务器。
进一步地,将来自终端的Pkt_req报文重定向至第一迁移服务器的重定向报文Pkt_req_redirect具有以下特征:Pkt_req_redirect报文的源地址为原始服务器的IP地址;Pkt_req_redirect报文的目的地址为第一迁移服务器的IP地址;Pkt_req_redirect报文的源端口为原始服务器(与第一迁移服务器通信)的端口号;该端口号是两者之前协商的端口号;Pkt_req_redirect报文的目的端口为第一迁移服务器(与原始服务器通信)的端口号;该端口号是两者之前协商的端口号;Pkt_req_redirect报文的协议类型为两者协商的通信协议类型,包括TCP或UDP。
第一迁移服务器在收到来自原始服务器的Pkt_req_redirect报文后,提取该报文中Pkt_req报文携带的流量请求的数据资源标识URI,并判断该连接是否需要迁移至其它服务器。可选的,第一迁移服务器满足如下条件时会将当前连接迁移至其它服务器:服务器本地无法获取终端请求的数据资源;当前服务器的负载(如CPU利用率、内存占用、流量大小等)较高。如果当前迁移服务器需要将当前连接迁移至其它服务器,具体执行步骤(2);否则,将获取用户请求的数据资源,并响应用户的请求。
(2)在收到来自终端的新的请求报文后,第一迁移服务器如果判断需要执行连接的再次迁移,则启动自身迁移模块,该模块首先执行连接迁移之前的准备操作,包括获取满足报文响应条件的目标服务器(记为第二迁移服务器)的信息、重置针对该连接的重定向规则等,具体如下:第一迁移服务器的协议栈向其迁移模块发送指令,“告知”需要将当前连接进行迁移;第一迁移服务器从内容调度中心获取目标服务器的信息。
第一迁移服务器从内容调度中心获取目标服务器的信息的具体过程可以是:第一迁移服务器向内容调度中心发送获取请求报文Pkt_obtain_target,该报文携带用于标识用户请求数据资源URI;内容调度中心根据上述URI查询能够为终端请求数据资源提供传输服务的目标服务器信息,即目标服务器具有对应的数据资源,且该目标服务器的负载不高。其中内容调度中心反馈的目标服务器信息包括但不限于:目标服务器的IP地址(IP_target);目标服务器的端口号(Port_target);目标服务器支持的协议类型(Ptl_type_target)。内容调度中心可以是单独的服务器,也可以位于每个服务器内部,特别地,内容调度中心可以周期性地向每个服务器同步其自身的用于选择目标服务器的信息。
进一步地,迁移模块向第一迁移服务器的重定向器下发针对该连接的规则,将重定向器中针对该连接的操作更新为丢弃,将重定向器中针对five_tuple操作设置为drop。此时,第一迁移服务器在收到终端的关于该连接的报文后,将执行丢弃操作;此操作用于避免连接迁移协商过程前后的状态混乱。
(3)第一迁移服务器与目标服务器连接迁移协商,期间同步该连接的应用层和传输层状态信息;并通知原始服务器更新器重定向器的规则。
具体地,第一迁移服务器可以向第二迁移服务器发送连接迁移请求报文Pkt_mig_req,其中该报文中携带连接状态与应用状态等信息。第二迁移服务器的迁移模块在收到来自第一迁移服务器的Pkt_mig_req报文后,传递至自身的协议栈;第二迁移服务器的协议栈根据Pkt_mig_req中的连接状态初始化待迁移的连接。第二迁移服务器根据URI查询自身是否存储终端请求的数据资源;并向第一迁移服务器回复迁移协商确认报文Pkt_mig_ack,其中该报文中携带第而迁移服务器是否支持对该连接进行迁移的反馈信息。
若第二迁移服务器支持连接迁移,则第一迁移服务器分别向第二迁移服务器和原始服务器发送响应启动通知和重定向规则更新指令,具体如下:第一迁移服务器在收到来自第二迁移服务器的连接迁移确认报文后,向第二迁移服务器发送响应启动通知,后者在收到该通知信息后,将基于初始化的连接发送终端请求的数据资源。第一迁移服务器在收到来自第二迁移服务器的连接迁移确认报文后,向原始服务器发送重定向规则更新指令,后者在收到之后将该连接的后续所有报文重定向至第二迁移服务器。
(4)第二迁移服务器在收到来自第一迁移服务器发来的响应启动通知后,使用步骤(3)中同步的连接状态和应用状态,将终端请求的数据资源发送至终端。
具体地,由第二迁移服务器发往终端的流量报文(即第二响应报文)具有以下特征:流量报文的源地址和目的地址分别为原始服务器的IP地址和终端的IP地址;流量报文的源端口号和目的端口号分别为原始服务器的端口号和终端的端口号;流量报文的协议类型为原始服务器的端口号和终端通信的协议类型;流量报文的报文编号为当前连接的报文编号;上述内容均是连接协商过程中由第一迁移服务器同步给第二迁移服务器的。进一步地,流量报文中携带的数据是终端请求报文Pkt_req携带URI对应的数据资源;流量报文中数据如果需要加密,则使用迁移协商过程中同步的用于数据加解密的密钥来进行加密。
由第二迁移服务器发往终端的流量报文遵循以下发送控制规则:
第二迁移服务器向终端发送流量报文的初始阶段,使用由第一迁移服务器同步过来的发送窗口send_cwnd和接收窗口receive_cwnd来计算拥塞窗口cwnd,如公式(1)所示:
cwnd = min{send_cwnd, receive_cwnd} (1)
第二迁移服务器根据计算的拥塞窗口cwnd和在途流量inflight_size计算初始发送窗口大小init_cwnd,如公式(2)所示:
Init_cwnd = cwnd - inflight_size (2)
第二迁移服务器向终端发送流量报文的初始阶段,使用由第一迁移服务器同步过来的有效可用带宽BtlBW来配置初始发送速率init_pacing,具体如公式(3)所示:
Init_pacing = BtlBW (3)
上述初始发送窗口大小和初始发送速率在第二迁移服务器收到来自终端的消息确认报文(ACK报文)后将不再使用。
终端在收到来自第二迁移服务器发送的流量报文后,回复消息确认报文Pkt_ack;该报文经原始服务器重定向至第二迁移服务器。原始服务器重定向至第二迁移服务器的报文记为Pkt_redirect,该报文具有以下特征:源地址和源端口分别为原始服务器的IP地址和端口号;目的地址和目的端口分别为第二迁移服务器的IP地址和端口号;Pkt_redirect报文包含了Pkt_ack报文的所有内容。
第二迁移服务器在收到来自由原始服务器重定向的Pkt_redirect报文后,提取其携带的由终端发送的Pkt_ack报文,并根据该报文判断接下来的流量报文发送策略,具体如下:第二迁移服务器的重定向器在收到Pkt_redirect报文后,传递至协议栈;后者将从Pkt_redirect报文中提取其携带的Pkt_ack报文;协议栈根据Pkt_ack报文中“声明”的终端收到的(或未收到的)报文信息,判断是否出现丢包;若出现丢包,则执行丢包修复操作(重传丢失的报文);若未出现丢包,则获取接下来要发送的数据资源,并继续向终端发送数据报文。
第二迁移服务器根据Pkt_ack报文向终端继续发送流量报文(或丢包修复报文),上述流量报文在发送过程中,将不再遵循初始的发送规则或参数(如init_cwnd和init_pacing);而是基于Pkt_ack报文获得的网络质量信息(如丢包率、RTT、网络带宽等),使用现有的拥塞控制算法计算最新的拥塞窗口cwnd和发送速率pacing来执行这些流量报文的发送工作。终端在收到上述流量报文后,可以发送确认报文,也可以再次发起新的数据请求报文,直至连接关闭,即终端与原始服务器断开连接。
在本申请中,当连接结束时,原始服务器的针对该连接的重定向规则将被释放(或删除);特别地,如果服务器的重定向规则在一段时间阈值T内没有遇到相关连接的报文,将会被自动释放;其中,时间阈值T可由管理员配置,并在配置文件中声明,在默认情况下,T=30s。
本申请赋能连接在多请求多数据源情况下,支持灵活高效的分布式迁移方法,其中,当服务器收到来自终端的请求报文后,能够自主选择目标服务器,并将当前连接迁移至目标服务器,而不再依赖集中式的服务器管控,有效降低了连接多次迁移过程中的时间损耗,提升了连接迁移的效率,有利于保证客户端的业务体验,提升CDN厂商的核心竞争力。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据处理方法的数据处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据处理装置实施例中的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。
在一个实施例中,如图13所示,提供了一种数据处理装置,应用于第一迁移服务器,包括响应报文反馈模块1302、重定向报文接收模块1304、迁移模块1306和重定向信息发送模块1308,其中:
响应报文反馈模块1302,用于响应原始服务器发送的第一重定向报文中携带的第一数据请求报文,向发出第一数据请求报文的终端反馈第一响应报文;
重定向报文接收模块1304,用于接收原始服务器发送的、包含第二数据请求报文的第二重定向报文;第二数据请求报文由终端在接收到第一响应报文的情况下发送至原始服务器;
迁移模块1306,用于若第一迁移服务器满足报文迁移条件,则向满足报文响应条件的第二迁移服务器发送针对第二数据请求报文的迁移请求;
重定向信息发送模块1308,用于在接收到第二迁移服务器基于迁移请求反馈的确认信息的情况下,向原始服务器发送重定向信息;重定向信息用于指示原始服务器将终端发送的报文重定向至第二迁移服务器。
在一个实施例中,数据处理装置还包括迁移判断模块,用于:提取第二数据请求报文中携带的资源标识;在第一迁移服务器未存储数据资源的情况下,确定第一迁移服务器满足报文迁移条件。资源标识用于表征第二数据请求报文所请求的数据资源。
在一个实施例中,迁移模块1306包括:服务器确定子模块,用于确定满足报文响应条件的第二迁移服务器;报文响应条件与资源标识匹配;迁移请求发送子模块,用于向第二迁移服务器发送针对第二数据请求报文的迁移请求。
在一个实施例中,服务器确定子模块具体用于:向内容调度中心发送携带资源标识的服务器信息获取请求;获取内容调度中心响应于服务器信息获取请求、反馈的服务器标识;将服务器标识所表征的服务器,确定为满足报文响应条件的第二迁移服务器。
在一个实施例中,服务器标识的数量为多个,在该实施例的情形下,服务器确定子模块具体用于:确定各服务器标识各自表征的候选服务器,并获取各候选服务器各自的负载信息;将负载最小的候选服务器,确定为满足报文响应条件的第二迁移服务器。
在一个实施例中,数据处理装置还包括响应启动通知模块,用于在接收到第二迁移服务器基于迁移请求反馈的确认信息的情况下,向第二迁移服务器发送响应启动通知;响应启动通知,用于指示第二迁移服务器向终端反馈第二数据请求报文的第二响应报文。
在一个实施例中,数据处理装置还包括丢包修复模块,用于:获取终端基于第一响应报文反馈的确认报文;确认报文由所述原始服务器从终端接收、并重定向至第一迁移服务器;在基于确认报文确定第一响应报文出现丢包的情况下,执行针对第一响应报文的丢包修复操作。
在一个实施例中,如图14所示,本申请还提供了另一种数据处理装置,应用于原始服务器,该装置包括数据请求报文接收模块1402、重定向报文发送模块1404和重定向信息接收模块1406,其中:
数据请求报文接收模块1402,用于接收终端发送的第一数据请求报文;
重定向报文发送模块1404,用于向第一迁移服务器发送包含第一数据请求报文的第一重定向报文;
数据请求报文接收模块1402,还用于接收终端发送的第二数据请求报文;第二数据请求报文,由终端在接收到第一响应报文的情况下发送;第一响应报文,由第一迁移服务器基于第一数据请求报文反馈至终端;
重定向报文发送模块1404,还用于向第一迁移服务器发送包含第二数据请求报文的第二重定向报文;
重定向信息接收模块1406,用于在第一迁移服务器满足报文迁移条件的情况下,接收针对第二数据请求报文的重定向信息;重定向信息,由第一迁移服务器在接收到第二迁移服务器基于迁移请求反馈的确认信息的情况下发送;重定向信息用于指示原始服务器将终端发送的报文重定向至第二迁移服务器;第二迁移服务器满足报文响应条件。
在一个实施例中,数据处理装置还包括重定向释放模块,用于:确定第一数据请求报文对应的重定向规则、以及针对重定向规则的重定向释放条件;在满足重定向释放条件的情况下,释放第一数据请求报文对应的重定向规则。
上述数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图15所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储上述数据处理方法所涉及的数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关地域和地区的相关法律法规和标准。并且,对象可以选择不进行对象信息和相关数据的授权,也可以拒绝或可以便捷拒绝推送信息等。
本申请中,在实例应用时进行相关数据收集处理的过程中,应该严格根据相关地区法律法规的要求,获取个人信息主体的知情同意或单独同意,并在法律法规及个人信息主体的授权范围内,开展后续数据使用及处理行为。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (19)
1.一种数据处理方法,其特征在于,应用于第一迁移服务器,所述方法包括:
响应原始服务器发送的第一重定向报文中携带的第一数据请求报文,向发出所述第一数据请求报文的终端反馈第一响应报文;
接收所述原始服务器发送的、包含第二数据请求报文的第二重定向报文;所述第二数据请求报文由所述终端在接收到所述第一响应报文的情况下发送至所述原始服务器;
若所述第一迁移服务器满足报文迁移条件,则向满足报文响应条件的第二迁移服务器发送针对所述第二数据请求报文的迁移请求;
在接收到所述第二迁移服务器基于所述迁移请求反馈的确认信息的情况下,向所述原始服务器发送重定向信息;所述重定向信息用于指示所述原始服务器将所述终端发送的报文重定向至所述第二迁移服务器。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
提取所述第二数据请求报文中携带的资源标识;所述资源标识用于表征所述第二数据请求报文所请求的数据资源;
在所述第一迁移服务器未存储所述数据资源的情况下,确定所述第一迁移服务器满足报文迁移条件。
3.根据权利要求2所述的方法,其特征在于,所述向满足报文响应条件的第二迁移服务器发送针对所述第二数据请求报文的迁移请求,包括:
确定满足报文响应条件的第二迁移服务器;所述报文响应条件与所述资源标识匹配;
向所述第二迁移服务器发送针对所述第二数据请求报文的迁移请求。
4.根据权利要求3所述的方法,其特征在于,所述确定满足报文响应条件的第二迁移服务器,包括:
向内容调度中心发送携带所述资源标识的服务器信息获取请求;
获取所述内容调度中心响应于所述服务器信息获取请求、反馈的服务器标识;
将所述服务器标识所表征的服务器,确定为满足报文响应条件的第二迁移服务器。
5.根据权利要求4所述的方法,其特征在于,所述服务器标识的数量为多个;所述将所述服务器标识所表征的服务器,确定为满足报文响应条件的第二迁移服务器,包括:
确定各服务器标识各自表征的候选服务器,并获取各所述候选服务器各自的负载信息;
将负载最小的候选服务器,确定为满足报文响应条件的第二迁移服务器。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,所述方法还包括:
在接收到所述第二迁移服务器基于所述迁移请求反馈的确认信息的情况下,向所述第二迁移服务器发送响应启动通知;
所述响应启动通知,用于指示所述第二迁移服务器向所述终端反馈所述第二数据请求报文的第二响应报文。
7.根据权利要求1至5中任意一项所述的方法,其特征在于,所述方法还包括:
获取所述终端基于所述第一响应报文反馈的确认报文;所述确认报文由所述原始服务器从所述终端接收、并重定向至所述第一迁移服务器;
在基于所述确认报文确定所述第一响应报文出现丢包的情况下,执行针对所述第一响应报文的丢包修复操作。
8.一种数据处理方法,其特征在于,应用于原始服务器,所述方法包括:
接收终端发送的第一数据请求报文,并向第一迁移服务器发送包含所述第一数据请求报文的第一重定向报文;
接收所述终端发送的第二数据请求报文;所述第二数据请求报文,由所述终端在接收到第一响应报文的情况下发送;所述第一响应报文,由所述第一迁移服务器基于所述第一数据请求报文反馈至所述终端;
向所述第一迁移服务器发送包含所述第二数据请求报文的第二重定向报文;
在所述第一迁移服务器满足报文迁移条件的情况下,接收针对所述第二数据请求报文的重定向信息;所述重定向信息,由所述第一迁移服务器在接收到第二迁移服务器基于迁移请求反馈的确认信息的情况下发送;所述重定向信息用于指示所述原始服务器将所述终端发送的报文重定向至所述第二迁移服务器;所述第二迁移服务器满足报文响应条件。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
确定所述第一数据请求报文对应的重定向规则、以及针对所述重定向规则的重定向释放条件;
在满足所述重定向释放条件的情况下,释放所述第一数据请求报文对应的重定向规则。
10.一种数据处理系统,其特征在于,所述系统包括原始服务器、第一迁移服务器和第二迁移服务器;
所述原始服务器接收终端发送的第一数据请求报文,并向所述第一迁移服务器发送包含所述第一数据请求报文的第一重定向报文;
所述第一迁移服务器向所述终端反馈所述第一数据请求报文的第一响应报文;
所述原始服务器接收所述终端发送的第二数据请求报文,并向所述第一迁移服务器发送包含所述第二数据请求报文的第二重定向报文;所述第二数据请求报文,由所述终端在接收到第一响应报文的情况下发送;
所述第一迁移服务器在自身满足报文迁移条件的情况下,向满足报文响应条件的第二迁移服务器发送针对所述第二数据请求报文的迁移请求;
所述第一迁移服务器在接收到所述第二迁移服务器基于所述迁移请求反馈的确认信息的情况下,向所述原始服务器发送重定向信息;所述重定向信息用于指示所述原始服务器将所述终端发送的报文重定向至所述第二迁移服务器。
11.根据权利要求10所述的系统,其特征在于,所述迁移请求中携带连接状态信息和应用状态信息;
所述第二迁移服务器用于基于所述连接状态信息和所述应用状态信息,向所述终端反馈所述第二数据请求报文的第二响应报文。
12.根据权利要求11所述的系统,其特征在于,所述连接状态信息包括所述原始服务器的服务器信息、以及所述终端的终端信息;
所述第二迁移服务器具体用于基于所述服务器信息和所述终端信息,配置并向所述终端反馈所述第二数据请求报文的第二响应报文。
13.根据权利要求11所述的系统,其特征在于,所述应用状态信息包括资源标识和密钥;所述资源标识用于表征所述第二数据请求报文所请求的数据资源;
所述第二迁移服务器具体用于获取所述资源标识所表征的数据资源,使用所述密钥对所述数据资源进行加密处理得到加密资源,并向所述终端反馈携带所述加密资源的第二响应报文。
14.根据权利要求11所述的系统,其特征在于,所述连接状态信息包括所述第一迁移服务器和所述终端各自的传输层状态信息;
所述第二迁移服务器具体用于根据各所述传输层状态信息确定传输参数,并基于所述传输参数向所述终端反馈所述第二数据请求报文的第二响应报文。
15.一种数据处理装置,其特征在于,应用于第一迁移服务器,所述装置包括:
响应报文反馈模块,用于响应原始服务器发送的第一重定向报文中携带的第一数据请求报文,向发出所述第一数据请求报文的终端反馈第一响应报文;
重定向报文接收模块,用于接收所述原始服务器发送的、包含第二数据请求报文的第二重定向报文;所述第二数据请求报文由所述终端在接收到所述第一响应报文的情况下发送至所述原始服务器;
迁移模块,用于若所述第一迁移服务器满足报文迁移条件,则向满足报文响应条件的第二迁移服务器发送针对所述第二数据请求报文的迁移请求;
重定向信息发送模块,用于在接收到所述第二迁移服务器基于所述迁移请求反馈的确认信息的情况下,向所述原始服务器发送重定向信息;所述重定向信息用于指示所述原始服务器将所述终端发送的报文重定向至所述第二迁移服务器。
16.一种数据处理装置,其特征在于,应用于原始服务器,所述装置包括:
数据请求报文接收模块,用于接收终端发送的第一数据请求报文;
重定向报文发送模块,用于向第一迁移服务器发送包含所述第一数据请求报文的第一重定向报文;
所述数据请求报文接收模块,还用于接收所述终端发送的第二数据请求报文;所述第二数据请求报文,由所述终端在接收到第一响应报文的情况下发送;所述第一响应报文,由所述第一迁移服务器基于所述第一数据请求报文反馈至所述终端;
所述重定向报文发送模块,还用于向所述第一迁移服务器发送包含所述第二数据请求报文的第二重定向报文;
重定向信息接收模块,用于在所述第一迁移服务器满足报文迁移条件的情况下,接收针对所述第二数据请求报文的重定向信息;所述重定向信息,由所述第一迁移服务器在接收到第二迁移服务器基于迁移请求反馈的确认信息的情况下发送;所述重定向信息用于指示所述原始服务器将所述终端发送的报文重定向至所述第二迁移服务器;所述第二迁移服务器满足报文响应条件。
17.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
19.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410211386.4A CN118612223A (zh) | 2024-02-26 | 2024-02-26 | 数据处理方法、装置、系统、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410211386.4A CN118612223A (zh) | 2024-02-26 | 2024-02-26 | 数据处理方法、装置、系统、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118612223A true CN118612223A (zh) | 2024-09-06 |
Family
ID=92557823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410211386.4A Pending CN118612223A (zh) | 2024-02-26 | 2024-02-26 | 数据处理方法、装置、系统、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118612223A (zh) |
-
2024
- 2024-02-26 CN CN202410211386.4A patent/CN118612223A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2380746C2 (ru) | Выравнивание сетевой нагрузки с помощью информации статуса хоста | |
US9300733B2 (en) | System and/or method for client-driven server load distribution | |
US11843527B2 (en) | Real-time scalable virtual session and network analytics | |
EP3211852A1 (en) | Ssh protocol-based session parsing method and system | |
JP2012095098A (ja) | データ通信方法及び情報処理装置 | |
WO2022148363A1 (zh) | 数据传输方法及数据传输服务器 | |
US8812718B2 (en) | System and method of streaming data over a distributed infrastructure | |
EP3417367B1 (en) | Implementing a storage system using a personal user device and a data distribution device | |
US20220337615A1 (en) | Dynamic sessional redirection and proxy | |
US10728291B1 (en) | Persistent duplex connections and communication protocol for content distribution | |
US10924423B2 (en) | Adaptive mechanism to adjust UDT packet size based on actual network condition | |
US20130054691A1 (en) | Flexible rule based multi-protocol peer-to-peer caching | |
US11444882B2 (en) | Methods for dynamically controlling transmission control protocol push functionality and devices thereof | |
RU2387002C2 (ru) | Выравнивание сетевой нагрузки с помощью управления соединением | |
US20190238637A1 (en) | Data replication in scalable messaging system | |
CN118612223A (zh) | 数据处理方法、装置、系统、计算机设备和存储介质 | |
CN111240867B (zh) | 一种信息通讯系统及方法 | |
CN115801298A (zh) | 文件传输的方法、系统、设备和存储介质 | |
Ma et al. | Design of p2p application layer protocol | |
Munagala | Ubiquitous Application Data Collection in a Disconnected Distributed System | |
CN118842636A (zh) | 认证方法、系统、装置、计算机设备和可读存储介质 | |
WO2024032102A1 (zh) | 数据传输方法、装置、设备、存储介质和计算机程序产品 | |
CN119136224A (zh) | 通信方法、装置、系统、存储介质和产品 | |
CN118250348A (zh) | 数据上传的方法、装置、设备、介质及产品 | |
CN116996933A (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 |