CN112866422A - 一种数据请求处理方法和装置 - Google Patents
一种数据请求处理方法和装置 Download PDFInfo
- Publication number
- CN112866422A CN112866422A CN202110443714.XA CN202110443714A CN112866422A CN 112866422 A CN112866422 A CN 112866422A CN 202110443714 A CN202110443714 A CN 202110443714A CN 112866422 A CN112866422 A CN 112866422A
- Authority
- CN
- China
- Prior art keywords
- hop
- request
- data request
- data
- connection pool
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/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)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例提供一种数据请求处理方法和装置,其中方法包括:当接收到来自于上一跳设备的跳跃数据包时,生成上一跳设备和当前设备之间的上一跳连接池对象句柄;控制当前设备对数据请求进行响应处理,以得到第一处理结果,并根据第一处理结果生成新的数据请求的请求内容;获取数据请求的请求标识,并设置数据请求的处理状态;根据上一跳连接池对象句柄、所获取的请求标识、所设置的数据请求的处理状态和新的数据请求的请求内容,生成新的跳跃结构体信息,并加入至跳跃数据包;将跳跃数据包发送至当前设备的下一跳设备。本申请实施例无需在设备中保存复杂的请求关系映射表,降低对复杂的请求关系映射表的维护成本,降低了设备存储空间的使用。
Description
技术领域
本申请涉及智慧城市技术领域,具体涉及一种数据请求处理方法和装置。
背景技术
通常情况下一个系统中会提供多个不同服务,每个不同服务对应不同的服务器,即由不同服务器来实现对应的不同服务。当服务器接收到一个数据请求时,通常不是由一个服务器来响应该数据请求,而是需要跨服务器来对该数据请求进行处理,以最终响应该数据请求,即数据请求从一个服务器跳跃到下一个服务器,以到达可最终处理该数据请求的服务器。在跨服务器响应数据请求的过程中,通常需要在通讯的双方服务器中构建复杂的请求关系映射表,以记录该数据请求所对应的相关信息,以确保在接收到返回的应答消息时,通过请求关系映射表来确定该应答消息对应的是哪个数据请求的应答消息。由于请求关系映射表中需要保存较多数据,在每个通讯的服务器中都构建复杂的请求关系映射表,会导致业务的臃肿以及维护难度的增大。
发明内容
本申请实施例提供一种数据请求处理方法和装置,无需在设备中构建复杂的请求关系映射表,降低对请求关系映射表的维护成本,降低了设备存储空间的使用。
本申请实施例提供了一种数据请求处理方法,包括:
当接收到来自于上一跳设备的跳跃数据包时,确定所述上一跳设备和当前设备之间的连接池对象句柄,将所述连接池对象句柄确定为上一跳连接池对象句柄;所述跳跃数据包中包括至少一个跳跃结构体信息,所述跳跃结构体信息包括连接池对象句柄以及数据请求的请求标识、数据请求的处理状态、数据请求的请求内容;
控制所述当前设备对所述数据请求进行响应处理,以得到第一处理结果,并根据所述第一处理结果生成新的数据请求的请求内容;
获取数据请求的请求标识,并设置数据请求的处理状态;
根据所述上一跳连接池对象句柄、所获取的请求标识、所设置的数据请求的处理状态和所述新的数据请求的请求内容,生成新的跳跃结构体信息,并将所述新的跳跃结构体信息加入至所述跳跃数据包;
将所述跳跃数据包发送至所述当前设备的下一跳设备,以使得所述下一跳设备对所述数据请求进行响应处理。
本申请实施例还提供了一种数据请求处理装置,包括:
接收模块,用于接收来自于上一跳设备的跳跃数据包;
句柄确定模块,用于当接收到来自于上一跳设备的跳跃数据包时,生成所述上一跳设备和当前设备之间的连接池对象句柄,将所述连接池对象句柄确定为上一跳连接池对象句柄;所述跳跃数据包中包括至少一个跳跃结构体信息,所述跳跃结构体信息包括连接池对象句柄以及数据请求的请求标识、数据请求的处理状态、数据请求的请求内容;
响应处理模块,用于控制所述当前设备对所述数据请求进行响应处理,以得到第一处理结果,并根据所述第一处理结果生成新的数据请求的请求内容;
获取设置模块,用于获取数据请求的请求标识,并设置数据请求的处理状态;
生成模块,用于根据所述上一跳连接池对象句柄、所获取的请求标识、所设置的数据请求的处理状态和所述新的数据请求的请求内容,生成新的跳跃结构体信息,并将所述新的跳跃结构体信息加入至所述跳跃数据包;
发送模块,用于将所述跳跃数据包发送至所述当前设备的下一跳设备,以使得所述下一跳设备对所述数据请求进行响应处理。
本申请实施例还提供了一种设备,所述设备包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述处理器和所述存储器相连接,所述一个或多个计算机程序被存储于所述存储器中,并配置为由所述处理器执行上述所述的运行于当前设备中的数据请求处理方法的步骤。
本申请实施例还提供了一种数据请求处理系统,所述数据请求处理系统包括上一跳设备、当前设备和下一跳设备,所述上一跳设备、当前设备和下一跳设备分别都包括一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述处理器和所述存储器相连接,所述一个或多个计算机程序被存储于所述存储器中,并配置为由所述处理器执行上述所述的数据请求处理方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一种数据请求处理方法中的步骤。
本申请实施例当接收到来自于上一跳设备的跳跃数据包时,生成上一跳设备和当前设备之间的连接池对象句柄,将连接池对象句柄确定为上一跳连接池对象句柄;若当前设备不是最后一个处理数据请求的设备,控制当前设备对所述数据请求进行响应处理,以得到第一处理结果,并根据第一处理结果生成新的数据请求的请求内容;获取数据请求的请求标识,并设置数据请求的处理状态;根据上一跳连接池对象句柄、所获取的请求标识、所设置的数据请求的处理状态和新的数据请求的请求内容,生成新的跳跃结构体信息,并将新的跳跃结构体信息加入至跳跃数据包;将跳跃数据包发送至当前设备的下一跳设备,以使得下一跳设备对数据请求进行响应处理。本申请实施例通过生成连接池对象句柄和跳跃数据包,来保存该数据请求所对应的相关信息。具体地,通过连接池对象句柄保存上一跳设备与当前设备之间的连接链路;通过跳跃数据包中跳跃结构体的设计,来保存数据请求的请求标识、请求内容/应答内容、数据请求的处理状态,以在返回时根据请求标识来确定对应哪个数据请求,并通过处理状态确定对应设备是否响应了该数据请求等。本申请实施例将生成的连接池对象句柄、数据请求的请求标识和数据请求的处理状态、数据请求的请求内容/应答内容等都封装跳跃数据包中,并发送该跳跃数据包(需要提醒的是,并没有在设备中保存该跳跃数据包,而是直接在设备间传输该跳跃数据包)。如此使得与数据请求相关的信息都在跳跃数据包中,无需在设备中保存复杂的请求关系映射表,降低对复杂的请求关系映射表的维护成本,降低了设备存储空间的使用。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的服务器依次处理数据请求的示意图;
图2是本申请实施例提供的数据请求处理方法的流程示意图;
图3是本申请实施例提供的包括一个跳跃结构体的跳跃数据包的示意图;
图4a是本申请实施例提供的包括两个跳跃结构体的跳跃数据包的示意图;
图4b是本申请实施例提供的下一跳设备返回的跳跃数据包的示意图;
图4c是本申请实施例提供的删除跳跃结构体信息的示意图;
图4d是本申请实施例提供的当前设备返回的跳跃数据包的示意图;
图5是本申请实施例提供的数据请求处理方法的另一流程示意图;
图6是本申请实施例提供的包括一个跳跃结构体的跳跃数据包的另一示意图;
图7a是本申请实施例提供的视频监控服务器形成的跳跃数据包的示意图;
图7b是本申请实施例提供的人脸识别服务器发送的跳跃数据包的示意图;
图7c是本申请实施例提供的违法行为判定服务器更新后的跳跃数据包的示意图;
图7d是本申请实施例提供的视频监控服务器返回的跳跃数据包的示意图;
图8是本申请实施例提供的数据请求处理装置的结构示意图;
图9是本申请实施例提供的数据请求处理装置的另一结构示意图;
图10是本申请实施例提供的设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种数据请求处理方法、装置、设备和存储介质。本申请实施例提供的任一种数据请求处理装置,可以集成在设备中。该设备既可以是终端设备,也可以是服务器设备。其中,终端设备包括但不限于智能手机、平板电脑、笔记本电脑、智能电视、智能机器人、个人计算机(PC,Personal Computer)、可穿戴设备、车载终端,等等。服务器设备可以是服务器计算机、云服务器等,如提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
本申请实施例中以设备为服务器设备为例来进行说明。
例如,在智慧城市交通系统中,通常会提供不同的服务,不同的服务由不同的服务器来完成。比如交警系统就包括:人脸识别服务器,视频监控服务器,违法行为判定服务器,等等。
如果要请求某路安防监控设备进行违法行为的判定,需要给视频监控服务器发送数据请求,拉取对应的视频流,然后视频监控服务器会从视频流中采集视频结构化数据再提交给人脸识别服务器,人脸识别服务器识别出用户信息后,再次将数据提交给违法行为判定服务器进行违法行为的判断。在此过程中,一个数据请求从业务终端发出到最终到达违法行为判定服务器,中间经过了N个(多个)服务器。
其中,一个来自业务终端(请求端)的数据请求,可能会同时由多个服务器并发处理,也可能是多个服务器依次处理。如图1所示的为多个服务器依次处理的情况,由业务终端发送的违法行为判定的数据请求,先发送至视频监控服务器,视频监控服务器将从视频流中采集的视频结构化数据发送至人脸识别服务器,人脸识别服务器进行人脸识别后,再将人脸识别的结果发送至违法行为判定服务器进行违法行为的判定。即每个服务器依次完成后,继续提交给下一个服务器。违法行为判定服务器得到判定结果后,将判定结果返回至人脸识别服务器,人脸识别服务器再次进行处理后将处理结果返回至视频监控服务器,视频监控服务器将处理结果返回至业务终端。本申请实施例中以多个服务器依次处理的情况为例进行说明。
交警系统中的服务器是高并发服务器,往往这样的数据请求成百上千乃至上万。在接收到数据请求到得到违法行为判定结果的过程中,通常需要在通信双端(例如,上一跳服务器和当前服务器、当前服务器和下一跳服务器等,若当前设备为人脸识别服务器,上一跳设备即为视频监控服务器,下一跳设备即为违法行为判定服务器)构建复杂的请求关系映射表,以在接收到应答消息时,通过请求关系映射表来确定该应答消息对应的是哪个数据请求的应答消息。其中,该请求关系映射表中至少包括请求消息的来源信息、请求消息的请求标识、请求消息要发送到哪里等数据。在通信双端中构建复杂的请求关系映射表,会导致业务的臃肿以及维护难度的增大。
本申请实施例提供了数据请求处理方法、装置、设备和存储介质,可大幅裁剪类似的请求关系映射表,无需在设备中保存复杂的请求关系映射表,降低对复杂的请求关系映射表的维护成本,降低了设备存储空间的使用。
本申请实施例中的业务终端指的是生成和发送数据请求的设备,既可以是终端设备,也可以是服务器设备。在交警系统中,业务终端可以是交警终端等。
图2为本申请实施例提供的数据请求处理方法的流程示意图。该数据请求处理方法包括以下步骤101至105。
101,当接收到来自于上一跳设备的跳跃数据包时,确定上一跳设备和当前设备之间的连接池对象句柄,将连接池对象句柄确定为上一跳连接池对象句柄;跳跃数据包中包括至少一个跳跃结构体信息,跳跃结构体信息包括连接池对象句柄以及数据请求的请求标识、数据请求的处理状态、数据请求的请求内容。
其中,连接池对象句柄包括相互通信的两个设备之间的连接链路和该连接链路的连接使用序列号。需要注意的是,该连接使用序列号是唯一的。每个数据请求所对应的连接使用序列号不同。当有其他设备与当前设备连接时,会对应一个连接使用序列号,当该设备断开与当前设备的连接时,也会对应一个连接使用序列号。每个设备中的连接使用序列号是独立使用的。该连接使用序列号可以用整数来表示,当达到设备的最大整数时,又从头开始。在一实施例中,连接池对象句柄中也可只包括连接链路,或者连接池对象句柄中还可以包括更多的内容。
需要注意的是,连接池对象句柄用于能区分每个数据请求,同时能区分每个发送数据请求的设备与相互通信的设备之间的连接和断开。本申请实施例中的连接池对象句柄只是一个示例说明,在其他情况下,连接池对象句柄还可以是其他的能实现对应功能的数据。
其中,上一跳设备、下一跳设备是相对于当前设备来说的,表示数据请求从上一跳设备发送至当前设备,再从当前设备发送至下一跳设备。其中,数据请求从上一跳设备发送至当前设备,进行了一次跳跃,再从当前设备发送至下一跳设备,又进行了一次跳跃。
其中,跳跃数据包指的是数据请求在设备间跳跃的过程中,根据数据请求形成的用于表示该数据请求相关信息的数据包。其中,跳跃数据包中包括至少一个跳跃结构体。其中,跳跃数据包中的跳跃结构体的数量与数据请求从业务终端(请求端)发出后,所经过的可处理该数据请求的设备(服务器设备)的数量一致。例如,从请求端发出后,经过一个设备,那么对应的跳跃数据包中的跳跃结构体的数量为一个,经过二个设备,那么对应的跳跃数据包中的跳跃结构体的数量为两个。
一个跳跃结构体中包括连接池对象句柄、数据请求的请求标识、数据请求的处理状态、数据请求的请求内容。其中,数据请求的请求标识可以用请求ID来表示,该请求ID是在业务终端生成的,是唯一的,以用于来确定该业务终端的哪个数据请求;数据请求的请求标识来可以用其他标识来表示。数据请求的处理状态包括:未处理和已处理;表示是否完成了对来自于业务终端的数据请求的所有的响应处理,如果未完成,则处理状态为未处理,如果完成,则处理状态为已处理。可以理解地,对于如图1所示的情况,该数据请求达到违法行为判定服务器,由违法行为判定服务器进行响应处理之后,那么可修改数据请求的处理状态为已处理。
如图3所示,为本申请实施例提供的一个跳跃数据包的示意图。该跳跃数据包中包括一个跳跃结构体信息。该跳跃结构体信息中包括连接池对象句柄、请求标识、处理状态(未处理/已处理)、请求内容/应答内容。其中,在请求处理的跳跃数据包中跳跃结构体信息中对应的是请求内容,在返回的跳跃数据包中跳跃结构体信息中对应的是应答内容。
当接收到来自于上一跳设备的跳跃数据包时,确定上一跳设备和当前设备之间的连接池对象句柄,将连接池对象句柄确定为上一跳连接池对象句柄。
其中,确定上一跳设备和当前设备之间的连接池对象句柄的步骤,包括:获取上一跳设备与当前设备之间的连接链路,将该连接链路作为连接句柄;设置连接链路的连接使用序列号;将连接句柄和连接使用序列号作为上一跳设备和当前设备之间的连接池对象句柄。
102,控制当前设备对数据请求进行响应处理,以得到第一处理结果,并根据第一处理结果生成新的数据请求的请求内容。
需要提醒的是,步骤102至105针对的是当前设备不是最后一个处理数据请求的设备来进行说明的。
其中,由于不同的数据请求所实现的功能不同,因此,响应处理的具体处理步骤等也不同,在本申请实施例中对响应处理的具体步骤不做限定。
如针对图1中所示的情况,若当前设备为人脸识别服务器,则控制当前设备对视频监控服务器发送的数据请求进行响应处理,以得到第一处理结果,如对视频监控服务器发送的视频结构化数据进行人脸识别得到的第一处理结果为人脸识别的识别结果。根据人脸识别的识别结果生成新的数据请求的请求内容。
103,获取数据请求的请求标识,并设置数据请求的处理状态。
其中,在第一跳设备中,数据请求的请求标识携带于数据请求中,数据请求的请求标识直接从数据请求中获取,在第一跳设备中会生成跳跃数据包。在非第一跳设备中,数据请求的请求标识可以直接从跳跃数据包中获取,还可以通过其他方式获取。需要注意的是,无论数据请求经过了多少个服务器,数据请求的请求标识都指的是来自于业务终端的数据请求所对应的请求标识。
当当前设备不是最后一个处理数据请求的设备,设置数据请求的处理状态为未处理。其中,可根据业务逻辑所对应的代码来确定当前设备是否为最后一个处理数据请求的设备。如当确定代码执行到没有服务器的接口调用时,则确定当前设备是最后一个处理数据请求的设备,否则确定当前设备不是最后一个处理数据请求的设备。
104,根据上一跳连接池对象句柄、所获取的请求标识、所设置的数据请求的处理状态和新的数据请求的请求内容,生成新的跳跃结构体信息,并将新的跳跃结构体信息加入至跳跃数据包。
可以理解地,封装所确定的上一跳连接池对象句柄、所获取的请求标识、所设置的数据请求的处理状态和新的数据请求的请求内容,以生成新的跳跃结构体信息,并将新的跳跃结构体信息加入至跳跃数据包中。如将新的跳跃结构体信息加入至跳跃数据包的尾部。
假设接收到的上一跳设备发送的跳跃数据包中包括一个跳跃结构体信息(对应地,上一跳设备即理解为第一跳设备,即数据请求从业务终端发出后,经过了上一跳设备后,就到了当前设备),那么当前设备生成新的跳跃结构体信息,并加入至跳跃数据包之后,跳跃数据包中包括两个跳跃结构体信息,如图4a所示。图4a中的跳跃数据包中包括两个跳跃结构体信息,其中,第一个跳跃结构体信息由上一跳设备生成,该跳跃结构体信息中包括请求端连接池对象句柄、请求ID、未处理、请求内容。第二个跳跃结构体信息由当前设备生成,该跳跃结构体信息包括上一跳连接池句柄、请求ID、未处理、新的请求内容(新的数据请求的请求内容)。
可以理解地,接收到的上一跳设备发送的跳跃数据包中也可以包括不止一个跳跃结构体信息,那么上一跳设备不是第一跳设备,数据请求从业务终端发出后,经过多少个设备,则对应有多少个跳跃结构体信息。
105,将跳跃数据包发送至当前设备的下一跳设备,以使得下一跳设备对数据请求进行响应处理。
发送跳跃数据包至当前设备的下一跳设备,以使得下一跳设备对数据请求进行响应处理。需要注意的是,在当前设备中并没有保存该跳跃数据包,而是直接将跳跃数据包发送下一跳设备。可以理解地,跳跃数据包中携带有数据请求的相关信息,而该相关信息只是在通信的设备之间传输,并没有在对应的设备中保存该跳跃数据包。
本申请实施例中通过连接池对象句柄保存上一跳设备与当前设备之间的连接链路,以在当前设备返回应答消息时可通过连接链路进行返回;通过跳跃数据包中跳跃结构体的设计,来保存数据请求的请求标识、请求内容/应答内容、数据请求的处理状态,以在返回时根据请求标识来确定对应哪个数据请求,并通过处理状态确定对应设备是否响应了该数据请求等。本申请实施例将生成的连接池对象句柄、数据请求的请求标识和数据请求的处理状态、数据请求的请求内容/应答内容等都封装跳跃数据包中,并发送该跳跃数据包。如此使得与数据请求相关的信息都在跳跃数据包中,无需在设备中保存复杂的请求关系映射表,降低对复杂的请求关系映射表的维护成本,降低了设备存储空间的使用。
图5是本申请实施例提供的数据请求处理方法的另一流程示意图。该数据请求处理方法包括步骤201至步骤211。
201,当接收到来自于上一跳设备的跳跃数据包时,确定上一跳设备和当前设备之间的连接池对象句柄,将连接池对象句柄确定为上一跳连接池对象句柄;跳跃数据包中包括至少一个跳跃结构体信息,跳跃结构体信息包括连接池对象句柄以及数据请求的请求标识、数据请求的处理状态、数据请求的请求内容。
202,在当前设备中保存上一跳连接池对象句柄。
当确定上一跳连接池对象句柄之后,在当前设备中保存上一跳连接池对象句柄。在上文中提到,当有其他设备与当前设备连接时,会对应一个连接使用序列号,当该设备断开与当前设备的连接时,也会对应一个连接使用序列号,而连接池对象句柄中包括使用序列号和连接链路。因此,当有其他设备与当前设备连接/断开连接时,所对应的上一跳连接池对象句柄会存在不同。
可以理解地,当前设备生成跳跃数据包时使用的是上一跳设备与当前设备连接时所对应的上一跳连接池对象句柄,而当返回跳跃数据包时,跳跃数据包中的上一跳连接池对象句柄并没有改变。若在返回跳跃数据包的过程中,当上一跳设备与当前设备之间的连接链路出现异常而导致上一跳设备与当前设备断开连接时,更改上一跳设备与当前设备之间的上一跳连接池对象句柄,那么保存在当前设备的上一跳连接池对象句柄发出了变化。因此,通过保存在当前设备中的该上一跳连接池对象句柄来确定上一跳设备是否与当前设备断开连接。
由于连接池对象句柄中包括连接链路和连接使用序列号,假设连接链路通过2个字节来表示,连接使用序列号使用2个字节来表示,如此,仅通过4个字节即可完美实现数据请求与应答消息的对应映射关系和异常情况的处理,无需构建复杂的请求关系映射表,请求关系映射表中每个数据请求所对应的相关信息远远大于4个字节,因此,使用本申请实施例中的方案大大降低了维护成本,降低了设备存储空间的使用。
在一种情况下,在当前设备中保存上一跳连接池对象句柄的步骤,包括:从预先设置的待使用配置列表中确定第一个配置单元作为目标配置单元,其中,所设置的每个配置单元所占用的内存地址保持不变;利用目标配置单元保存上一跳连接池对象句柄。其中,配置单元为当前设备的内存中用于存储的存储区域,每个配置单元所占用的内存地址保持不变,每个配置单元被配置为当有上一跳设备接入时,保存该上一跳设备与当前设备之间的上一跳连接池对象句柄,且在该上一跳设备断开连接时,更改配置单元的该上一跳设备与当前设备之间的上一跳连接池对象句柄。
创建的多个配置单元所占用的内存地址保持不变,即在内存中的位置不变。通过预先在内存中创建固定的多个配置单元,如此,当有上一跳设备接入时,即接收到数据请求时,不必再重新创建对应的用于保存上一跳连接池对象句柄的配置单元/信息表,直接使用预先创建的配置单元。节省了当前设备在接收到数据请求时,创建对应的用于保存上一跳连接池对象句柄的配置单元/信息表的时间和资源,提高了当前设备的响应速度,尤其是在当前设备同时接收到的数据请求的数量比较大时,提高当前设备的并发响应速度。
在一实施例中,在利用目标配置单元保存上一跳连接池对象句柄的步骤之后,还包括:将所述目标配置单元加入至已使用配置列表中。其中,待使用配置列表中的所有配置单元都是未使用的状态;已使用配置列表中的所有配置单元都是已使用的状态。需要注意的是,无论是待使用配置列表还是已使用配置列表中的每个配置单元所占用的内存地址都保存不变,可理解为,配置单元在内存中以常驻的形式存在。
在一实施例中,在从预先设置的待使用配置列表中确定第一个配置单元作为目标配置单元的步骤之前,还包括:确定待使用配置列表是否为空;当待使用配置列表为空时,根据配置单元所占用的存储区域大小创建预设数量的新的配置单元;并从新的配置单元中确定第一个配置单元作为目标配置单元;将未使用的新的配置单元加入至待使用配置列表中。
在一实施例中,在该上一跳设备断开与当前设备连接的预设时间之后、或者已经将当前设备中接收到的返回的跳跃数据包返回至上一跳设备之后,将保存该上一跳连接池对象句柄的目标配置单元清空,将该目标配置单元加入至待使用配置列表中,以释放保存上一跳连接池对象句柄的目标配置单元。
203,控制当前设备对数据请求进行响应处理,以得到第一处理结果,并根据第一处理结果生成新的数据请求的请求内容。
204,获取数据请求的请求标识,并设置数据请求的处理状态。
205,根据上一跳连接池对象句柄、所获取的请求标识、所设置的数据请求的处理状态和新的数据请求的请求内容,生成新的跳跃结构体信息,并将新的跳跃结构体信息加入至跳跃数据包。
206,将跳跃数据包发送至当前设备的下一跳设备,以使得下一跳设备对数据请求进行响应处理。
其中,步骤201与步骤101一致、步骤203至步骤206与步骤102至步骤105一致,具体请参看上文中的描述,在此不再赘述。
207,当接收到下一跳设备返回的跳跃数据包时,将跳跃数据包中当前设备所生成的跳跃结构体信息中的上一跳连接池对象句柄与当前设备中保存的上一跳连接池对象句柄进行匹配。
其中,跳跃数据包中的跳跃结构体信息若按照生成的时间顺序来从前往后排列的话,那么当当前设备接收到下一跳设备返回的跳跃数据包时,跳跃数据包中当前设备所生成的跳跃结构体是最后一个跳跃结构体。即将跳跃数据包中最后一个跳跃结构体信息中的连接池对象句柄与当前设备中保存的上一跳连接池对象句柄进行匹配。通过上文中介绍的可知,当上一跳设备与当前设备断开连接时,更改上一跳设备和当前设备之间的上一跳连接对象句柄,因此,在当前设备中保存的上一跳连接池对象句柄的值发生了改变。若跳跃数据包中最后一个跳跃结构体信息中的连接池对象句柄与当前设备中保存的上一跳连接池对象句柄匹配不成功,则意味着上一跳设备与当前设备断开了连接,若匹配成功,则意味着上一跳设备与当前设备仍保持着连接。
若匹配成功,则执行步骤208,若匹配不成功,则执行步骤212。
208,根据跳跃数据包中当前设备所生成的跳跃结构体信息中的请求标识所对应的应答内容和处理状态来对数据请求进行响应处理,以得到第二处理结果。
根据跳跃数据包中最后一个跳跃结构体信息中的请求标识所对应的应答内容和处理状态来对数据请求进行响应处理,以得到第二处理结果。其中,最后一个跳跃结构体信息中的请求标识所对应的应答内容和处理状态,是当前设备的下一跳设备确定并修改的。其中,下一跳设备对数据请求进行响应处理得到对应的处理结果后,修改当前设备所生成的跳跃结构体信息中的处理状态,将处理状态从“未处理”修改为“已处理”,根据对应的处理结果替换数据请求的请求内容。因此,当前设备接收到的跳跃数据包中的最后一个跳跃结构体信息中的应答内容为下一跳设备对数据请求进行响应处理得到的对应的处理结果。因此,当前设备根据最后一个跳跃结构体信息中的应答处理和处理状态来对数据请求进行响应处理,以得到第二处理结果。
其中,跳跃数据包中的跳跃结构体信息还可以按照其他的顺序排列。但无论以何种形式排列,当前设备接收到的跳跃数据包中都对应有当前设备所生成的跳跃结构体信息。当前设备所生成的跳跃结构体信息中的应答内容和处理状态是由下一跳设备来确定以及修改的。
需要注意的是,由于不同的数据请求所实现的功能不同,因此,响应处理的具体处理步骤等也不同,在本申请实施例中对响应处理的具体步骤不做限定。
如图4b所示,为本申请实施例提供的当前设备接收到的下一跳设备返回的跳跃数据包的示意图,以上一跳设备为第一跳设备为例来说明。当前设备接收到的下一跳设备返回的跳跃数据包中包括两个跳跃结构体信息。其中,第一个跳跃结构体信息由上一跳设备(即第一跳设备)生成,该跳跃结构体信息没有发生变化;第二个跳跃结构体信息由当前设备生成,该跳跃机构体信息中包括上一跳连接池对象句柄、请求ID、已处理、应答内容。其中,上一跳连接池对象句柄、请求ID没有发生变化,但已处理、应答内容是发生变化的内容。
209,删除跳跃数据包中的当前设备所生成的跳跃结构体信息。
由于当前设备已经根据所生成的跳跃结构体信息中返回的上一跳连接池对象句柄进行了上一跳设备是否与当前设备断开连接的判定,同时也已经根据返回的应答消息进行了响应处理,因此,删除跳跃数据包中的当前设备所生成的跳跃结构体信息,即将当前设备所生成的跳跃结构体信息中的所有信息(上一跳连接池对象句柄、请求ID、已处理、应答内容等)都进行删除。
如图4c所示,将跳跃数据包中的第二个跳跃结构体信息删除。
210,根据第二处理结果确定上一跳设备生成的跳跃结构体信息中的数据请求的处理状态和应答内容。
其中,步骤209至步骤210的执行顺序并不作具体限定,可并行执行,也可串行执行。
根据第二处理结果确定上一跳设备生成的跳跃结构体信息中的处理状态,将处理状态从“未处理”更改为“已处理”;并确定上一跳设备生成的跳跃结构体信息中的应答内容,将请求内容更换为应答内容,应该内容中包括第二处理结果。
如图4d所示,当前跳跃数据包中只剩下第一跳跃结构体信息,该第一跳跃结构体信息中包括:请求端连接池对象句柄、请求ID、已处理、应答内容。
211,根据上一跳连接池对象句柄将修改后的跳跃数据包返回至上一跳设备,以使得上一跳设备对数据请求进行响应处理。
根据当前设备中保存的上一跳连接池对象句柄中的连接链路将修改后的跳跃数据包返回至上一跳设备,以使得上一跳设备对数据请求进行响应处理。
其中,步骤203至211是基于当前设备不是最后一个处理数据请求的设备来描述的,因其步骤中涉及到下一跳设备等内容。
212,丢弃跳跃数据包。
即跳跃数据包中最后一个跳跃结构体信息中的连接池对象句柄与当前设备中保存的上一跳连接池对象句柄匹配不成功,则丢弃跳跃数据包。可以理解地,匹配不成功意味着上一跳设备与当前设备断开了连接,既然已经断开了连接,则无法发送该跳跃数据包,因此,直接丢弃该跳跃数据包。
上述实施例中当确定了上一跳连接池对象句柄后,在当前设备中保存该上一跳连接池对象句柄,由于上一跳连接池对象句柄可以占用很少的字节数,如占用4个字节,因此,相对于复杂的请求关系映射表来说,大大降低了维护成本,降低了设备存储空间的使用。若使用内存地址不变的配置单元来保存,则直接通过内存地址来进行管理,提高了管理效率,进一步降低了维护成本。该实施例也进一步限定了当前设备接收到跳跃数据包时,如何通过跳跃数据包中保存的当前设备所生成的跳跃结构体信息中的内容来进行相应的处理。如通过接收到的跳跃数据包中保存的当前设备所生成的跳跃结构体信息中的上一跳连接池对象句柄和当前设备中保存的上一跳连接池对象句柄进行比对,以判定上一跳设备与当前设备是否断开连接;通过跳跃数据包中保存的当前设备所生成的跳跃结构体信息中的应答消息进行响应处理,以得到第二处理结果等。
在一实施例中,若当前设备是最后一个处理数据请求的设备,当接收到来自于上一跳设备的跳跃数据包时,数据请求处理方法,还包括:控制当前设备对数据请求进行响应处理,以得到第三处理结果;根据第三处理结果确定跳跃数据包中上一跳设备生成的跳跃结构体信息中的应答内容和数据请求的处理状态,并更新上一跳设备生成的跳跃结构体信息中的应答内容和数据请求的处理状态。可以理解地,若当前设备是最后一个处理数据请求的设备,那么无需生成新的跳跃结构体信息,只需对数据请求进行处理,并根据得到的第三处理结果确定上一跳设备生成的跳跃结构体信息的处理状态和应答内容。
进一步地,若当前设备是最后一个处理数据请求的设备,在控制当前设备对数据请求进行响应处理,以得到第三处理结果的步骤之前,数据请求处理方法,还包括:在当前设备中保存上一跳连接池对象句柄,以在更新上一跳设备生成的跳跃结构体信息中的应答内容和数据请求的处理状态之后,将更新后的跳跃数据包根据保存的上一跳连接池对象句柄返回至上一跳设备。
在一实施例中,将请求端也即业务终端生成的数据请求发出后,经过的可处理该数据请求的第一个服务器设备作为第一跳设备,数据请求处理方法,还包括:当第一跳设备接收来自于业务终端发送的数据请求时,确定业务终端与第一跳设备之间的连接池对象句柄,并将连接池对象句柄确定为请求端连接池对象句柄;对数据请求进行响应处理,以得到第四处理结果,并根据第四处理结果生成新的数据请求的数据内容;获取数据请求的请求标识,并设置数据请求的处理状态;根据请求端连接池对象句柄、所获取的请求标识、所设置的处理状态和新的数据请求的数据内容,生成第一个跳跃结构体信息,以形成跳跃数据包,并将所形成的跳跃数据包发送至第一跳设备的下一跳数据。可以理解地,第一跳设备在接收到来自于业务终端发送的数据请求时,生成第一个跳跃结构体信息,该第一跳跃结构体信息形成跳跃数据包,并将该跳跃数据包发送至第一跳设备的下一跳设备。
进一步地,在确定请求端连接池对象句柄之后,数据请求处理方法,还包括:在第一跳设备中保存请求端连接池对象句柄。具体地保存请求端连接池对象句柄请参看上文中的保存上一跳连接池对象句柄的对应描述。
进一步地,数据请求处理方法,还包括:当第一跳设备接收到返回的跳跃数据包时,将跳跃数据包中请求端连接池对象句柄与第一跳设备中保存的连接池对象句柄进行匹配;若匹配成功,根据请求端连接池对象句柄将跳跃数据包的跳跃结构体中的应答消息返回至业务终端;若匹配失败,则丢弃跳跃数据包。
其中,上述实施例中,下一跳设备的处理步骤可参考当前设备的步骤描述。可以理解地,当前设备的下一跳设备到最后一个处理数据请求的设备之间可能还存在多个设备,该多个设备实现的步骤与当前设备实现的步骤一致。同样可以理解地,第一跳设备和当前设备之间可能还存在多个设备,该多个设备实现的步骤也可参看当前设备是非最后一个处理数据请求的设备时的步骤描述。
本申请实施例还提供了一种跳跃数据包的结构示意图,具体如图6所示。在图6中,跳跃数据包中包括一个跳跃结构体信息。该跳跃结构体信息中包括连接池对象句柄、请求标识、超时时间、处理状态(未处理/已处理)和请求内容/应答内容。其中,在请求处理的跳跃数据包中跳跃结构体信息中对应的是请求内容,在返回的跳跃数据包中跳跃结构体信息中对应的是应答内容。该跳跃数据包中的跳跃结构体信息与图3中所示的跳跃结构体信息的区别之处在于:增加了超时时间。该超时时间被配置为若计时时间达到超时时间,则向上一跳设备发送通知,以告知上一跳设备,当前设备的下一跳设备的在线状态,以使得向业务终端返回对应的在线状态的信息。其中,计时时间可从当前设备发出跳跃数据包时算起,以用于标识当前设备等待返回跳跃数据包的最大时间。该计时时间在接收到返回的跳跃数据包时置为零。例如,当计时时间达到超时时间时,告知上一跳设备,当前设备的下一跳设备不在线,如此,通过上一跳设备告知请求端数据请求的当前的处理情况。可以理解地,超时时间的设置可进一步解决在当前设备中的保存的连接池对象句柄与跳跃数据包中返回的上一跳连接池对象句柄匹配失败时,无任何返回信息的情况。通过超时时间的设置,以在计时时间达到超时时间时,告知业务终端,当前服务器不在线等情况。
下面将结合图1所示的场景对本申请实施例中的方案进行进一步地说明,以帮助理解本申请实施例中的方案。
业务终端通过网页等方式生成JSON文本形式或者XML形式等的数据请求,该数据请求中携带有请求ID,将该数据请求发送至服务器。该数据请求用于请求某路安防监控设备进行违法行为的判定。视频监控服务器作为第一跳服务器,接收该数据请求,确定业务终端与视频监控服务器之间的连接池对象句柄,将该连接池对象句柄确定为请求端连接池对象句柄,并将请求端连接池对象句柄保存至视频监控服务器中。
视频监控服务器对数据请求进行响应处理,如拉取对应的视频流,然后视频监控服务器会从视频流中采集视频结构化数据,根据采集的视频结构化数据生成新的数据请求的请求内容。视频监控服务器获取数据请求的请求ID、设置数据请求的处理状态为未处理;并根据请求端连接池对象句柄、请求ID、超时时间、处理状态(未处理)和新的数据请求的请求内容生成跳跃结构体信息,该跳跃结构体信息形成跳跃数据包,并将跳跃数据包发送至人脸识别服务器,人脸识别服务器作为视频监控服务器的下一跳服务器。当视频监控服务器接收到跳跃数据包/视频监控服务器发送跳跃数据包至人脸识别服务器时,超时时间所对应的计时时间开始计时。
视频监控服务器形成的跳跃数据包如图7a所示,人脸识别服务器接收到的跳跃数据包也如图7a所示。图7a中的跳跃数据包只有一个跳跃结构体信息,该跳跃结构体信息中包括请求端连接池对象句柄、请求ID、超时时间、未处理、请求内容。
人脸识别服务器接收到跳跃数据包时,确定视频监控服务器与人脸识别服务器之间的连接池对象句柄,将该连接池对象句柄作为视频连接池对象句柄,并将视频连接池对象句柄保存至人脸识别服务器中。人脸识别服务器根据跳跃数据包中的请求内容进行响应处理,以得到人脸识别的识别结果,并根据人脸识别的识别结果生成新的数据请求的请求内容。人脸识别服务器获取数据请求的请求ID、设置数据请求的处理状态为未处理;并根据视频连接池对象句柄、请求ID、超时时间、处理状态(未处理)和新的数据请求的请求内容生成跳跃结构体信息,将该跳跃结构体信息加入至跳跃数据包中。该跳跃数据包中包括两个跳跃结构体信息。人脸识别服务器将该跳跃数据包发送至违法行为判定服务器。当人脸服务器接收到跳跃数据包/人脸服务器发送跳跃数据包至违法行为判定服务器时,超时时间所对应的计时时间开始计时。
人脸识别服务器发送的跳跃数据包如图7b所示,违法行为判定服务器接收到的跳跃数据包也如图7b所示。图7b中的跳跃数据包中包括两个跳跃结构体信息。其中,第一个跳跃结构体信息由视频监控服务器生成,与图7a中的保持一致;第二个跳跃结构体信息由人脸识别服务器生成,该跳跃结构体信息中包括视频连接池对象句柄、请求ID、超时时间、未处理、请求内容。
违法行为判定服务器接收到人脸识别服务器发送的跳跃数据包,确定人脸识别服务器与违法行为判定服务器之间的连接池对象句柄,将该连接池对象句柄作为人脸连接池对象句柄,并将人脸连接池对象句柄保存至违法行为判定服务器中。违法行为判定服务器根据跳跃数据包中的请求内容进行响应处理,以得到违法行为判定的判定结果,并确定出违法行为判定服务器是最后一个处理数据请求的服务器,因此,根据判定结果确定应答内容,将应答内容写入至请求内容中;将处理状态从“未处理”更改为“已处理”。违法行为判定服务器根据人脸连接池对象句柄(和请求ID)将该更新后的跳跃数据包返回至人脸识别服务器。
违法行为判定服务器更新后的跳跃数据包如图7c所示,将该跳跃数据包返回至人脸识别服务器,人脸识别服务器接收到的跳跃数据包也如图7c所示。从图7c中可以看出,该跳跃数据包包括两个跳跃结构体信息。第一个跳跃结构体信息由视频监控服务器生成,当前第一个跳跃结构体信息的内容不变;第二个跳跃结构体信息由人脸识别服务器生成,该跳跃结构体中的处理状态为“已处理”,请求内容更新为违法行为判定服务器返回的应答内容。
人脸识别服务器接收到违法行为判定服务器返回的跳跃数据包后,根据跳跃数据包中第二个跳跃结构体信息中的视频连接池对象句柄(和请求ID)与人脸识别服务器中保存的视频连接池对象句柄(和请求ID)进行匹配,若匹配不成功,则丢弃该跳跃数据包;若匹配成功,从第二个跳跃结构体信息中获取应答内容,并根据应答内容进行响应处理,以得到处理结果。删除第二个跳跃结构体信息,并根据处理结果确定应答内容,将应答内容写入至第一个跳跃结构体信息中;修改第一个跳跃结构体信息中的处理状态为“已处理”,以得到更新后的跳跃数据包。
其中,人脸识别服务器更新后的跳跃数据包如图7d所示。图7d中的跳跃数据包中包括一个跳跃结构体信息,该跳跃结构体由视频监控服务器生成,且该跳跃结构体信息中的处理状态为“已处理”,应答内容为人脸识别服务器进行响应处理后的应答。
人脸识别服务器根据保存的视频连接池对象句柄将图7d所示的跳跃数据包,返回至视频监控服务器。视频监控服务器根据跳跃数据包中的请求端连接池对象句柄(和请求ID)与视频监控服务器中保存的请求端连接池对象句柄(和请求ID)进行匹配,若匹配失败,则丢弃跳跃数据包;如匹配成功,视频监控服务器根据跳跃数据包中的处理状态和应答内容确定无需进行处理;根据保存的请求端连接池对象句柄和请求ID来将应答内容返回至业务终端。
该具体业务场景中的内容与前面所述的方法内容一致,具体步骤和达到的有益效果请参看前面所述的方法中的描述,在此不再赘述。
其中,上述方法实施例中在应用层的消息发送层把类似的跳跃结构体信息生成,并直通过网络协议转化二进制传递到下一跳设备。在应用层结构中,不允许出现指针类似的成员,这样才能跳跃数据块在下一层次进行恢复。
图8是本申请实施例提供的数据请求处理装置的示意图。该数据请求处理装置应用于设备中,如当前设备中。该数据请求处理装置包括接收模块301、句柄确定模块302、获取设置模块304、响应处理模块303、生成模块305和发送模块306。
接收模块301,用于接收来自于上一跳设备的跳跃数据包。
句柄确定模块302,用于当接收到来自于上一跳设备的跳跃数据包时,生成上一跳设备和当前设备之间的连接池对象句柄,将连接池对象句柄确定为上一跳连接池对象句柄;该跳跃数据包中包括至少一个跳跃结构体信息,该跳跃结构体信息包括连接池对象句柄以及数据请求的请求标识、数据请求的处理状态、数据请求的请求内容。
响应处理模块303,用于控制当前设备对数据请求进行响应处理,以得到第一处理结果,并根据第一处理结果生成新的数据请求的请求内容。
获取设置模块304,用于若当前设备不是最后一个处理数据请求的设备,获取数据请求的请求标识,并设置数据请求的处理状态。
生成模块305,用于根据上一跳连接池对象句柄、所获取的请求标识、所设置的数据请求的处理状态和新的数据请求的请求内容,生成新的跳跃结构体信息,并将新的跳跃结构体信息加入至跳跃数据包。
发送模块306,用于将跳跃数据包发送至当前设备的下一跳设备,以使得下一跳设备对数据请求进行响应处理。
在一实施例中,如9所示,数据请求处理装置还包括删除模块307和内容确定模块308。其中,响应处理模块303,还用于当接收到所述下一跳设备返回的跳跃数据包时,根据跳跃数据包中所述当前设备所生成的跳跃结构体信息中的请求标识所对应的应答内容和处理状态来对所述数据请求进行响应处理,以得到第二处理结果。删除模块307,用于删除跳跃数据包中的当前设备所生成的跳跃结构体信息。内容确定模块308,用于根据第二处理结果确定上一跳设备生成的跳跃结构体信息中的数据请求的处理状态和应答内容。发送模块306,还用于根据上一跳连接池对象句柄将修改后的跳跃数据包返回至上一跳设备,以使得上一跳设备对数据请求进行响应处理。
在一实施例中,如图9所示,数据请求处理装置还包括保存模块309和匹配模块310。其中,保存模块309,用于将连接池对象句柄确定为上一跳连接池对象句柄之后,在当前设备中保存上一跳连接池对象句柄。匹配模块310,用于当接收到所述下一跳设备返回的跳跃数据包时,将跳跃数据包中所述当前设备所生成的跳跃结构体信息中的上一跳连接池对象句柄与当前设备中保存的上一跳连接池对象句柄进行匹配;若匹配成功,触发响应处理模块303,以用于根据跳跃数据包中最后一个跳跃结构体信息中的连接池对象句柄、请求标识所对应的应答内容和处理状态来对所述数据请求进行响应处理,以得到第二处理结果;若匹配不成功,丢弃跳跃数据包。
在一实施例中,响应处理模块303,还用于若所述当前设备是最后一个处理所述数据请求的设备,控制所述当前设备对所述数据请求进行响应处理,以得到第三处理结果。内容确定模块308,还用于根据所述第三处理结果确定所述跳跃数据包中所述上一跳设备生成的所述跳跃结构体信息中的应答内容和所述数据请求的处理状态。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现。以上装置和各模块的具体实现过程,以及所达到的有益效果,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
本申请实施例还提供数据请求处理系统。该数据请求处理系统包括上一跳设备、当前设备和下一跳设备。其中,上一跳设备、当前设备和下一跳设备所执行的步骤和达到的有益效果请参看上述中对应的描述,在此不再赘述。
本申请实施例还提供一种设备,该设备可以是上一跳设备,也可以是当前设备,还可以是下一跳设备。可以理解地,上一跳设备、当前设备和下一跳设备所对应的结构示意图相同。本申请实施例以当前设备为例进行说明。如图10所示,其示出了本申请实施例所涉及的设备的结构示意图,具体来讲:
该设备可以包括一个或者一个以上处理核心的处理器901、一个或一个以上计算机可读存储介质的存储器902、射频(Radio Frequency,RF)电路903、电源904、输入单元905、以及显示单元906等部件。本领域技术人员可以理解,图中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器901是该设备的控制中心,其中,处理器利用各种接口和线路连接整个设备的各个部分,通过运行或执行存储在存储器902内的软件程序和/或模块,以及调用存储在存储器902内的数据,执行设备的各种功能和处理数据,从而对设备进行整体监控。可选的,处理器可包括一个或多个处理核心;优选的,处理器可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解地是,上述调制解调处理器也可以不集成到处理器中。
存储器902可用于存储软件程序(计算机程序)以及模块,处理器901通过运行存储在存储器902的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器902可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器902还可以包括存储器控制器,以提供处理器901对存储器902的访问。
RF电路903可用于收发信息过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器901处理;另外,将涉及上行的数据发送给基站。通常,RF电路903包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路903还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobilecommunication)、通用分组无线服务(GPRS,General Packet Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband CodeDivision Multiple Access)、长期演进(LTE,Long Term Evolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
设备还包括给各个部件供电的电源904(比如电池),优选的,电源904可以通过电源管理系统与处理器901逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源904还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该设备还可包括输入单元905,该输入单元905可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体地实施例中,输入单元905可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器901,并能接收处理器901发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元905还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
该设备还可包括显示单元906,该显示单元906可用于显示由用户输入的信息或提供给用户的信息以及设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元906可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器901以确定触摸事件的类型,随后处理器901根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
尽管未示出,设备还可以包括摄像头(需要注意的是,该处的摄像头与上述所述的虚拟相机不同,该处的摄像头指的是硬件)、蓝牙模块等,在此不再赘述。具体在本实施例中,设备中的处理器901会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器902中,并由处理器901来运行存储在存储器902中的应用程序,从而实现各种功能,如下:
当接收到来自于上一跳设备的跳跃数据包时,确定所述上一跳设备和当前设备之间的连接池对象句柄,将所述连接池对象句柄确定为上一跳连接池对象句柄;所述跳跃数据包中包括至少一个跳跃结构体信息,所述跳跃结构体信息包括连接池对象句柄以及数据请求的请求标识、数据请求的处理状态、数据请求的请求内容;控制所述当前设备对所述数据请求进行响应处理,以得到第一处理结果,并根据所述第一处理结果生成新的数据请求的请求内容;获取数据请求的请求标识,并设置数据请求的处理状态;根据所述上一跳连接池对象句柄、所获取的请求标识、所设置的数据请求的处理状态和所述新的数据请求的请求内容,生成新的跳跃结构体信息,并将所述新的跳跃结构体信息加入至所述跳跃数据包;将所述跳跃数据包发送至所述当前设备的下一跳设备,以使得所述下一跳设备对所述数据请求进行响应处理。
该设备可以实现本申请实施例所提供的数据请求处理方法任一实施例中的步骤,因此,可以实现本申请实施例所提供的任一数据请求处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令(计算机程序)来完成,或通过指令(计算机程序)控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的数据请求处理方法中任一实施例的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一数据请求处理方法实施例中的步骤,因此,可以实现本发明实施例所提供的任一数据请求处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种数据请求处理方法、装置、系统、设备以及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种数据请求处理方法,其特征在于,包括:
当接收到来自于上一跳设备的跳跃数据包时,确定所述上一跳设备和当前设备之间的连接池对象句柄,将所述连接池对象句柄确定为上一跳连接池对象句柄;所述跳跃数据包中包括至少一个跳跃结构体信息,所述跳跃结构体信息包括连接池对象句柄以及数据请求的请求标识、数据请求的处理状态、数据请求的请求内容;
控制所述当前设备对所述数据请求进行响应处理,以得到第一处理结果,并根据所述第一处理结果生成新的数据请求的请求内容;
获取数据请求的请求标识,并设置数据请求的处理状态;
根据所述上一跳连接池对象句柄、所获取的请求标识、所设置的数据请求的处理状态和所述新的数据请求的请求内容,生成新的跳跃结构体信息,并将所述新的跳跃结构体信息加入至所述跳跃数据包;
将所述跳跃数据包发送至所述当前设备的下一跳设备,以使得所述下一跳设备对所述数据请求进行响应处理。
2.根据权利要求1所述的数据请求处理方法,其特征在于,还包括:
当接收到所述下一跳设备返回的跳跃数据包时,根据跳跃数据包中所述当前设备所生成的跳跃结构体信息中的请求标识所对应的应答内容和处理状态来对所述数据请求进行响应处理,以得到第二处理结果;
删除跳跃数据包中的所述当前设备所生成的跳跃结构体信息,并根据所述第二处理结果确定上一跳设备生成的跳跃结构体信息中的所述数据请求的处理状态和应答内容;
根据所述上一跳连接池对象句柄将修改后的跳跃数据包返回至所述上一跳设备,以使得所述上一跳设备对所述数据请求进行响应处理。
3.根据权利要求2所述的数据请求处理方法,其特征在于,在将所述连接池对象句柄确定为上一跳连接池对象句柄的步骤之后,所述数据请求处理方法还包括:在所述当前设备中保存所述上一跳连接池对象句柄;
当接收到所述下一跳设备返回的跳跃数据包时,所述数据请求处理方法还包括:将跳跃数据包中所述当前设备所生成的跳跃结构体信息中的上一跳连接池对象句柄与所述当前设备中保存的上一跳连接池对象句柄进行匹配;
若匹配成功,执行所述根据跳跃数据包中最后一个跳跃结构体信息中的连接池对象句柄、请求标识所对应的应答内容和处理状态来对所述数据请求进行响应处理,以得到第二处理结果的步骤;
若匹配失败,则丢弃所述跳跃数据包。
4.根据权利要求3所述的数据请求处理方法,其特征在于,所述在所述当前设备中保存所述上一跳连接池对象句柄的步骤,包括:
从预先设置的待使用配置列表中确定第一个配置单元作为目标配置单元,其中,所设置的每个配置单元所占用的内存地址保持不变;
利用所述目标配置单元保存所述上一跳连接池对象句柄。
5.根据权利要求1所述的数据请求处理方法,其特征在于,还包括:
若所述当前设备是最后一个处理所述数据请求的设备,控制所述当前设备对所述数据请求进行响应处理,以得到第三处理结果;
根据所述第三处理结果确定所述跳跃数据包中所述上一跳设备生成的所述跳跃结构体信息中的应答内容和所述数据请求的处理状态。
6.根据权利要求1所述的数据请求处理方法,其特征在于,还包括:
当第一跳设备接收来自于业务终端发送的数据请求时,确定业务终端与所述第一跳设备之间的连接池对象句柄,并将所述连接池对象句柄确定为请求端连接池对象句柄;
对所述数据请求进行响应处理,以得到第四处理结果,并根据所述第四处理结果生成新的数据请求的数据内容;
获取所述数据请求的请求标识,并设置所述数据请求的处理状态;
根据所述请求端连接池对象句柄、所获取的所述请求标识、所设置的所述处理状态和所述新的数据请求的数据内容,生成第一个跳跃结构体信息,以形成跳跃数据包,并将所述跳跃数据包发送至所述第一跳设备的下一跳设备。
7.根据权利要求6所述的数据请求处理方法,其特征在于,还包括:
当所述第一跳设备接收到返回的跳跃数据包时,将跳跃数据包中请求端连接池对象句柄与所述第一跳设备中保存的连接池对象句柄进行匹配;
若匹配成功,根据请求端连接池对象句柄将跳跃数据包的跳跃结构体中的应答消息返回至业务终端;
若匹配失败,则丢弃所述跳跃数据包。
8.根据权利要求1所述的数据请求处理方法,其特征在于,所述确定所述上一跳设备和当前设备之间的连接池对象句柄的步骤,包括:
获取所述上一跳设备与所述当前设备之间的连接链路,将所述连接链路作为连接句柄;
设置所述连接链路的连接使用序列号;
将所述连接句柄和所述连接使用序列号作为所述上一跳设备和当前设备之间的连接池对象句柄。
9.根据权利要求1所述的数据请求处理方法,其特征在于,还包括:
当所述上一跳设备断开与所述当前设备的连接时,更改所述上一跳设备和当前设备之间的上一跳连接池对象句柄。
10.一种数据请求处理装置,其特征在于,包括:
接收模块,用于接收来自于上一跳设备的跳跃数据包;
句柄确定模块,用于当接收到来自于上一跳设备的跳跃数据包时,生成所述上一跳设备和当前设备之间的连接池对象句柄,将所述连接池对象句柄确定为上一跳连接池对象句柄;所述跳跃数据包中包括至少一个跳跃结构体信息,所述跳跃结构体信息包括连接池对象句柄以及数据请求的请求标识、数据请求的处理状态、数据请求的请求内容;
响应处理模块,用于控制所述当前设备对所述数据请求进行响应处理,以得到第一处理结果,并根据所述第一处理结果生成新的数据请求的请求内容;
获取设置模块,用于获取数据请求的请求标识,并设置数据请求的处理状态;
生成模块,用于根据所述上一跳连接池对象句柄、所获取的请求标识、所设置的数据请求的处理状态和所述新的数据请求的请求内容,生成新的跳跃结构体信息,并将所述新的跳跃结构体信息加入至所述跳跃数据包;
发送模块,用于将所述跳跃数据包发送至所述当前设备的下一跳设备,以使得所述下一跳设备对所述数据请求进行响应处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110443714.XA CN112866422B (zh) | 2021-04-23 | 2021-04-23 | 一种数据请求处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110443714.XA CN112866422B (zh) | 2021-04-23 | 2021-04-23 | 一种数据请求处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112866422A true CN112866422A (zh) | 2021-05-28 |
CN112866422B CN112866422B (zh) | 2021-07-13 |
Family
ID=75992793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110443714.XA Active CN112866422B (zh) | 2021-04-23 | 2021-04-23 | 一种数据请求处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112866422B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114675908A (zh) * | 2022-05-27 | 2022-06-28 | 武汉中科通达高新技术股份有限公司 | 业务数据处理系统、方法、计算机设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895376A (zh) * | 2010-08-06 | 2010-11-24 | 浙江大学 | 用于实现多跳无线网络中数据广播的传输方法 |
US20110161400A1 (en) * | 2009-11-17 | 2011-06-30 | Vladimir Silyaev | Method and system for providing complete internet anywhere with full server assisted processing |
CN102710743A (zh) * | 2012-04-16 | 2012-10-03 | 杭州斯凯网络科技有限公司 | 手持终端apn自适应的无线接入方法 |
CN102884779A (zh) * | 2010-02-24 | 2013-01-16 | 数字标记公司 | 直觉计算方法和系统 |
CN106529619A (zh) * | 2016-10-25 | 2017-03-22 | 罗伟坚 | 检测机动车身份正伪的方法及系统 |
CN108989203A (zh) * | 2017-05-31 | 2018-12-11 | 瞻博网络公司 | 通告用于虚拟节点中的服务路由的选定结构路径 |
CN110336844A (zh) * | 2019-03-21 | 2019-10-15 | 国网山东省电力公司 | 基于服务架构的站端系统协作机制实现方法 |
US20200076903A1 (en) * | 2015-09-10 | 2020-03-05 | International Business Machines Corporation | Handling multi-pipe connections |
-
2021
- 2021-04-23 CN CN202110443714.XA patent/CN112866422B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110161400A1 (en) * | 2009-11-17 | 2011-06-30 | Vladimir Silyaev | Method and system for providing complete internet anywhere with full server assisted processing |
CN102884779A (zh) * | 2010-02-24 | 2013-01-16 | 数字标记公司 | 直觉计算方法和系统 |
CN101895376A (zh) * | 2010-08-06 | 2010-11-24 | 浙江大学 | 用于实现多跳无线网络中数据广播的传输方法 |
CN102710743A (zh) * | 2012-04-16 | 2012-10-03 | 杭州斯凯网络科技有限公司 | 手持终端apn自适应的无线接入方法 |
US20200076903A1 (en) * | 2015-09-10 | 2020-03-05 | International Business Machines Corporation | Handling multi-pipe connections |
CN106529619A (zh) * | 2016-10-25 | 2017-03-22 | 罗伟坚 | 检测机动车身份正伪的方法及系统 |
CN108989203A (zh) * | 2017-05-31 | 2018-12-11 | 瞻博网络公司 | 通告用于虚拟节点中的服务路由的选定结构路径 |
CN110336844A (zh) * | 2019-03-21 | 2019-10-15 | 国网山东省电力公司 | 基于服务架构的站端系统协作机制实现方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114675908A (zh) * | 2022-05-27 | 2022-06-28 | 武汉中科通达高新技术股份有限公司 | 业务数据处理系统、方法、计算机设备及存储介质 |
CN114675908B (zh) * | 2022-05-27 | 2022-08-26 | 武汉中科通达高新技术股份有限公司 | 业务数据处理系统、方法、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112866422B (zh) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11025963B2 (en) | Data processing method, apparatus, and system for live streaming page | |
CN105119806B (zh) | 消息更新方法及装置 | |
CN104618217B (zh) | 分享资源的方法、终端、服务器及系统 | |
CN104518953A (zh) | 删除消息的方法、即时通信终端及系统 | |
CN103942113A (zh) | 系统重启原因的检测方法、装置及终端设备 | |
CN103455330A (zh) | 应用程序管理方法、终端、设备及系统 | |
CN112995239B (zh) | 一种数据处理方法和装置 | |
CN109428839B (zh) | 一种cdn调度方法、设备及系统 | |
CN104142868A (zh) | 建立连接的方法及装置 | |
CN104618223A (zh) | 一种信息推荐的管理方法、装置和系统 | |
CN103177217B (zh) | 一种文件扫描方法、系统及客户端和服务器 | |
CN104519262A (zh) | 获取视频数据的方法、装置及终端 | |
CN113038090B (zh) | 一种传输链路管理方法和系统 | |
CN105530239A (zh) | 多媒体数据获取方法及装置 | |
CN105530222A (zh) | 多终端之间的连接建立方法、装置和系统 | |
CN112866422B (zh) | 一种数据请求处理方法和装置 | |
CN104391629A (zh) | 定向发送消息的方法、显示消息的方法、服务器及终端 | |
CN106708501A (zh) | 活动监控方法及装置 | |
CN103944922A (zh) | 一种数据处理的方法、终端、服务器及系统 | |
CN104133693B (zh) | 安装状态检测方法、装置及终端 | |
CN105553718A (zh) | 引导信息显示方法及装置 | |
CN107766351B (zh) | 文件目录的识别方法及装置 | |
CN107203427B (zh) | 应用多开模式中的进程控制方法、装置及移动终端 | |
CN113965915B (zh) | 数据处理方法和电子设备 | |
CN113039517A (zh) | 一种音频资源调用的方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |