CN113901377A - 遗留***的服务调用方法、装置、存储介质及设备 - Google Patents
遗留***的服务调用方法、装置、存储介质及设备 Download PDFInfo
- Publication number
- CN113901377A CN113901377A CN202111502261.XA CN202111502261A CN113901377A CN 113901377 A CN113901377 A CN 113901377A CN 202111502261 A CN202111502261 A CN 202111502261A CN 113901377 A CN113901377 A CN 113901377A
- Authority
- CN
- China
- Prior art keywords
- data packet
- legacy system
- mirror image
- response
- calling
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种遗留***的服务调用方法、装置、存储介质及设备,属于网络技术领域。方法包括:接收调用端发送的调用请求,调用请求用于请求调用遗留***中的预定服务,且调用请求中携带有调用参数;获取与调用请求对应的第一镜像模板,第一镜像模板是对第一原始数据包进行模板提取到的,第一原始数据包是通过遗留***提供的网页调用预定服务时,向遗留***发送的数据包;将调用参数填充到第一镜像模板中,得到镜像数据包;将镜像数据包发送给遗留***,遗留***用于根据镜像数据包生成并发送响应数据包;获取遗留***发送的响应数据包;将响应数据包中的响应参数发送给调用端。本申请可以在不开发调用接口的前提下调用遗留***中的预定服务。
Description
技术领域
本申请实施例涉及网络技术领域,特别涉及一种遗留***的服务调用方法、装置、存储介质及设备。
背景技术
遗留***是指技术上已过时,但仍然在企业中使用的计算机***或应用程序。为了使遗留***能够向外部提供服务,可以对遗留***开发面向外部的调用接口。
然而,对遗留***开发调用接口时,需要对遗留***进行较大改动,可能会影响现有的服务,从而导致遗留***无法正常工作。
发明内容
本申请实施例提供了一种遗留***的服务调用方法、装置、存储介质及设备,用于解决对遗留***开发调用接口时,可能会影响现有的服务,从而导致遗留***无法正常工作的问题。所述技术方案如下:
一方面,提供了一种遗留***的服务调用方法,用于代理设备中,所述方法包括:
接收调用端发送的调用请求,所述调用请求用于请求调用遗留***中的预定服务,且所述调用请求中携带有调用参数;
获取与所述调用请求对应的第一镜像模板,所述第一镜像模板是对第一原始数据包进行模板提取到的,所述第一原始数据包是通过所述遗留***提供的网页调用所述预定服务时,向所述遗留***发送的数据包;
将所述调用参数填充到所述第一镜像模板中,得到镜像数据包;
将所述镜像数据包发送给所述遗留***,所述遗留***用于根据所述镜像数据包生成并发送响应数据包;
获取所述遗留***发送的所述响应数据包;
将所述响应数据包中的响应参数发送给所述调用端。
在一种可能的实现方式中,所述获取所述遗留***发送的所述响应数据包,包括:
在所述遗留***向所述镜像数据包中的源地址发送所述响应数据包时,拦截所述响应数据包。
在一种可能的实现方式中,所述将所述响应数据包中的响应参数发送给所述调用端,包括:
获取与所述响应数据包对应的第二镜像模板,所述第二镜像模板是对第二原始数据包进行模板提取到的,所述第二原始数据包是通过所述遗留***提供的网页调用所述预定服务时,所述遗留***反馈的数据包;
根据所述第二镜像模板从所述响应数据包中提取所述响应参数;
将所述响应参数发送给所述调用端。
在一种可能的实现方式中,所述根据所述第二镜像模板从所述响应数据包中提取所述响应参数,包括:
将所述响应数据包和所述第二镜像模板进行比对;
根据比对结果确定所述响应参数在所述响应数据包中的位置;
从所述响应数据包中的所述位置处提取所述响应参数。
在一种可能的实现方式中,若调用所述预定服务时需要与所述遗留***进行n次交互,则所述调用请求对应于按顺序排列的n个第一镜像模板,n≥2;在所述将所述镜像数据包发送给所述遗留***之后,所述方法还包括:
获取所述遗留***发送的第i个请求数据包,1≤i<n;
向所述调用端获取所述第i个请求数据包所请求的第i个中间参数,将所述第i个中间参数填充到第i+1个第一镜像模板中,得到第i+1个应答数据包;
将所述第i+1个应答数据包发送给所述遗留***;
若i+1=n,则触发执行所述获取所述遗留***发送的所述响应数据包的步骤;
若i+1<n,则将i更新为i+1,继续执行所述获取所述遗留***发送的第i个请求数据包的步骤。
在一种可能的实现方式中,所述方法还包括:
在所述遗留***提供的网页上模拟输入所述调用参数;
拦截向所述遗留***发送的所述第一原始数据包,所述第一原始数据包中携带有所述调用参数;
对所述第一原始数据包进行模板提取,得到所述第一镜像模板。
在一种可能的实现方式中,所述方法还包括:
在所述遗留***提供的网页上模拟输入所述调用参数;
拦截所述遗留***反馈的第二原始数据包,所述第二原始数据包中携带有所述响应参数;
对所述第二原始数据包进行模板提取,得到所述第二镜像模板。
在一种可能的实现方式中,所述调用端是小程序或应用程序。
一方面,提供了一种遗留***的服务调用装置,用于代理设备中,所述装置包括:
接收模块,用于接收调用端发送的调用请求,所述调用请求用于请求调用遗留***中的预定服务,且所述调用请求中携带有调用参数;
获取模块,用于获取与所述调用请求对应的第一镜像模板,所述第一镜像模板是对第一原始数据包进行模板提取到的,所述第一原始数据包是通过所述遗留***提供的网页调用所述预定服务时,向所述遗留***发送的数据包;
填充模块,用于将所述调用参数填充到所述第一镜像模板中,得到镜像数据包;
发送模块,用于将所述镜像数据包发送给所述遗留***,所述遗留***用于根据所述镜像数据包生成并发送响应数据包;
所述获取模块,还用于获取所述遗留***发送的所述响应数据包;
所述发送模块,还用于将所述响应数据包中的响应参数发送给所述调用端。
一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的遗留***的服务调用方法。
一方面,提供了一种代理设备,所述代理设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的遗留***的服务调用方法。
本申请实施例提供的技术方案的有益效果至少包括:
通过获取与调用端发送的调用请求对应的第一镜像模板,再将调用参数填充到第一镜像模板中,得到镜像数据包,将镜像数据包发送给遗留***。由于第一镜像模板是对第一原始数据包进行模板提取到的,第一原始数据包是通过遗留***提供的网页调用预定服务时,向遗留***发送的数据包,所以,遗留***能够根据该镜像数据包生成并发送响应数据包,代理设备再将响应数据包中的响应参数发送给调用端,从而可以在不开发调用接口的前提下,实现外部的调用端对遗留***中的预定服务的调用,避免开发调用接口对遗留***的影响,从而保证遗留***能够正常工作。
若调用预定服务时需要与遗留***进行n次交互,则调用请求对应于按顺序排列的n个第一镜像模板,这样,代理设备可以按照各个第一镜像模板的排列顺序依次生成n个数据包来与遗留***进行n次交互,最终获取到响应参数,这样,调用端只需要发送一次调用请求即可实现与遗留***的n次交互,简化了服务调用的操作复杂度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的遗留***的服务调用方法的方法流程图;
图2是本申请另一实施例提供的遗留***的服务调用方法的方法流程图;
图3是本申请另一实施例提供的遗留***的服务调用方法的方法流程图;
图4是本申请再一实施例提供的遗留***的服务调用装置的结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
现有技术中,用户可以使用浏览器登录遗留***所提供的网页,在该网页中输入调用参数,浏览器向遗留***发送携带有调用参数的第一原始数据包,遗留***在获取到该调用参数后,可以向浏览器返回携带有响应参数的第二原始数据包,浏览器可以显示其中的响应参数,这样,用户可以在网页中查询到自己想要的信息。在这种实现方式中,用户需要登录网页才能调用遗留***中的服务,给用户使用遗留***带来了不便。
本实施例中,代理设备可以对第一原始数据包和第二原始数据包进行拦截,从第一原始数据包和第二原始数据包中提取出相应的镜像模板,这样,代理设备可以使用这些镜像模板构造和识别与遗留***交互的数据包,从而可以代替浏览器来调用遗留***中的预定服务。
代理设备可以根据第一原始数据包来提取第一镜像模板,利用第一镜像模板来构造发送给遗留***的数据包。具体的,代理设备可以在遗留***提供的网页上模拟输入调用参数;拦截向遗留***发送的第一原始数据包,第一原始数据包中携带有调用参数;对第一原始数据包进行模板提取,得到第一镜像模板。
其中,第一原始数据包中除了包括调用参数,还可以包括源地址、目的地址、校验信息等,在进行模板提取时,代理设备可以将调用参数所在的字段的内容设置为空,或者,将调用参数所在的字段的内容设置为可替换的预定字符,得到第一镜像模板。
代理设备可以根据第二原始数据包提取第二镜像模板,利用第二镜像模板来识别遗留***发送的数据包。具体的,代理设备可以在遗留***提供的网页上模拟输入调用参数;拦截遗留***反馈的第二原始数据包,第二原始数据包中携带有响应参数;对第二原始数据包进行模板提取,得到第二镜像模板。
其中,第一原始数据包中除了包括响应参数,还可以包括源地址、目的地址、校验信息等,在进行模板提取时,代理设备可以将响应参数所在的字段的内容设置为空,或者,将响应参数所在的字段的内容设置为可替换的预定字符,得到第二镜像模板。
比如,当用户需要登录遗留***时,第一原始数据包中的调用参数可以是用户名和密码,第二原始数据包中的响应参数可以是登录凭证。
由于遗留***中可能会提供多种服务,所以,代理设备可以针对每种服务提取出对应的镜像模板,并对镜像模板进行存储,后续,当调用端需要调用遗留***中的某种服务时,代理设备可以查找到对应的镜像模板,再根据该镜像模板调用该服务。
需要说明的是,在调用某种服务时可能会需要与遗留***交互n次,在这种情况下,代理设备可以依次提取每次交互的原始数据包,并依次提取出n个镜像模板。比如,遗留***是公积金***,且用户需要查询公积金余额,则第一次交互时可以提取与登录相关的镜像模板,第二次交互时可以提取与查询相关的镜像模板。
请参考图1,其示出了本申请一个实施例提供的遗留***的服务调用方法的方法流程图,该遗留***的服务调用方法可以应用于代理设备中。该遗留***的服务调用方法,可以包括:
步骤101,接收调用端发送的调用请求,该调用请求用于请求调用遗留***中的预定服务,且该调用请求中携带有调用参数。
其中,调用参数是调用遗留***中的预定服务时所使用的参数。比如,预定服务是登录时,则调用参数可以是用户名和密码。
步骤102,获取与调用请求对应的第一镜像模板,该第一镜像模板是对第一原始数据包进行模板提取到的,该第一原始数据包是通过遗留***提供的网页调用预定服务时,向遗留***发送的数据包。
其中,第一镜像模板的提取流程可以参见上文中的描述,此处不作赘述。
代理设备中可以预先设置调用请求与第一镜像模板之间的对应关系,这样,当代理设备接收到某一个调用请求时,可以从该对应关系中查找到对应的第一镜像模板。其中,不同的调用请求对应于不同的第一镜像模板。
步骤103,将调用参数填充到第一镜像模板中,得到镜像数据包。
由于第一镜像模板中预定字段的内容为空或可替换的预定字符,所以,代理设备可以将调用参数填充到该预定字段中,即可得到镜像数据包。
步骤104,将镜像数据包发送给遗留***,该遗留***用于根据镜像数据包生成并发送响应数据包。
由于镜像数据包中除调用参数之外的其他内容都与浏览器发送的原始数据包中的内容相同,所以,遗留***能够识别该镜像数据包,并生成响应数据包进行发送。
步骤105,获取遗留***发送的响应数据包。
步骤106,将响应数据包中的响应参数发送给调用端。
代理设备可以从响应数据包中提取响应参数,并将该响应参数发送给调用端。
综上所述,本申请实施例提供的遗留***的服务调用方法,通过获取与调用端发送的调用请求对应的第一镜像模板,再将调用参数填充到第一镜像模板中,得到镜像数据包,将镜像数据包发送给遗留***。由于第一镜像模板是对第一原始数据包进行模板提取到的,第一原始数据包是通过遗留***提供的网页调用预定服务时,向遗留***发送的数据包,所以,遗留***能够根据该镜像数据包生成并发送响应数据包,代理设备再将响应数据包中的响应参数发送给调用端,从而可以在不开发调用接口的前提下,实现外部的调用端对遗留***中的预定服务的调用,避免开发调用接口对遗留***的影响,从而保证遗留***能够正常工作。
请参考图2,其示出了本申请一个实施例提供的遗留***的服务调用方法的方法流程图,该遗留***的服务调用方法可以应用于代理设备中,且调用预定服务时代理设备与遗留***进行一次交互。该遗留***的服务调用方法,可以包括:
步骤201,接收调用端发送的调用请求,该调用请求用于请求调用遗留***中的预定服务,且该调用请求中携带有调用参数。
其中,调用参数是调用遗留***中的预定服务时所使用的参数。比如,预定服务是登录时,则调用参数可以是用户名和密码。
本实施例中的调用端可以是小程序或应用程序。
步骤202,获取与调用请求对应的第一镜像模板,该第一镜像模板是对第一原始数据包进行模板提取到的,该第一原始数据包是通过遗留***提供的网页调用预定服务时,向遗留***发送的数据包。
其中,第一镜像模板的提取流程可以参见上文中的描述,此处不作赘述。
代理设备中可以预先设置调用请求与第一镜像模板之间的对应关系,这样,当代理设备接收到某一个调用请求时,可以从该对应关系中查找到对应的第一镜像模板。其中,不同的调用请求对应于不同的第一镜像模板。
步骤203,将调用参数填充到第一镜像模板中,得到镜像数据包。
由于第一镜像模板中预定字段的内容为空或可替换的预定字符,所以,代理设备可以将调用参数填充到该预定字段中,即可得到镜像数据包。
步骤204,将镜像数据包发送给遗留***,该遗留***用于根据镜像数据包生成并发送响应数据包。
由于镜像数据包中除调用参数之外的其他内容都与浏览器发送的原始数据包中的内容相同,所以,遗留***能够识别该镜像数据包,并生成响应数据包进行发送。
步骤205,在遗留***向镜像数据包中的源地址发送响应数据包时,拦截响应数据包。
由于镜像数据包中的源地址并不是代理设备的地址,所以,代理设备需要在遗留***向该源地址发送响应数据包时进行拦截。即,代理设备可以采用重定向技术,将响应数据包重定向到代理设备。
步骤206,获取与响应数据包对应的第二镜像模板,该第二镜像模板是对第二原始数据包进行模板提取到的,该第二原始数据包是通过遗留***提供的网页调用预定服务时,遗留***反馈的数据包。
其中,第二镜像模板的提取流程可以参见上文中的描述,此处不作赘述。
代理设备中可以预先设置响应数据包与第二镜像模板之间的对应关系,这样,当代理设备接收到某一个响应数据包时,可以从该对应关系中查找到对应的第二镜像模板。其中,不同的响应数据包对应于不同的第二镜像模板。
步骤207,根据第二镜像模板从响应数据包中提取响应参数。
具体的,根据第二镜像模板从响应数据包中提取响应参数,可以包括:将响应数据包和第二镜像模板进行比对;根据比对结果确定响应参数在响应数据包中的位置;从响应数据包中的位置处提取响应参数。
由于第二镜像模板中预定字段的内容为空或可替换的预定字符,所以,代理设备可以将响应数据包与第二镜像模板进行比对,以确定预定字段所在的位置,再从响应数据包中该位置提取出响应参数。
步骤208,将响应参数发送给调用端。
代理设备可以将从响应数据包中提取到的响应参数发送给调用端。
综上所述,本申请实施例提供的遗留***的服务调用方法,通过获取与调用端发送的调用请求对应的第一镜像模板,再将调用参数填充到第一镜像模板中,得到镜像数据包,将镜像数据包发送给遗留***。由于第一镜像模板是对第一原始数据包进行模板提取到的,第一原始数据包是通过遗留***提供的网页调用预定服务时,向遗留***发送的数据包,所以,遗留***能够根据该镜像数据包生成并发送响应数据包,代理设备再将响应数据包中的响应参数发送给调用端,从而可以在不开发调用接口的前提下,实现外部的调用端对遗留***中的预定服务的调用,避免开发调用接口对遗留***的影响,从而保证遗留***能够正常工作。
请参考图3,其示出了本申请一个实施例提供的遗留***的服务调用方法的方法流程图,该遗留***的服务调用方法可以应用于代理设备中,且调用预定服务时代理设备与遗留***进行n次交互,n≥2。该遗留***的服务调用方法,可以包括:
步骤301,接收调用端发送的调用请求,该调用请求用于请求调用遗留***中的预定服务,且该调用请求中携带有调用参数。
其中,调用参数是调用遗留***中的预定服务时所使用的参数。比如,预定服务是登录时,则调用参数可以是用户名和密码。
本实施例中的调用端可以是小程序或应用程序。
步骤302,获取与调用请求对应的第一镜像模板,该第一镜像模板是对第一原始数据包进行模板提取到的,该第一原始数据包是通过遗留***提供的网页调用预定服务时,向遗留***发送的数据包。
其中,第一镜像模板的提取流程可以参见上文中的描述,此处不作赘述。
本实施例中,调用预定服务时需要与遗留***进行n次交互,则调用请求对应于按顺序排列的n个第一镜像模板,那么,代理设备中可以预先设置调用请求与n个第一镜像模板之间的对应关系,这样,当代理设备接收到某一个调用请求时,可以从该对应关系中查找到对应的n个第一镜像模板。
步骤303,将调用参数填充到第一镜像模板中,得到镜像数据包。
由于第一个第一镜像模板中预定字段的内容为空或可替换的预定字符,所以,代理设备可以将调用参数填充到第一个第一镜像模板中的预定字段中,即可得到镜像数据包。
步骤304,将镜像数据包发送给遗留***。
由于镜像数据包中除调用参数之外的其他内容都与浏览器发送的原始数据包中的内容相同,所以,遗留***能够识别该镜像数据包,并进行响应。
步骤305,获取遗留***发送的第i个请求数据包;向调用端获取第i个请求数据包所请求的第i个中间参数,将第i个中间参数填充到第i+1个第一镜像模板中,得到第i+1个应答数据包;将第i+1个应答数据包发送给遗留***。
其中,1≤i<n。
当调用预定服务时,遗留***可能需要多次向调用端获取中间参数,每次获取中间参数时,代理设备可以接收遗留***发送的请求数据包,将请求数据包和对应的第三镜像模板进行比对;根据比对结果确定请求参数在请求数据包中的位置;从请求数据包中的位置处提取请求参数,再根据请求参数向调用端获取中间参数,将获取到的中间参数填充到对应的第一镜像模板中,得到应答数据包,将应答数据包发送给遗留***。
代理设备中可以预先设置请求数据包与第三镜像模板之间的对应关系,这样,当代理设备接收到某一个请求数据包时,可以从该对应关系中查找到对应的第三镜像模板。其中,不同的请求数据包对应于不同的第三镜像模板。
步骤306,若i+1<n,则将i更新为i+1,继续执行获取遗留***发送的第i个请求数据包的步骤。
步骤307,若i+1=n,则在遗留***向镜像数据包中的源地址发送响应数据包时,拦截响应数据包。
由于镜像数据包中的源地址并不是代理设备的地址,所以,代理设备需要在遗留***向该源地址发送响应数据包时进行拦截。即,代理设备可以采用重定向技术,将响应数据包重定向到代理设备。
步骤308,获取与响应数据包对应的第二镜像模板,第二镜像模板是对第二原始数据包进行模板提取到的,第二原始数据包是通过遗留***提供的网页调用预定服务时,遗留***反馈的数据包。
其中,第二镜像模板的提取流程可以参见上文中的描述,此处不作赘述。
代理设备中可以预先设置响应数据包与第二镜像模板之间的对应关系,这样,当代理设备接收到某一个响应数据包时,可以从该对应关系中查找到对应的第二镜像模板。其中,不同的响应数据包对应于不同的第二镜像模板。
步骤309,根据第二镜像模板从响应数据包中提取响应参数。
具体的,根据第二镜像模板从响应数据包中提取响应参数,可以包括:将响应数据包和第二镜像模板进行比对;根据比对结果确定响应参数在响应数据包中的位置;从响应数据包中的位置处提取响应参数。
由于第二镜像模板中预定字段的内容为空或可替换的预定字符,所以,代理设备可以将响应数据包与第二镜像模板进行比对,以确定预定字段所在的位置,再从响应数据包中该位置提取出响应参数。
步骤310,将响应参数发送给调用端。
代理设备可以将从响应数据包中提取到的响应参数发送给调用端。
综上所述,本申请实施例提供的遗留***的服务调用方法,通过获取与调用端发送的调用请求对应的第一镜像模板,再将调用参数填充到第一镜像模板中,得到镜像数据包,将镜像数据包发送给遗留***。由于第一镜像模板是对第一原始数据包进行模板提取到的,第一原始数据包是通过遗留***提供的网页调用预定服务时,向遗留***发送的数据包,所以,遗留***能够根据该镜像数据包生成并发送响应数据包,代理设备再将响应数据包中的响应参数发送给调用端,从而可以在不开发调用接口的前提下,实现外部的调用端对遗留***中的预定服务的调用,避免开发调用接口对遗留***的影响,从而保证遗留***能够正常工作。
若调用预定服务时需要与遗留***进行n次交互,则调用请求对应于按顺序排列的n个第一镜像模板,这样,代理设备可以按照各个第一镜像模板的排列顺序依次生成n个数据包来与遗留***进行n次交互,最终获取到响应参数,这样,调用端只需要发送一次调用请求即可实现与遗留***的n次交互,简化了服务调用的操作复杂度。
请参考图4,其示出了本申请一个实施例提供的遗留***的服务调用装置的结构框图,该遗留***的服务调用装置可以应用于代理设备中。该遗留***的服务调用装置,可以包括:
接收模块410,用于接收调用端发送的调用请求,调用请求用于请求调用遗留***中的预定服务,且调用请求中携带有调用参数;
获取模块420,用于获取与调用请求对应的第一镜像模板,第一镜像模板是对第一原始数据包进行模板提取到的,第一原始数据包是通过遗留***提供的网页调用预定服务时,向遗留***发送的数据包;
填充模块430,用于将调用参数填充到第一镜像模板中,得到镜像数据包;
发送模块440,用于将镜像数据包发送给遗留***,遗留***用于根据镜像数据包生成并发送响应数据包;
获取模块420,还用于获取遗留***发送的响应数据包;
发送模块440,还用于将响应数据包中的响应参数发送给调用端。
在一个可选的实施例中,获取模块420,还用于在遗留***向镜像数据包中的源地址发送响应数据包时,拦截响应数据包。
在一个可选的实施例中,发送模块440,还用于:
获取与响应数据包对应的第二镜像模板,第二镜像模板是对第二原始数据包进行模板提取到的,第二原始数据包是通过遗留***提供的网页调用预定服务时,遗留***反馈的数据包;
根据第二镜像模板从响应数据包中提取响应参数;
将响应参数发送给调用端。
在一个可选的实施例中,发送模块440,还用于:
将响应数据包和第二镜像模板进行比对;
根据比对结果确定响应参数在响应数据包中的位置;
从响应数据包中的位置处提取响应参数。
在一个可选的实施例中,若调用预定服务时需要与遗留***进行n次交互,则调用请求对应于按顺序排列的n个第一镜像模板,n≥2;
获取模块420,还用于在将镜像数据包发送给遗留***之后,获取遗留***发送的第i个请求数据包,1≤i<n;向调用端获取第i个请求数据包所请求的第i个中间参数,将第i个中间参数填充到第i+1个第一镜像模板中,得到第i+1个应答数据包;
发送模块440,还用于将第i+1个应答数据包发送给遗留***;
获取模块420,还用于若i+1=n,则触发执行获取遗留***发送的响应数据包的步骤;若i+1<n,则将i更新为i+1,继续执行获取遗留***发送的第i个请求数据包的步骤。
在一个可选的实施例中,该装置还包括:
输入模块,用于在遗留***提供的网页上模拟输入调用参数;
拦截模块,用于拦截向遗留***发送的第一原始数据包,第一原始数据包中携带有调用参数;
提取模块,用于对第一原始数据包进行模板提取,得到第一镜像模板。
在一个可选的实施例中,输入模块,还用于在遗留***提供的网页上模拟输入调用参数;
拦截模块,还用于拦截遗留***反馈的第二原始数据包,第二原始数据包中携带有响应参数;
提取模块,还用于对第二原始数据包进行模板提取,得到第二镜像模板。
在一个可选的实施例中,调用端是小程序或应用程序。
综上所述,本申请实施例提供的遗留***的服务调用装置,通过获取与调用端发送的调用请求对应的第一镜像模板,再将调用参数填充到第一镜像模板中,得到镜像数据包,将镜像数据包发送给遗留***。由于第一镜像模板是对第一原始数据包进行模板提取到的,第一原始数据包是通过遗留***提供的网页调用预定服务时,向遗留***发送的数据包,所以,遗留***能够根据该镜像数据包生成并发送响应数据包,代理设备再将响应数据包中的响应参数发送给调用端,从而可以在不开发调用接口的前提下,实现外部的调用端对遗留***中的预定服务的调用,避免开发调用接口对遗留***的影响,从而保证遗留***能够正常工作。
若调用预定服务时需要与遗留***进行n次交互,则调用请求对应于按顺序排列的n个第一镜像模板,这样,代理设备可以按照各个第一镜像模板的排列顺序依次生成n个数据包来与遗留***进行n次交互,最终获取到响应参数,这样,调用端只需要发送一次调用请求即可实现与遗留***的n次交互,简化了服务调用的操作复杂度。
本申请一个实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的遗留***的服务调用方法。
本申请一个实施例提供了一种代理设备,所述代理设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的遗留***的服务调用方法。
需要说明的是:上述实施例提供的遗留***的服务调用装置在进行遗留***的服务调用时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将遗留***的服务调用装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的遗留***的服务调用装置与遗留***的服务调用方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。
Claims (11)
1.一种遗留***的服务调用方法,其特征在于,用于代理设备中,所述方法包括:
接收调用端发送的调用请求,所述调用请求用于请求调用遗留***中的预定服务,且所述调用请求中携带有调用参数;
获取与所述调用请求对应的第一镜像模板,所述第一镜像模板是对第一原始数据包进行模板提取到的,所述第一原始数据包是通过所述遗留***提供的网页调用所述预定服务时,向所述遗留***发送的数据包;
将所述调用参数填充到所述第一镜像模板中,得到镜像数据包;
将所述镜像数据包发送给所述遗留***,所述遗留***用于根据所述镜像数据包生成并发送响应数据包;
获取所述遗留***发送的所述响应数据包;
将所述响应数据包中的响应参数发送给所述调用端。
2.根据权利要求1所述的方法,其特征在于,所述获取所述遗留***发送的所述响应数据包,包括:
在所述遗留***向所述镜像数据包中的源地址发送所述响应数据包时,拦截所述响应数据包。
3.根据权利要求1所述的方法,其特征在于,所述将所述响应数据包中的响应参数发送给所述调用端,包括:
获取与所述响应数据包对应的第二镜像模板,所述第二镜像模板是对第二原始数据包进行模板提取到的,所述第二原始数据包是通过所述遗留***提供的网页调用所述预定服务时,所述遗留***反馈的数据包;
根据所述第二镜像模板从所述响应数据包中提取所述响应参数;
将所述响应参数发送给所述调用端。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第二镜像模板从所述响应数据包中提取所述响应参数,包括:
将所述响应数据包和所述第二镜像模板进行比对;
根据比对结果确定所述响应参数在所述响应数据包中的位置;
从所述响应数据包中的所述位置处提取所述响应参数。
5.根据权利要求1所述的方法,其特征在于,若调用所述预定服务时需要与所述遗留***进行n次交互,则所述调用请求对应于按顺序排列的n个第一镜像模板,n≥2;在所述将所述镜像数据包发送给所述遗留***之后,所述方法还包括:
获取所述遗留***发送的第i个请求数据包,1≤i<n;
向所述调用端获取所述第i个请求数据包所请求的第i个中间参数,将所述第i个中间参数填充到第i+1个第一镜像模板中,得到第i+1个应答数据包;
将所述第i+1个应答数据包发送给所述遗留***;
若i+1=n,则触发执行所述获取所述遗留***发送的所述响应数据包的步骤;
若i+1<n,则将i更新为i+1,继续执行所述获取所述遗留***发送的第i个请求数据包的步骤。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述遗留***提供的网页上模拟输入所述调用参数;
拦截向所述遗留***发送的所述第一原始数据包,所述第一原始数据包中携带有所述调用参数;
对所述第一原始数据包进行模板提取,得到所述第一镜像模板。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述遗留***提供的网页上模拟输入所述调用参数;
拦截所述遗留***反馈的第二原始数据包,所述第二原始数据包中携带有所述响应参数;
对所述第二原始数据包进行模板提取,得到所述第二镜像模板。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述调用端是小程序或应用程序。
9.一种遗留***的服务调用装置,其特征在于,用于代理设备中,所述装置包括:
接收模块,用于接收调用端发送的调用请求,所述调用请求用于请求调用遗留***中的预定服务,且所述调用请求中携带有调用参数;
获取模块,用于获取与所述调用请求对应的第一镜像模板,所述第一镜像模板是对第一原始数据包进行模板提取到的,所述第一原始数据包是通过所述遗留***提供的网页调用所述预定服务时,向所述遗留***发送的数据包;
填充模块,用于将所述调用参数填充到所述第一镜像模板中,得到镜像数据包;
发送模块,用于将所述镜像数据包发送给所述遗留***,所述遗留***用于根据所述镜像数据包生成并发送响应数据包;
所述获取模块,还用于获取所述遗留***发送的所述响应数据包;
所述发送模块,还用于将所述响应数据包中的响应参数发送给所述调用端。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1至8任一所述的遗留***的服务调用方法。
11.一种代理设备,其特征在于,所述代理设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至8任一所述的遗留***的服务调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111502261.XA CN113901377B (zh) | 2021-12-10 | 2021-12-10 | 遗留***的服务调用方法、装置、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111502261.XA CN113901377B (zh) | 2021-12-10 | 2021-12-10 | 遗留***的服务调用方法、装置、存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113901377A true CN113901377A (zh) | 2022-01-07 |
CN113901377B CN113901377B (zh) | 2022-03-25 |
Family
ID=79025709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111502261.XA Active CN113901377B (zh) | 2021-12-10 | 2021-12-10 | 遗留***的服务调用方法、装置、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113901377B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101695070A (zh) * | 2009-09-30 | 2010-04-14 | 北京航空航天大学 | Java遗留***的服务封装方法及*** |
CN101840334A (zh) * | 2010-04-16 | 2010-09-22 | 中国电子科技集团公司第二十八研究所 | 一种软件构件服务化封装方法 |
US9690577B1 (en) * | 2004-02-09 | 2017-06-27 | Akana, Inc. | Legacy applications as web services |
CN108268375A (zh) * | 2018-01-12 | 2018-07-10 | 深圳壹账通智能科技有限公司 | 应用程序测试方法、装置、计算机设备和存储介质 |
-
2021
- 2021-12-10 CN CN202111502261.XA patent/CN113901377B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9690577B1 (en) * | 2004-02-09 | 2017-06-27 | Akana, Inc. | Legacy applications as web services |
CN101695070A (zh) * | 2009-09-30 | 2010-04-14 | 北京航空航天大学 | Java遗留***的服务封装方法及*** |
CN101840334A (zh) * | 2010-04-16 | 2010-09-22 | 中国电子科技集团公司第二十八研究所 | 一种软件构件服务化封装方法 |
CN108268375A (zh) * | 2018-01-12 | 2018-07-10 | 深圳壹账通智能科技有限公司 | 应用程序测试方法、装置、计算机设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
LÁSZLÓ ZSOLT VARGA等: "《Multi-Agent Systems and Applications III》", 27 May 2003 * |
鲁帆: "云平台的应用迁移与大数据***部署研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113901377B (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108574604B (zh) | 测试方法和装置 | |
CN111159614B (zh) | 网页资源获取方法以及装置 | |
CN109240697B (zh) | 调用处理方法及装置、存储介质 | |
CN110365724B (zh) | 任务处理方法、装置及电子设备 | |
CN113806037A (zh) | 服务的调用方法、装置、存储介质及电子设备 | |
CN111694620B (zh) | 第三方业务的交互方法、装置、设备及计算机存储介质 | |
CN109725887B (zh) | 基于消息研发框架的数据交互方法、装置及终端设备 | |
CN114489603A (zh) | 代码生成方法、装置、电子设备、介质和产品 | |
CN112417336B (zh) | 页面显示方法、装置、电子设备及存储介质 | |
CN112491940B (zh) | 代理服务器的请求转发方法及装置、存储介质及电子设备 | |
CN112732547B (zh) | 业务测试方法、装置、存储介质及电子设备 | |
CN112650689A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN112699034A (zh) | 虚拟登录用户构建方法、装置、设备及存储介质 | |
CN113901377B (zh) | 遗留***的服务调用方法、装置、存储介质及设备 | |
CN110673970A (zh) | 一种基于web应用的跨进程调用***及方法 | |
CN115454878A (zh) | 一种应用于微服务的接口调用测试方法及相关装置 | |
CN110968497A (zh) | 基于树形***的请求校验方法、装置、介质及电子设备 | |
CN112000313A (zh) | 请求响应方法、装置、设备及存储介质 | |
CN113779122A (zh) | 导出数据的方法和装置 | |
CN114125067A (zh) | 前后端分离的灰度发布方法、前端服务器和配置服务器 | |
CN112383434A (zh) | 网络请求的接口模拟方法、装置、电子设备和存储介质 | |
CN112182083A (zh) | 文件生成方法、装置、设备及存储介质 | |
US12032647B2 (en) | Tenant network for rewriting of code included in a web page | |
CN115328778A (zh) | http请求处理方法、装置、计算机设备和存储介质 | |
CN113505036B (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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: Room 307, Zijin Oriental building, 288 Qiyue street, Suzhou Industrial Park, Suzhou City, Jiangsu Province Patentee after: Tianju DIHE (Suzhou) Technology Co.,Ltd. Address before: Room 307, Zijin Oriental building, 288 Qiyue street, Suzhou Industrial Park, Suzhou City, Jiangsu Province Patentee before: TIANJU DIHE (SUZHOU) DATA CO.,LTD. |
|
CP01 | Change in the name or title of a patent holder |