CN111726374A - web请求处理方法、系统、装置和计算机可读存储介质 - Google Patents
web请求处理方法、系统、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111726374A CN111726374A CN201910204419.1A CN201910204419A CN111726374A CN 111726374 A CN111726374 A CN 111726374A CN 201910204419 A CN201910204419 A CN 201910204419A CN 111726374 A CN111726374 A CN 111726374A
- Authority
- CN
- China
- Prior art keywords
- environment
- value
- web request
- environment variable
- variable
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000003860 storage Methods 0.000 title claims abstract description 10
- 238000004519 manufacturing process Methods 0.000 claims abstract description 66
- 238000012360 testing method Methods 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 20
- 238000002955 isolation Methods 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/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
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种web请求处理方法、系统、装置和计算机可读存储介质。所述web请求处理方法包括:接收web请求,所述web请求为测试用的web请求或正式上线后的web请求;根据第一环境变量的取值,调用相应的服务接口,所述第一环境变量的取值包括表示预发布环境的第一值和表示生产环境的第二值,所述服务接口由服务提供模块提供,多个所述服务提供模块部署在多个节点上,所述服务提供模块根据读取到的所述第一环境变量的取值提供所述服务接口;以及接收所述服务接口的返回信息并据此发送数据。本发明实施例实现了预发布环境的web调用预发布环境的服务接口,生产环境的web应用调用生产环境的服务接口,从而实现了生产环境和预发布环境的应用层面上的兼容和隔离。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种web请求处理方法、系统、装置和计算机可读存储介质。
背景技术
在互联网电商系统中,当软件系统有大范围的功能改造升级时,测试人员在预发布环境中测试通过后,还需要在生产环境中模拟普通用户进行测试。模拟普通用户测试的生产环境被称为预发布环境,预发布环境和生产环境一模一样,只是把预发布环境的HTTP域名限制对外开放,外部普通用户无法访问。此外,当对接的下游系统没有预发布环境或者预发布环境不稳定时,测试人员也可以通过预发布环境进行生产测试。
现有的测试方式没有区分预发布环境和生产环境。测试人员通过配置预发布环境的Host访问预发布环境的web应用,web应用处理请求时,需要依赖外部服务提供数据,这时web应用需要确定应该调用预发布环境的服务还是生产环境的服务。而且,在分布式系统中,例如在商品搜索、提交订单、用户支付、订单生产、履约、配送等订单生产全流程的每个节点中,上一个节点的预发布环境的服务必须调用下一个节点的预发布环境的服务,上一个节点的生产环境的服务必须调用下一个节点的生产环境的服务。目前处理的方式是:硬编码一个测试用户名例如UserName,在调用依赖服务时判断用户名是不是UserName,如果是,则调用预发布环境的服务,如果不是则调用生产环境的服务。
硬编码测试用户名导致代码和特定的测试用户名绑定在一起,耦合度增高,而且,当需要修改测试用户名时,只能将代码修改后再重新上线,可扩展性也不够。
发明内容
有鉴于此,本发明实施例提供web请求处理方法、系统、装置和计算机可读存储介质,用于解决现有技术中存在的由于硬编码测试用户名导致的代码耦合度过高和可扩展性不足的问题。
第一方面,本发明实施例提供一种web请求处理方法,包括:
接收web请求,所述web请求为测试用的web请求或正式上线后的web请求;
根据第一环境变量的取值,调用相应的服务接口,所述第一环境变量的取值包括表示预发布环境的第一值和表示生产环境的第二值,所述服务接口由服务提供模块提供,多个所述服务提供模块部署在多个节点上,所述服务提供模块根据读取到的所述第一环境变量的取值提供所述服务接口;以及
接收所述服务接口的返回信息并据此发送数据。
可选地,所述服务接口根据所述第一环境变量的取值,调用其他服务提供模块提供的服务接口。
可选地,所述服务接口的配置中包含所述第一环境变量。
可选地,所述根据第一环境变量的取值,调用相应的服务接口包括:
创建调用所述服务接口的字符串,所述字符串的接口别名中包含第一占位符变量;
采用第一环境变量的取值替换所述第一占位符变量;以及
根据替换后的字符串调用相应的服务接口。
可选地,还包括:创建第一数据库表和第二数据库表,所述服务接口还包括:根据第一环境变量的取值操作相应的所述第一数据库表或第二数据库表。
可选地,所述第一数据库表的表名称包括第一值,所述第二数据库表的表名称包括第二值,
所述根据第一环境变量的取值操作相应地所述第一数据库表或第二数据库表包括:
生成SQL字符串,所述SQL字符串的表名称包含第二占位符变量;
采用所述第一环境变量的取值替换所述第二占位符变量;以及
根据替换后的SQL字符串执行数据库操作。
可选地,所述第一环境变量为系统级环境变量或应用级环境变量。
可选地,所述第一环境变量设置在配置文件中,所述服务提供模块在初始化时加载所述配置文件。
第二方面,本发明实施例提供一种web请求处理系统,包括:
web客户端模块,用于发送web请求,所述web请求为测试用的web请求或正式上线后的web请求;
web服务器端模块,用于接收web请求,根据第一环境变量的取值,调用相应的服务接口,并接收所述服务接口的返回信息并据此发送数据,所述第一环境变量的取值包括表示预发布环境的第一值和表示生产环境的第二值;
多个服务提供模块,所述多个服务提供模块均根据读取到的第一环境变量的取值提供所述服务接口,所述多个服务提供模块分别部署在多个节点上。
可选地,所述服务接口根据所述第一环境变量的取值,调用其他服务提供模块提供的服务接口。
可选地,所述web服务器端模块和所述多个服务提供模块均包括:数据库操作单元,用于根据第一环境变量的取值操作相应的第一数据库表或第二数据库表,第一数据库表为测试表,第二数据表为生产表。
可选地,所述第一数据库表的表名称包括第一值,所述第二数据库表的表名称包括第二值,所述数据库操作单元包括:
字符串创建单元,用于生成SQL字符串,所述SQL字符串的表名称包含第二占位符变量;
占位符替换单元,用于采用第一环境变量的取值替换所述第二占位符变量;
SQL执行单元,用于根据替换后的SQL字符串执行数据库操作。
可选地,所述第一环境变量为系统级环境变量或应用级环境变量。
可选地,所述第一环境变量设置在至少一个配置文件中,所述web服务器端模块和所述服务提供模块均在系统初始化时读取所述至少一个配置文件,以获得所述第一环境变量。
第三方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令被执行时实现上述任一项所述的web请求处理方法。
第四方面,本发明实施例提供一种web请求处理装置,包括:
存储器,用于存储计算机指令;
处理器,耦合到所述存储器,所述处理器被配置为基于所述存储器存储的计算机指令执行实现上述任一项所述的web请求处理方法。
本发明实施例具有以下优点或有益效果:web应用根据读取到的第一环境变量的取值,调用相应的服务接口,第一环境变量的取值包括表示预发布环境的第一值和表示生产环境的第二值,预发布环境的web调用预发布环境的服务接口,生产环境的web应用调用生产环境的服务接口,从而实现了生产环境和预发布环境的应用层面上的隔离。
进一步地,web应用和服务接口根据读取到的第一环境变量操作用于生产环境的第一数据库表或操作用于预发布环境的第二数据库表,从而实现了生产环境和预发布环境在数据存储层面上的兼容和隔离。
附图说明
通过参照以下附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1所示是本发明第一实施例的web请求处理系统的结构图;
图2所示是web请求处理系统的部署示意图;
图3所示是一个示例性的服务接口的关系示意图;
图4所示是一个根据本发明实施例实现的一个订单生产系统的示意图;
图5所示是一个根据本发明实施例实现的web请求处理方法的示意图;
图6是根据本发明一个实施例的web请求处理装置的结构图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
参见图1,图1所示是本发明第一实施例的web请求处理系统的结构图。该实施例可以应用于两种场景:在预发布环境进行系统测试和在生产环境处理线上业务。该web请求处理系统包括web客户端模块101、web服务端模块102和多个服务提供模块103。
web客户端模块101用于发送web请求,所述web请求为测试用的web请求或正式上线后的web请求。
web服务器端模块102用于接收web请求,根据第一环境变量的取值,调用相应的服务接口,并接收服务接口的返回信息并据此发送数据,第一环境变量的取值包括表示预发布环境的第一值和表示生产环境的第二值。
多个服务提供模块103均根据读取到的第一环境变量的取值提供服务接口,多个服务提供模块分别部署在多个节点上。通常情况下,第一环境变量设置在多个节点上,其中一部分节点上的第一环境变量设置为第一值,另一部分节点上的第一环境变量设置为第二值,从而能够在同一时间同步进行系统测试和处理线上任务。当然本发明不局限于此,首先第一环境变量可以不设置在节点上,例如可以设置在配置服务器上,或者由web服务器端模块102将第一环境变量传输的取值给服务提供模块,其次即使第一环境变量设置在节点上,多个节点的第一环境变量也可以均设置为第一值或者均设置为第二值。
下面结合图2进一步说明本实施例。图2所示是web请求处理系统的部署示意图。服务器201和202上分别部署WEB服务提供模块。服务器301-303各自部署服务提供模块,用于向外部提供服务。在服务器201-202上均设置第一环境变量,但是服务器201上的第一环境变量的取值为表示预发布环境的第一值,服务器202上的第一环境变量的取值为表示生产环境的第二值。同样,在服务器301-303上也设置该第一环境变量,并且分别等于第一值或第二值。当测试人员需要测试整个系统时,向服务器201发送测试用的web请求,而服务器202接收正式上线后的web请求。当然,服务器201和服务器202可能并不同步使用。相应地,服务器301和302上的第一环境变量为第一值,服务器303的第一环境变量为第二值,则服务器301-302向服务器201提供服务接口,服务器303向服务器202提供服务接口。终端401的用户基于不同目的使用服务器201或202,例如向服务器201发送测试用的web请求,向服务器202发送正式上线后的web请求。
需要明白的是,上述部署实现了预发布环境和生产环境在物理层面的隔离,下面介绍在软件层面如何实现预发布环境下和生产环境下的隔离,即对于web服务器端模块,如何根据第一环境变量找到正确的服务接口。可以理解,由于测试用的web服务器端模块和生产用的web服务器端模块其各自部署的节点的IP地址不同,因此提供给用户的访问地址不同,即两者通过部署在不同的IP地址上实现web服务器端模块的隔离。那么下一个问题的关键就在于不同环境的web服务器端模块如何根据第一环境变量找到正确的服务接口。
在一个示例中,web服务器端模块在初始化时,读取该第一环境变量的取值,并保存到内存中,当WEB服务器端模块接收到web请求时,根据该第一环境变量的取值确定服务接口,当第一环境变量为第一值时,该WEB服务器端模块调用预发布环境上提供的服务接口,当第一环境变量为第二值时,该WEB服务器端模块调用生产环境上提供的服务接口。
在另一个示例中,创建配置文件,例如config.properties,在预发布环境的config.properties中添加第一环境变量:env=Prepare;在生产环境的config.properties中添加第一环境变量:env=Product。
当第一环境变量env设置之后,WEB服务器端模块在初始化阶段读取config.properties文件中的变量,并将其保存到一个map中,当接收到web请求时,从map中取出env,并据此调用服务接口。根据env的取值调用服务接口的一个可选的实施方式是在WEB服务器端模块的代码层面增加判断语句,针对不同情况调用不同接口,但是这样做的缺点在于需要硬编码env的值,因此env值修改后,代码也需要修改;另一个更优选的实施方式是将env作为占位符变量编码到接口别名中。下面以一个JSF协议的服务提供模块为例进行详细描述。
服务提供模块基于JSF架构向外部提供服务接口,服务接口的接口别名通过占位符变量组合。例如提供的订单服务的生产端配置如下:
jsf:provider id="orderServiceProvider"alias="orderService_${env}";
服务的消费端同样通过占位符变量组合,例如订单服务的消费者配置如下:
jsf:consumer id="orderServiceConsumer"alias="orderService_${env}";
服务提供模块启动后,在生产环境中对外提供的订单服务生产端配置是:
jsf:providerid="orderServiceProvider"alias="orderService_Product",
相应地,对应的订单服务的消费端配置是:
jsf:consumer id="orderServiceConsumer"alias="orderService_Product";
服务提供模块启动后,在预发布环境中对外提供的订单服务生产端配置是:
jsf:provider id="orderServiceProvider"alias="orderService_Prepare",
对应的订单服务的消费端配置是:
jsf:consumer id="orderServiceConsumer"alias="orderService_Prepare"。
需要指出的是,环境变量有系统级环境变量和应用级环境变量。系统级环境变量设置在操作系统的配置文件中,操作系统启动时读取配置文件,设置环境变量,从而该环境变量对所有应用有效。应用级环境变量设置在应用的配置文件中,应用启动时读取配置文件,设置环境变量,从而该环境变量仅对应用自身有效。例如上述config.properties内设置的环境变量为应用级环境变量。
基于上述示例,web服务提供模块和服务提供模块也可以采用JSF架构,则web服务提供模块是服务的消费端,服务提供模块是服务的生产端。因此,web服务提供模块在调用服务接口时,需要按照上述规范生成并在初始化时加载消费端的配置,服务提供模块需要生成并在初始化时加载生产端的配置。该方法只需要修改相应的配置文件,不需要修改代码,从而更便于实施。当然,虽然上述以JSF框架例如,但是本发明并不以此为限。
需要指出的是,WEB服务器端模块可以调用多个服务提供模块上的服务接口,每个服务接口也可以调用其他服务提供模块上的服务接口。下面以图3所示进一步说明服务接口之间的关系。
图3所示是一个示例性的服务接口的关系示意图。如图3所示,服务接口301调用服务接口302,服务接口302调用服务接口303和服务接口304,服务接口303又调用了服务接口304。在此过程中,服务接口304是一个纯粹的生产端,服务接口303和服务接口302既是一个消费端,也是一个生产端,服务接口301是纯粹的消费端。在大部分的java衍生的架构中,都提供有服务接口的消费端和服务端的规范,只要根据规范在配置文件中加入相应的代码后,则可以调用相应的服务接口。
还需要指出的是,应用级隔离还应该包括数据存储层级的隔离。即生产环境的数据存储和预发布环境的数据存储隔离。在一个实施例中,web服务器模块和多个服务提供模块均包含数据库操作单元,数据库操作单元用于根据第一环境变量的取值操作相应的第一数据库表或第二数据库表,第一数据库表为测试表,第二数据表为生产表。即通过创建不同用途的表实现生产环境和预发布环境的隔离。第一数据库表的表名称包括第一值,第二数据库表的表名称包括第二值,数据库操作单元包括:字符串创建单元、占位符替换单元和SQL执行单元,字符串创建单元用于生成SQL字符串,SQL字符串的表名称包含第二占位符变量,占位符替换单元用于采用第一环境变量的取值替换第二占位符变量,SQL执行单元,用于根据替换后的SQL字符串执行数据库操作。
为方便理解,采用以下示例进行说明。例如,对数据库中的数据进行增删改查操作的SQL语句,表名同样是通过占位符变量进行组合。如订单表的insert语句:
insert into order_$env$(id,user_name,erp_order_id)values(#{id},#{userName},#{erpOrderId})。
则在生产环境中的订单insert语句会被解析成:
insert into order_Product(id,user_name,erp_order_id)values(#{id},#{userName},#{erpOrderId});
在预发布环境中,会被解析成:
insert into order_Prepare(id,user_name,erp_order_id)values(#{id},#{userName},#{erpOrderId})。
图4所示是一个根据本发明实施例实现的一个订单生产系统的示意图。后缀是Prepare表示预发布环境中的应用或表,后缀为Product表示生产环境中的应用或表。
参见图4,测试人员配置预发布环境的web应用和生产环境的web应用,例如如图所示web_Prepare和web_product。web_Prepare调用依赖的外部应用时,因为预发布环境所在的机器配置的环境变量env=Prepare,所以配置的Jsf服务的消费者别名被解析后也是预发布环境的,例如调用接口别名为Order_Jsf_Prepare,所以请求会被分发给别名是Order_Jsf_Prepare的服务生产端。服务生产端接收到Jsf的请求后,逻辑处理完成后,当需要调用依赖服务时,自动选择对应环境的服务。在持久化时,因为SQL语句中的表名已经被解析成预发布环境表名了,例如Order_Table_Prepare。所以数据在存储时,会自动选择预发布环境中的数据库表进行存储。在高并发系统中,不需要用户操作的生产流程会采用异步执行,由应用Worker触发操作。应用Worker在启动时,同样会解析配置文件,并把本机的环境变量env的值替换掉服务接口的接口别名中的占位符变量和SQL中的占位符变量。然后SQL语句就会查询对应环境的表中的数据。预发布环境的Worker系统就会查询预发布环境的表Order_Table_Prepare中的数据,然后调用预发布环境的订单生产服务。生产环境的Worker系统就会查询生产环境表order_Table_Product中的数据,然后调用生产环境的订单生产服务。
综上,通过配置环境变量、接口别名由占位符变量组合、SQL语句中表名由占位符变量组合的形式就完成了订单从创建到生产的全流程隔离生产环境和预发布环境。
图5所示是一个根据本发明实施例实现的web请求处理方法的示意图。该实施例可以应用于两种场景:在预发布环境进行系统测试和在生产环境处理线上业务。具体包括以下步骤。
在步骤S101中,接收web请求,web请求为测试用的web请求或正式上线后的web请求。
在步骤S102中,根据第一环境变量的取值,调用相应的服务接口,第一环境变量的取值包括表示预发布环境的第一值和表示生产环境的第二值。
在本步骤中,服务接口由服务提供模块提供,服务提供模块根据读取到的第一环境变量的取值提供服务接口,多个服务提供模块设置在多个节点上。
在步骤S103中,接收服务接口的返回信息并据此发送数据。
根据本发明实施例,web应用根据自身所处节点的第一环境变量确定调用相应的服务接口,生产环境的服务提供模块和预发布环境的服务提供模块部署在多个节点上,多个节点上的一些节点的第一环境变量设置为第一值,另一些节点的第一环境变量设置为第二值,从而生产环境web应用调用生产环境的服务接口,预发布环境的web应用调用预发布环境的服务接口,从而确保了生产环境和预发布环境在应用层面的隔离。
进一步地,创建第一数据库表和第二数据库表,生产环境中的web服务和服务提供模块根据第一环境变量的取值操作第一数据库表,预发布环境的web服务和服务提供模块根据第一环境变量的取值操作第二数据库表。
应当理解,在本文中的第一、第二、……,仅用于区分不同事务,并不代表优先级或等级上的区分。
图6是根据本发明第六实施例的路区划分装置的结构图。图6示出的设备仅仅是一个示例,不应对本发明实施例的功能和使用范围构成任何限制。
参考图6,该装置包括通过总线连接的处理器601、存储器602和输入输出设备603。存储器602包括只读存储器(ROM)和随机访问存储器(RAM),存储器602内存储有执行系统功能所需的各种计算机指令和数据,处理器601从存储器602中读取各种计算机指令以执行各种适当的动作和处理。输入输出设备包括键盘、鼠标等的输入部分;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分。存储器602还存储有以下的计算机指令以完成本发明实施例的装置规定的操作:接收web请求,所述web请求为测试用的web请求或正式上线后的web请求;根据第一环境变量的取值,调用相应的服务接口,第一环境变量的取值包括表示预发布环境的第一值和表示生产环境的第二值,所述服务接口由服务提供模块提供,服务提供模块均根据读取到的第一环境变量的取值提供服务接口,多个服务提供模块设置在多个节点上;以及接收所述服务接口的返回信息并据此发送数据。
相应地,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,所述计算机指令被执行时实现上述方法所规定的操作。
附图中的流程图、框图图示了本发明实施例的系统、方法、装置的可能的体系框架、功能和操作,流程图和框图上的方框可以代表一个模块、程序段或仅仅是一段代码,所述模块、程序段和代码都是用来实现规定逻辑功能的可执行指令。也应当注意,所述实现规定逻辑功能的可执行指令可以重新组合,从而生成新的模块和程序段。因此附图的方框以及方框顺序只是用来更好的图示实施例的过程和步骤,而不应以此作为对发明本身的限制。
系统的各个模块或单元可以通过硬件、固件或软件实现。软件例如包括采用JAVA、C/C++/C#、SQL等各种编程语言形成的编码程序。虽然在方法以及方法图例中给出本发明实施例的步骤以及步骤的顺序,但是所述步骤实现规定的逻辑功能的可执行指令可以重新组合,从而生成新的步骤。所述步骤的顺序也不应该仅仅局限于所述方法以及方法图例中的步骤顺序,可以根据功能的需要随时进行调整。例如将其中的某些步骤并行或按照相反顺序执行。
根据本发明的系统和方法可以部署在单个或多个服务器上。例如,可以将不同的模块分别部署在不同的服务器上,形成专用服务器。或者,可以在多个服务器上分布式部署相同的功能单元、模块或系统,以减轻负载压力。所述服务器包括但不限于在同一个局域网以及通过Internet连接的多个PC机、PC服务器、刀片机、超级计算机等。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种web请求处理方法,其特征在于,包括:
接收web请求,所述web请求为测试用的web请求或正式上线后的web请求;
根据第一环境变量的取值,调用相应的服务接口,所述第一环境变量的取值包括表示预发布环境的第一值和表示生产环境的第二值,所述服务接口由服务提供模块提供,多个所述服务提供模块部署在多个节点上,所述服务提供模块根据读取到的所述第一环境变量的取值提供所述服务接口;以及
接收所述服务接口的返回信息并据此发送数据。
2.根据权利要求1所述的web请求处理方法,其特征在于,所述服务接口根据所述第一环境变量的取值,调用其他服务提供模块提供的服务接口。
3.根据权利要求1或2所述的web请求处理方法,其特征在于,所述服务提供模块提供的所述服务接口的配置中包含所述第一环境变量。
4.根据权利要求2或3所述的web请求处理方法,其特征在于,所述根据第一环境变量的取值,调用相应的服务接口包括:
创建调用所述服务接口的字符串配置,所述字符串配置的接口别名中包含第一占位符变量;
采用第一环境变量的取值替换所述第一占位符变量;以及
根据替换后的字符串调用相应的服务接口。
5.根据权利要求1所述的web请求处理方法,其特征在于,还包括:创建第一数据库表和第二数据库表,所述服务接口还包括:根据所述第一环境变量的取值操作相应的所述第一数据库表或第二数据库表。
6.根据权利要求5所述的web请求处理方法,其特征在于,所述第一数据库表的表名称包括第一值,所述第二数据库表的表名称包括第二值,
所述根据第一环境变量的取值操作相应地所述第一数据库表或第二数据库表包括:
生成SQL字符串,所述SQL字符串的表名称包含第二占位符变量;
采用所述第一环境变量的取值替换所述第二占位符变量;以及
根据替换后的SQL字符串执行数据库操作。
7.根据权利要求1所述的web请求处理方法,其特征在于,所述第一环境变量为系统级环境变量或应用级环境变量。
8.根据权利要求7所述的web请求处理方法,其特征在于,所述第一环境变量设置在配置文件中,所述服务提供模块在初始化时加载所述配置文件。
9.一种web请求处理系统,其特征在于,包括:
web客户端模块,用于发送web请求,所述web请求为测试用的web请求或正式上线后的web请求;
web服务器端模块,用于接收web请求,根据第一环境变量的取值,调用相应的服务接口,并接收所述服务接口的返回信息并据此发送数据,所述第一环境变量的取值包括表示预发布环境的第一值和表示生产环境的第二值;
多个服务提供模块,所述多个服务提供模块均根据读取到的第一环境变量的取值提供所述服务接口,所述多个服务提供模块分别部署在多个节点上。
10.根据权利要求9所述的web请求处理系统,其特征在于,所述服务接口根据所述第一环境变量的取值,调用其他服务提供模块提供的服务接口。
11.根据权利要求9所述的web请求处理系统,其特征在于,所述web服务器端模块和所述多个服务提供模块均包括:数据库操作单元,用于根据所述第一环境变量的取值操作相应的第一数据库表或第二数据库表,第一数据库表为测试表,第二数据表为生产表。
12.根据权利要求11所述的web请求处理系统,其特征在于,所述第一数据库表的表名称包括第一值,所述第二数据库表的表名称包括第二值,所述数据库操作单元包括:
字符串创建单元,用于生成SQL字符串,所述SQL字符串的表名称包含第二占位符变量;
占位符替换单元,用于采用第一环境变量的取值替换所述第二占位符变量;
SQL执行单元,用于根据替换后的SQL字符串执行数据库操作。
13.根据权利要求9所述的web请求处理系统,其特征在于,所述第一环境变量为系统级环境变量或应用级环境变量。
14.根据权利要求13所述的web请求处理系统,其特征在于,所述第一环境变量设置在配置文件中,所述web服务器端模块和所述服务提供模块均在系统初始化时读取所述配置文件,以获得所述第一环境变量。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令被执行时实现如权利要求1至8任一项所述的web请求处理方法。
16.一种web请求处理装置,其特征在于,包括:
存储器,用于存储计算机指令;
处理器,耦合到所述存储器,所述处理器被配置为基于所述存储器存储的计算机指令执行实现如权利要求1至8中任一项所述的web请求处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910204419.1A CN111726374B (zh) | 2019-03-18 | 2019-03-18 | web请求处理方法、系统、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910204419.1A CN111726374B (zh) | 2019-03-18 | 2019-03-18 | web请求处理方法、系统、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111726374A true CN111726374A (zh) | 2020-09-29 |
CN111726374B CN111726374B (zh) | 2024-01-16 |
Family
ID=72562320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910204419.1A Active CN111726374B (zh) | 2019-03-18 | 2019-03-18 | web请求处理方法、系统、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111726374B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113411219A (zh) * | 2021-06-29 | 2021-09-17 | 山东派盟网络科技有限公司 | 一种前端服务的发布方法、装置以及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570685A (zh) * | 2015-10-13 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 业务处理方法及装置 |
CN107463409A (zh) * | 2017-08-11 | 2017-12-12 | 深圳乐信软件技术有限公司 | 一种接口转换方法、接口转换器、存储介质及电子终端 |
US20180157584A1 (en) * | 2016-12-05 | 2018-06-07 | Salesforce.Com, Inc. | Implicit coordination of deployment and regression testing across data centers and system clusters |
CN108347356A (zh) * | 2017-01-24 | 2018-07-31 | 北京京东尚科信息技术有限公司 | 一种多协议单元测试方法、装置、电子设备和存储介质 |
-
2019
- 2019-03-18 CN CN201910204419.1A patent/CN111726374B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570685A (zh) * | 2015-10-13 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 业务处理方法及装置 |
US20180157584A1 (en) * | 2016-12-05 | 2018-06-07 | Salesforce.Com, Inc. | Implicit coordination of deployment and regression testing across data centers and system clusters |
CN108347356A (zh) * | 2017-01-24 | 2018-07-31 | 北京京东尚科信息技术有限公司 | 一种多协议单元测试方法、装置、电子设备和存储介质 |
CN107463409A (zh) * | 2017-08-11 | 2017-12-12 | 深圳乐信软件技术有限公司 | 一种接口转换方法、接口转换器、存储介质及电子终端 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113411219A (zh) * | 2021-06-29 | 2021-09-17 | 山东派盟网络科技有限公司 | 一种前端服务的发布方法、装置以及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111726374B (zh) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7739691B2 (en) | Framework for declarative expression of data processing | |
US9690558B2 (en) | Orchestrating the lifecycle of multiple-target applications | |
JP5052568B2 (ja) | ネットワーク内の装置を管理するための方法、システム、およびプログラム | |
JP5669861B2 (ja) | プラットフォーム間での仮想イメージのポーティング | |
KR101782457B1 (ko) | 어플리케이션 업그레이드 방법 및 장치 | |
US11561784B2 (en) | Versioning of pipeline templates for continuous delivery of services on datacenters configured in cloud platforms | |
US9652220B2 (en) | Zero down-time deployment of new application versions | |
CN113312037A (zh) | 应用于微服务的数据处理方法、装置、设备和存储介质 | |
JP2018530070A (ja) | クラウドベースのコンピューティング環境上の基盤を構築、最適化及び実施するシステム及び方法 | |
JP6673359B2 (ja) | システム構築支援システム、方法およびプログラム | |
CN111639027B (zh) | 一种测试方法、装置及电子设备 | |
US11392366B1 (en) | Optimized compilation of pipelines for continuous delivery of services on datacenters configured in cloud platforms | |
US20200142953A1 (en) | Enterprise Form Dependency Visualization and Management | |
CN111026634A (zh) | 一种接口自动化测试系统、方法、装置及存储介质 | |
US11277303B1 (en) | Declarative specification based override mechanism for customizing data centers deployed on cloud platforms | |
US20070022154A1 (en) | Generating one or more clients for generating one or more synthetic transactions with one or more web service operations | |
CN111726374B (zh) | web请求处理方法、系统、装置和计算机可读存储介质 | |
WO2023169193A1 (zh) | 用于生成智能合约的方法和装置 | |
CN114721711B (zh) | 基于GraphQL减免软件研发配置的工具和方法 | |
US11494182B1 (en) | Automated generation of dependency hierarchy based on input and output requirements of information | |
CN113179332B (zh) | 用于获取配置信息的方法、电子设备和存储介质 | |
US20170161359A1 (en) | Pattern-driven data generator | |
CN113032004A (zh) | 在开发环境中管理开发作业的方法、设备和程序产品 | |
US10180830B2 (en) | Information processing device, deployment method, and recording medium | |
US20230246916A1 (en) | Service map conversion with preserved historical information |
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 |