一种基于HTTP的跨网络数据交互方法和装置与流程

文档序号:33644599发布日期:2023-03-29 03:09阅读:50来源:国知局
一种基于HTTP的跨网络数据交互方法和装置与流程
一种基于http的跨网络数据交互方法和装置
技术领域
1.本发明涉及数据库技术和信息技术互联网领域,更具体地,涉及一种基于http的跨网络数据交互方法和装置。


背景技术:

2.在远程数据请求的应用场景中包括两种情况,一是发起数据请求胡,服务端可以立即将数据结果返回;二是发起请求后,不一定能够立即将数据结果返回,且不确定服务端的处理时长。
3.当前,远程数据请求的普遍方式是通过向远端服务器发起http请求并由远端服务器响应实现。其中,http请求主要分为请求和响应两个过程。
4.这种方式客户端通过发起http请求向服务端请求数据的过程必须是连续、不能中断的,否则就会导致http请求失败。同时,在与服务端建立连接等待数据返回的过程中,客户端与服务端的连接将处于阻塞状态,只能等待当前数据请求任务处理结束,才能处理其它数据请求任务,否则其它数据请求任务不能被处理,只能等待。这种方式仅适合于发送数据请求便能够立即返回处理结果的应用场景(如数据查询场景);对于发送数据请求不一定能够立即返回处理结果的应用场景(如数据分析场景)则完全不适用。首先,该场景下通过发起http请求向服务端请求数据的过程不是连续的,中间存在间断,这会导致基于http协议的数据请求失败;其次,服务端处理数据请求的时长不能确定,这样会导致客户端与服务端的连接一直处于阻塞状态,其它数据请求任务一直在排队,无法被处理,因此大幅延长远程数据请求的等待时间,降低数据请求任务的处理效率。由此可见,单纯通过现有http请求的方式,并不能全面地满足应用场景需求。
5.基于此,有必要引入一种新的方法及系统,能够适用发送数据请求不一定能够立即返回处理结果的应用场景,以解决现有技术中数据请求处理过程不能中断导致数据请求任务处理失败、数据请求任务无法并行处理导致处理效率低下的技术难题,进而实现多个远程数据请求任务的并行处理,以及不同应用场景中不同类型远程数据请求的混合处理,提升基于http的跨网络数据交互系统的场景适应性、处理能力和响应速度。


技术实现要素:

6.针对上面提到的技术问题,本发明提供一种基于http的跨网络数据交互方法和装置,基于http协议,通过为不同类型远程数据请求提供数据接口同步代理方式和数据接口异步代理方式,并根据数据接口代理方式调用对应的数据接口,实现对不同类型远程数据请求的并行处理,及未完成数据请求任务的监督和已完成数据请求任务的处理,解决了现有技术中数据请求处理过程不能中断导致数据请求任务处理失败、数据请求任务无法并行处理导致处理效率低下的技术问题,进而提升基于http的跨网络数据交互系统的场景适应性、处理能力和响应速度。
7.本发明提供一种基于http的跨网络数据交互方法,所述方法包括:
8.s1,确定数据接口代理方式:分析数据请求,为数据请求添加代理方式标记并确定数据接口代理方式;
9.s2,数据请求预处理:获取数据处理平台的数据接口声明信息,根据所述数据接口声明信息对添加了所述代理方式标记的所述数据请求进行封装;
10.s3,数据请求处理,根据已确定的数据接口代理方式,通过代理客户端将封装好的所述数据请求发送至代理服务端,通过数据处理平台进行处理,并返回处理结果;
11.其中,所述数据接口代理方式包括数据接口同步代理方式和数据接口异步代理方式;
12.所述数据接口包括同步代理数据接口和异步代理数据接口;
13.所述代理方式标记包括同步代理方式标记和异步代理方式标记;
14.所述数据接口声明信息包括数据接口路径、数据接口请求路径、数据接口请求参数;
15.所述数据接口请求路径由所述数据接口路径和所述代理方式标记生成。
16.如上所述,分析数据请求,为数据请求添加代理方式标记并确定数据接口代理方式的步骤为:
17.确定请求类型,所述代理客户端接收数据请求,并根据数据请求信息,得到数据请求类型;
18.添加代理方式标记,根据所述数据请求类型为所述数据请求添加所述代理方式标记,并确定所述数据接口路径;
19.确定代理方式,根据所述代理方式标记和所述数据接口路径生成所述数据接口请求路径,并确定所述数据接口代理方式;
20.其中,当所述数据请求类型为数据查询请求时,添加的所述代理方式标记为所述同步代理方式标记,所述数据接口代理方式为所述数据接口同步代理方式;当所述数据请求类型为数据分析请求时,添加的所述代理方式标记为所述异步代理方式标记,所述数据接口代理方式为所述数据接口异步代理方式。
21.如上所述,所述数据接口同步代理方式的步骤为:
22.数据请求封装,所述代理客户端根据所述同步代理方式标记和所述数据接口声明信息对同步数据请求进行封装;
23.发送同步数据请求,所述代理客户端将封装好的所述同步数据请求发送至所述代理服务端,并由所述代理服务端转发至所述同步代理数据接口进行处理;
24.返回处理结果,所述代理服务端通过所述同步代理数据接口获取所述同步数据请求的处理结果后,返回给所述代理客户端。
25.如上所述,所述数据接口异步代理方式的步骤为:
26.数据请求预处理:对数据请求信息进行封装处理,所述代理客户端为异步数据请求添加任务id和任务处理状态标记,并根据所述异步代理方式标记和所述数据接口声明信息将所述任务id、所述任务处理状态标记、所述数据接口请求路径、所述数据接口请求参数和所述异步代理方式标记进行封装,得到封装信息和异步结果回调路径;
27.发送请求,所述代理客户端将所述封装信息发送至所述代理服务端,并由所述代理服务端转发至所述异步代理数据接口进行处理;
28.任务监督,所述代理客户端将所述封装信息发送至所述代理服务端后,根据所述任务处理状态标记定时对所述异步数据请求的任务处理状态进行监督;
29.返回结果,并释放数据处理资源;
30.其中,所述任务处理状态标记包括完成和未完成。
31.如上所述,所述代理客户端将所述封装信息发送至所述代理服务端后,根据所述任务处理状态标记定时对所述异步数据请求的任务处理状态进行监督的步骤为:
32.根据所述任务处理状态标记,所述代理客户端定时向所述代理服务端发送任务监督请求,查询未完成的所述异步数据请求的任务处理状态;
33.所述代理服务端接收所述任务监督请求,并根据所述异步数据请求的处理结果向所述代理客户端返回任务监督处理结果,如果所述代理服务端存在处理结果,则返回的所述任务监督处理结果为所述处理结果;如果所述代理服务端不存在所述处理结果,则返回的所述任务监督处理结果为任务未完成信息;
34.所述代理客户端接收所述任务监督处理结果,并根据所述任务监督处理结果更新所述任务处理状态标记,如果所述任务监督处理结果为所述处理结果,则将所述任务处理状态标记更新为完成。
35.如上所述,返回结果,并释放数据处理资源的步骤为:
36.所述代理服务端通过所述异步代理数据接口获取所述处理结果;
37.当所述代理客户端向所述代理服务端发送所述任务监督请求后,获取的所述任务监督处理结果为所述处理结果时,所述代理服务端通过所述异步结果回调路径将所述处理结果返回至所述代理客户端;
38.所述代理客户端接收并缓存所述处理结果,并将所述异步数据请求的任务id发送至所述代理服务端;
39.所述代理客户端和所述代理服务端分别根据所述任务id删除所述封装信息和所述异步结果回调路径,释放数据处理资源。
40.相应的,本发明还提供了一种实施所述基于http的跨网络数据交互方法的装置,所述装置包括数据代理客户端单元和数据代理服务端单元;
41.其中,所述数据代理客户端单元部署在数据调用方,用于接收和处理数据调用方的数据请求,并将处理后的数据请求转发至所述数据代理服务端单元,以及将所述数据代理服务端单元回传的处理结果转发至所述数据调用方;
42.所述数据代理服务端单元部署在数据平台方,用于接收所述数据代理客户端单元转发的所述数据请求,并调用数据平台方提供的数据接口对所述数据请求进行处理,并将处理结果返回所述数据代理客户端单元。
43.如上所述,所述数据代理客户端单元包括任务转发模块、未完成任务监督模块、已完成任务处理模块;所述数据代理服务端单元包括接收任务模块、检查任务模块、更新任务状态模块和清除已完成任务模块;
44.其中,
45.所述任务转发模块,用于对数据请求信息进行封装处理,所述数据代理客户端单元为异步数据请求添加任务id和任务处理状态标记,并根据所述异步代理方式标记和所述数据接口声明信息将所述任务id、所述任务处理状态标记、所述数据接口请求路径、所述数
据接口请求参数和所述代理方式标记进行封装,得到封装信息和异步结果回调路径,并将所述封装信息发送至所述数据代理服务端单元;
46.所述未完成任务监督模块,用于将所述封装信息发送至所述数据代理服务端单元后,将提交的数据请求任务存储在本地缓存中,根据任务处理状态标记定时检查本地未完成的任务,并向所述数据代理服务端单元获取未完成数据请任务处理状态,如果数据请求任务在所述数据代理服务端单元已经有处理结果,就将所述数据请求任务的结果返回,并存储到本地的缓存中,以备已完成任务处理模块继续处理所述处理结果;
47.所述已完成任务处理模块,用于定时检查本地缓存中是否更新了未完成任务的结果,如果存在结果,则通过所述数据代理客户端单元提供的处理结果回调接口将处理结果返回给所述数据代理客户端单元,并根据所述任务id释放所述数据请求的任务处理资源;
48.所述接收任务模块,用于接收并存储所述数据代理客户端单元转发的所述封装信息和所述任务id,并将数据请求转发到数据平台的数据接口;
49.所述检查任务模块,用于在接收到所述数据代理客户端单元发送的所述任务监督请求时,查询数据请求任务的任务处理状态;如果所述任务处理状态标记为未完成,则返回未完成信息,如果查询到数据请求任务已有处理结果,则获取并返回处理结果;
50.所述更新任务状态模块,用于在数据接口处理完数据请求后,将所述处理结果通过所述数据代理服务端单元的更新结果接口发送给所述数据代理服务端单元,并将处理结果更新到本地缓存中,以备查询;
51.所述清除已完成任务模块,用于接收所述数据代理客户端单元发送的任务处理完成通知,并根据已完成任务的所述任务id,释放数据处理资源。
52.本发明通过应用以上技术方案,实现了基于http协议,通过为不同类型远程数据请求提供的数据接口同步代理方式和数据接口异步代理方式,以及对应的数据接口,完成对不同类型远程数据请求的并行处理,及未完成数据请求任务的监督和已完成数据请求任务的处理,解决了现有技术中数据请求处理过程不能中断导致数据请求任务处理失败、数据请求任务无法并行处理导致处理效率低下等技术问题,提升了基于http的跨网络数据交互系统的场景适应性、处理能力和响应速度。
附图说明
53.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
54.图1示出了本发明实施例的一种基于http的跨网络数据交互方法的流程示意图;
55.图2示出了本发明实施例的一种基于http的跨网络数据交互方法的为数据请求添加代理方式标记并确定数据接口代理方式的流程示意图;
56.图3示出了本发明实施例的一种基于http的跨网络数据交互方法的数据接口同步代理方式的流程示意图;
57.图4示出了本发明实施例的一种基于http的跨网络数据交互方法的数据接口异步代理方式的流程示意图;
58.图5示出了本发明实施例的一种基于http的跨网络数据交互装置的结构示意图。
具体实施方式
59.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
60.本发明提供一种基于http的跨网络数据交互方法,如图1所示,所述方法包括以下步骤:
61.s101,确定数据接口代理方式:分析数据请求,为数据请求添加代理方式标记并确定数据接口代理方式。
62.本实施例中,所述数据接口代理方式包括数据接口同步代理方式和数据接口异步代理方式,所述代理方式标记包括同步代理方式标记和异步代理方式标记。
63.s102,数据请求预处理:获取数据处理平台的数据接口声明信息,根据所述数据接口声明信息对添加了所述代理方式标记的所述数据请求进行封装。
64.本实施例中,所述数据接口包括同步代理数据接口和异步代理数据接口,所述数据接口声明信息包括数据接口路径、数据接口请求路径、数据接口请求参数、代理方式标记;所述数据接口请求路径由所述数据接口路径和所述代理方式标记生成。
65.例如,所述同步代理方式标记为“/sync/”,所述异步代理方式标记为“/async/”,数据平台方提供的所述同步代理数据接口的数据接口路径为“/abc”,所述异步代理数据接口的数据接口路径为“/def”,则通过同步代理方式的调用所述同步代理数据接口的数据接口请求路径为“/sync/abc”,通过异步代理方式的调用所述异步代理数据接口的数据接口请求路径为“/async/def”。
66.s103,数据请求处理,根据已确定的数据接口代理方式,通过代理客户端将封装好的所述数据请求发送至代理服务端,通过数据处理平台进行处理,并返回处理结果。
67.如图2所示,分析数据请求,为数据请求添加代理方式标记并确定数据接口代理方式的步骤为:
68.s201,确定请求类型,所述代理客户端接收数据请求,并根据数据请求信息,得到所述数据接口请求参数和数据请求类型。
69.s202,添加代理方式标记,根据所述数据请求类型为所述数据请求添加所述代理方式标记,并确定所述数据接口路径。
70.s203,确定代理方式,根据所述代理方式标记和所述数据接口路径生成所述数据接口请求路径,并确定所述数据接口代理方式。
71.本实施例中,当所述数据请求类型为数据查询请求时,添加的所述代理方式标记为所述同步代理方式标记,所述数据接口代理方式为所述数据接口同步代理方式;当所述数据请求类型为数据分析请求时,添加的所述代理方式标记为所述异步代理方式标记,所述数据接口代理方式为所述数据接口异步代理方式。
72.例如,所述同步代理方式标记为“/sync/”,所述异步代理方式标记为“/async/”,数据平台方提供的所述同步代理数据接口的数据接口路径为“/abc”,所述异步代理数据接
口的数据接口路径为“/def”;
73.当所述数据请求类型为数据查询请求时,添加的所述代理方式标记为“/sync/”,通过“/sync/”,代理客户端和代理服务端就能够判断出数据请求的代理方式为同步代理方式,调用的所述同步代理数据接口的数据接口请求路径为“/sync/abc”;
74.当所述数据请求类型为数据分析请求时,添加的所述代理方式标记为“/async/”,通过“/async/”,代理客户端和代理服务端就能够判断出数据请求的代理方式为异步代理方式,调用的所述异步代理数据接口的数据接口请求路径为“/async/def”。
75.如图3所示,所述数据接口同步代理方式的步骤为:
76.s301,数据请求封装,所述代理客户端根据所述同步代理方式标记和所述数据接口声明信息对同步数据请求进行封装。
77.s302,发送同步数据请求,所述代理客户端将封装好的所述同步数据请求发送至所述代理服务端,并由所述代理服务端转发至所述同步代理数据接口进行处理。
78.s303,返回处理结果,所述代理服务端通过所述同步代理数据接口获取所述同步数据请求的处理结果后,返回给所述代理客户端。
79.如图4所示,所述数据接口异步代理方式的步骤为:
80.s401,数据请求预处理:对数据请求信息进行封装处理,所述代理客户端为异步数据请求添加任务id和任务处理状态标记,并根据所述异步代理方式标记和所述数据接口声明信息将所述任务id、所述任务处理状态标记、所述数据接口请求路径、所述数据接口请求参数和所述异步代理方式标记进行封装,得到封装信息和异步结果回调路径;
81.其中,所述任务处理状态标记包括完成和未完成。
82.s402,发送请求,所述代理客户端将所述封装信息发送至所述代理服务端,并由所述代理服务端转发至所述异步代理数据接口进行处理。
83.s403,任务监督,所述代理客户端将所述封装信息发送至所述代理服务端后,根据所述任务处理状态标记定时对所述异步数据请求的任务处理状态进行监督。
84.为了高效的对未完成数据请求任务进行任务监督,在本发明的一些实施例中,所述代理客户端将所述封装信息发送至所述代理服务端后,根据所述任务处理状态标记定时对所述异步数据请求的任务处理状态进行监督的步骤,具体为:
85.根据所述任务处理状态标记,所述代理客户端定时向所述代理服务端发送任务监督请求,查询未完成的所述异步数据请求的任务处理状态;
86.所述代理服务端接收所述任务监督请求,并根据所述异步数据请求的处理结果向所述代理客户端返回任务监督处理结果,如果所述代理服务端存在处理结果,则返回的所述任务监督处理结果为所述处理结果;如果所述代理服务端不存在所述处理结果,则返回的所述任务监督处理结果为任务未完成信息;
87.所述代理客户端接收所述任务监督处理结果,并根据所述任务监督处理结果更新所述任务处理状态标记,如果所述任务监督处理结果为所述处理结果,则将所述任务处理状态标记更新为完成。
88.s404,返回结果,并释放数据处理资源。
89.为了准确返回结果并有效利用处理资源,在本发明的一些实施例中,返回结果,并释放数据处理资源的步骤,具体为:
90.所述代理服务端通过所述异步代理数据接口获取所述处理结果;
91.当所述代理客户端向所述代理服务端发送所述任务监督请求后,获取的所述任务监督处理结果为所述处理结果时,所述代理服务端通过所述异步结果回调路径将所述处理结果返回至所述代理客户端;
92.所述代理客户端接收并缓存所述处理结果,并将所述异步数据请求的任务id发送至所述代理服务端;
93.所述代理客户端和所述代理服务端分别根据所述任务id删除所述封装信息和所述异步结果回调路径,释放数据处理资源。
94.通过应用以上技术方案,分析数据请求,为数据请求添加代理方式标记并确定数据接口代理方式;获取数据处理平台的数据接口声明信息,根据所述数据接口声明信息对添加了所述代理方式标记的所述数据请求进行封装;根据已确定的数据接口代理方式,通过代理客户端将封装好的所述数据请求发送至代理服务端,通过数据处理平台进行处理,并返回处理结果,实现了基于http协议,为不同类型远程数据请求提供不同的数据接口同步代理方式、数据接口异步代理方式和数据接口,对不同类型远程数据请求的并行处理,及未完成数据请求任务的监督和已完成数据请求任务的处理,未完成数据请求任务并不会影响其它数据请求任务的处理,数据请求过程中断也不会导致数据请求处理失败,解决了现有技术中数据请求处理过程不能中断导致数据请求任务处理失败、数据请求任务无法并行处理导致处理效率低下等技术问题,提升了基于http的跨网络数据交互系统的场景适应性、处理能力和响应速度。
95.与本发明实施例中的一种所述基于http的跨网络数据交互方法相对应,本发明还公开了一种基于http的跨网络数据交互装置,如图5所示,所述装置包括数据代理客户端单元501和数据代理服务端单元502;
96.数据代理客户端单元501部署在数据调用方,用于接收和处理数据调用方的数据请求,并将处理后的数据请求转发至所述数据代理服务端单元,以及将所述数据代理服务端单元回传的处理结果转发至所述数据调用方。
97.数据代理服务端单元502部署在数据平台方,用于接收所述数据代理客户端单元转发的所述数据请求,并调用数据平台方提供的数据接口对所述数据请求进行处理,并将处理结果返回所述数据代理客户端单元。
98.本实施例中,所述数据代理客户端单元501包括任务转发模块501-1、未完成任务监督模块501-2、已完成任务处理模块501-3;所述数据代理服务端单元包括接收任务模块502-1、检查任务模块502-2、更新任务状态模块502-3和清除已完成任务模块502-4;
99.任务转发模块501-1,用于对数据请求信息进行封装处理,所述数据代理客户端单元为异步数据请求添加任务id和任务处理状态标记,并根据所述异步代理方式标记和所述数据接口声明信息将所述任务id、所述任务处理状态标记、所述数据接口请求路径、所述数据接口请求参数和所述代理方式标记进行封装,得到封装信息和异步结果回调路径,并将所述封装信息发送至所述数据代理服务端单元;
100.所述未完成任务监督模块501-2,用于将所述封装信息发送至所述数据代理服务端单元后,将提交的数据请求任务存储在本地缓存中,根据任务处理状态标记定时检查本地未完成的任务,并向所述数据代理服务端单元获取未完成数据请任务处理状态,如果数
据请求任务在所述数据代理服务端单元已经有处理结果,就将所述数据请求任务的结果返回,并存储到本地的缓存中,以备已完成任务处理模块继续处理所述处理结果;
101.所述已完成任务处理模块501-3,用于定时检查本地缓存中是否更新了未完成任务的结果,如果存在结果,则通过所述数据代理客户端单元提供的处理结果回调接口将处理结果返回给所述数据代理客户端单元,并根据所述任务id释放所述数据请求的任务处理资源;
102.所述接收任务模块502-1,用于接收并存储所述数据代理客户端单元转发的所述封装信息和所述任务id,并将数据请求转发到数据平台的数据接口;
103.所述检查任务模块502-2,用于在接收到所述数据代理客户端单元发送的所述任务监督请求时,查询数据请求任务的任务处理状态;如果所述任务处理状态标记为未完成,则返回未完成信息,如果查询到数据请求任务已有处理结果,则获取并返回处理结果;
104.所述更新任务状态模块502-3,用于在数据接口处理完数据请求后,将所述处理结果通过所述数据代理服务端单元的更新结果接口发送给所述数据代理服务端单元,并将处理结果更新到本地缓存中,以备查询;
105.所述清除已完成任务模块502-4,用于接收所述数据代理客户端单元发送的任务处理完成通知,并根据已完成任务的所述任务id,释放数据处理资源。
106.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
107.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1