CN107547579A - 用于控制web系统的响应数据流的方法和装置 - Google Patents

用于控制web系统的响应数据流的方法和装置 Download PDF

Info

Publication number
CN107547579A
CN107547579A CN201610461533.9A CN201610461533A CN107547579A CN 107547579 A CN107547579 A CN 107547579A CN 201610461533 A CN201610461533 A CN 201610461533A CN 107547579 A CN107547579 A CN 107547579A
Authority
CN
China
Prior art keywords
response
user
server
request
traffic
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
Application number
CN201610461533.9A
Other languages
English (en)
Other versions
CN107547579B (zh
Inventor
柏桂秋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201610461533.9A priority Critical patent/CN107547579B/zh
Publication of CN107547579A publication Critical patent/CN107547579A/zh
Application granted granted Critical
Publication of CN107547579B publication Critical patent/CN107547579B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

提出了一种用于控制web系统的响应数据流的方法和装置。所述方法包括:响应于接收到对服务器的用户请求,代理服务器的响应对象;确定是否需要针对所述用户请求进行调整;如果确定需要针对所述用户请求进行调整,则提取与所述用户请求相关的决策参数;根据所述决策参数确定针对所述用户请求的调整策略;根据所述调整策略对来自服务器的响应数据流执行调整;以及输出与调整后的响应数据流相对应的响应对象。

Description

用于控制web系统的响应数据流的方法和装置
技术领域
本发明涉及计算机领域,具体地,涉及一种用于控制web系统的响应数据流的方法和装置。
背景技术
Web系统在某些场景下需要对系统的返回结果数据流进行统一处理,例如,对响应内容进行修改重排、插入、删除等。作为一种示例,在系统服务降级的情况下,用户访问指定的服务,统一返回停止服务的页面,不对真实服务进行调用,可用于将指定系统功能暂停对外提供服务等。作为另一示例,在响应页面内容替换的情况下,对符合条件的页面响应内容进行动态替换,如更换网页标题等。
然而在这些情况下,往往需要单独编写相应的代码并重新部署,导致每次对于新的场景都需要添加的新的判断逻辑,并返回新的数据流,且对于每次调整都需要重新部署系统,使得处理时间和步骤冗长。
因此,需要一种用于控制web系统的响应数据流的方法和装置,可以配置调整系统响应数据而无须编码和重新部署,从而实现数据流控制可配置化,动态调整线上服务器返回的数据流而不需要重新部署服务器,以及统一控制整套系统的数据流的目的。
发明内容
为了至少解决上述问题中的至少一个,本发明提供了一种用于控制web系统的相应数据流的方法和装置以及一种对响应数据流进行控制的web系统。
根据本发明的第一方面,提供了一种用于控制web系统的响应数据流的方法,所述方法可以包括:响应于接收到对服务器的用户请求,代理服务器的响应对象;确定是否需要针对所述用户请求进行调整;如果确定需要针对所述用户请求进行调整,则提取与所述用户请求相关的决策参数;根据所述决策参数确定针对所述用户请求的调整策略;根据所述调整策略对来自服务器的响应数据流执行调整;以及输出与调整后的响应数据流相对应的响应对象。
优选地,所述决策参数包括所述用户请求的用户信息和请求地址中的至少一个。
优选地,所述方法还包括:如果确定不需要针对所述用户请求进行调整,则直接访问服务器的实际业务并输出与来自服务器的响应数据流相对应的响应对象。
优选地,根据所述调整策略对来自服务器的响应数据流执行调整包括根据以下至少一项来调整响应数据流:请求响应的内容类型、数据流长度和发起请求的用户。
优选地,所述调整策略包括当发起请求的用户没有访问权限时,禁止访问。
优选地,所述调整策略包括对指定用户提供指定的响应数据流。
优选地,所述调整策略包括向指定的响应数据流插入内容。
根据本发明的第二方面,还提供了一种用于控制web系统的响应数据流的装置,包括:响应包装过滤器,配置为响应于接收到对服务器的用户请求,代理服务器的响应对象;数据流过滤拦截器,配置为确定是否需要针对所述用户请求进行调整,其中如果确定需要针对所述用户请求进行调整,则提取并发送与所述用户请求相关的决策参数;数据流控制决策器,配置为接收来自所述数据流过滤拦截器的决策参数,并根据所述决策参数确定针对所述用户请求的调整策略;以及数据流合成器,配置为根据从所述数据流控制决策器接收的所述调整策略,对来自服务器的响应数据流执行调整;其中所述响应包装过滤器还配置为从数据流合成器接收调整后的响应数据流,并输出与调整后的响应数据流相对应的响应对象。
优选地,所述数据流过滤拦截器还配置为如果确定不需要针对所述用户请求进行调整则直接访问服务器的实际业务,且所述响应包装过滤器还配置为接收来自服务器的响应数据流并输出与所述响应数据流相对应的响应对象。
根据本发明的第三方面,提供了一种对响应数据流进行控制的web系统,包括:一个或多个服务器,配置为响应于接收到用户请求,对用户请求进行响应;以及控制装置,配置为控制所述一个或多个服务器的响应,所述控制装置包括:响应包装过滤器,配置为响应于接收到对所述一个或多个服务器之一的用户请求,代理针对所述服务器的响应对象;数据流过滤拦截器,配置为确定是否需要针对所述用户请求进行调整,其中如果确定需要针对所述用户请求进行调整,则提取并发送与所述用户请求相关的决策参数;数据流控制决策器,配置为接收来自所述数据流过滤拦截器的决策参数,并根据所述决策参数确定针对所述用户请求的调整策略;以及数据流合成器,配置为从所述服务器接收针对所述用户请求的响应数据流并从所述数据流控制决策器接收所述对应调整策略,并根据所述调整策略对来自所述服务器的响应数据流执行调整;其中所述响应包装过滤器还配置为从数据流合成器接收调整后的响应数据流,并输出与调整后的响应数据流相对应的响应对象。
附图说明
以下结合附图,将更清楚本发明的示例实施例的上述和其它方面、特征以及优点,附图中:
图1示出了根据本发明的示例实施例的用于控制web系统的响应数据流的装置100的框图;
图2示出了根据本发明的示例实施例的用于控制web系统的响应数据流的方法200的流程图;以及
图3示出了根据本发明的示例实施例的用于对响应数据流进行控制的web系统1000的示意图。
具体实施方式
以下参考附图描述了本发明的示例实施。本发明提供了一种用于控制web系统的响应数据流的方法和装置,可以配置调整例如web系统的响应数据而无须编码和重新部署,从而实现数据流控制可配置化,动态调整线上服务器返回的数据流而不需要重新部署服务器,以及统一控制整套web系统的数据流的目的。
应注意,为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。需要说明的是,在附图或说明书描述中,相似或相同的部分都使用相同的图号。
图1示出了根据本发明的示例实施例的用于控制web系统的响应数据流的装置100的框图。
具体地,如图1所示,根据本发明的示例实施例的用于控制web系统的响应数据流的装置100可以包括响应包装过滤器110、数据流过滤拦截器120、数据流控制决策器130和数据流合成器140。响应包装过滤器110可以配置为响应于接收到对服务器的用户请求,代理服务器的响应对象。数据流过滤拦截器120可以配置为确定是否需要针对所述用户请求进行调整,其中如果确定需要针对所述用户请求进行调整,则提取并发送与所述用户请求相关的决策参数。数据流控制决策器130可以配置为接收来自所述数据流过滤拦截器的决策参数,并根据所述决策参数确定针对所述用户请求的调整策略。数据流合成器140可以配置为根据从所述数据流控制决策器接收的所述调整策略,对来自服务器的响应数据流执行调整。此外,响应包装过滤器110还可以配置为从数据流合成器接收调整后的响应数据流,并输出与调整后的响应数据流相对应的响应对象。
以下将结合所提出的用于控制web系统的响应数据流的方法200来详细描述关于用于控制web系统的响应数据流的装置100的操作的更多细节。当然,所述装置100还可以可选性地包括任何其他附件或备选器件,以便实现根据本发明示例实施例的方法。
图2示出了根据本发明的示例实施例的用于控制web系统的响应数据流的方法200的流程图。
具体地,在步骤S210,响应包装过滤器110可以响应于接收到对服务器的用户请求,代理服务器的响应对象。由于不同应用服务器具有不同的响应对象,无法实现对应用服务器的响应对象的统一操作,故而设计了该过滤器,以便统一处理对各种应用服务器响应的操作。当接收到用户请求时,应用服务器针对每次请求创建用于代表请求的请求对象以及用于代表响应的响应对象。请求对象含有关于用户请求的信息,例如,发起应用的用户信息、请求地址等。在本发明的示例实施例中,响应包装过滤器110响应于接收到对服务器的用户请求,用其固有的响应对象代替服务器的响应对象,即,代理服务器的响应对象。也就是说,用户请求首先通过该过滤器到达应用服务器,处理完业务逻辑之后,再通过该过滤器对服务器返回的响应内容做对应的调整。
在步骤S220,数据流过滤拦截器120可以,确定是否需要针对所述用户请求进行调整,其中如果确定需要针对所述用户请求进行调整,则提取并发送与所述用户请求相关的决策参数。也就是说,数据流过滤拦截器120通过预置的规则,判断当前用户请求是否需要经过数据流控制决策器进行策略调整。如果需要调整(S220-是),则在步骤S231准备相应的决策器请求参数(例如,请求发起的用户、请求地址等信息),并对数据流控制决策器130发起请求。否则在步骤S232将直接访问服务器的实际业务(S220-否),此时所述响应包装过滤器110还配置为接收来自服务器的响应数据流并输出与所述响应数据流相对应的响应对象。
然后,在步骤240,数据流控制决策器130可以接收来自所述数据流过滤拦截器的决策参数,并根据所述决策参数确定针对所述用户请求的调整策略。数据流调整策略根据包括但不限于以下项中的至少一项来控制对响应数据流的处理方式:请求响应的内容类型、数据流长度、发起请求的用户等。所述调整策略可以包括对请求访问权限的控制,例如,如果当前用户没有访问权限则返回无权限的策略。所述调整策略还可以包括对响应内容文案的调整,例如,可以对指定用户替换页面标题、网页样式等。此外,所述调整策略还可以包括页面内容注入,即,向指定的响应数据流插入内容,例如对指定的页面插入统一的监控代码、消息提示代码等。
接着,在步骤S250,数据流合成器140可以根据从所述数据流控制决策器接收的所述调整策略,对来自服务器的响应数据流执行调整,并将结果返回给响应包装过滤器110。所述来自服务器的响应数据流可以是直接从服务器接收的响应数据流。在另一实施例中,所述来自服务器的响应数据流也可以是间接来自服务器的响应数据流,例如,通过响应包装过滤器110向其传送的来自服务器的响应数据流。也就是说,根据数据流控制决策器130返回的调整策略,数据流合成器140判定是否需要对真实的服务进行调用执行,以及对执行后的响应数据流进行相应的调整操作,最终将处理过的数据流返回给过滤器110。
最终,在步骤S260,所述响应包装过滤器110从数据流合成器130接收调整后的响应数据流,并输出与调整后的响应数据流相对应的响应对象,即返回处理后的数据流给客户端或浏览器。
通过使用根据本发明的实施例的用于控制web系统的响应数据流的方法和装置,可以配置调整系统响应数据而无须编码和重新部署,从而实现数据流控制可配置化,动态调整线上服务器返回的数据流而不需要重新部署服务器,以及统一控制整套系统的数据流的目的。依托该功能可以实现很多其他功能,如实时控制不同用户展示不同内容,控制服务的访问权限等。
图3示出了根据本发明的示例实施例的用于对响应数据流进行控制的web系统1000的示意图。
如图2所示,根据本发明实施例的对响应数据流进行控制的web系统1000包括:一个或多个服务器300(例如,服务器300-1、服务器300-2和服务器300-3等),配置为响应于接收到用户请求,对用户请求进行响应;以及根据上述实施例所述的web系统的响应数据流的控制装置100,配置为控制所述一个或多个服务器的响应。所述控制装置100包括:响应包装过滤器110,配置为响应于接收到对所述一个或多个服务器之一的用户请求,代理针对所述服务器的响应对象;数据流过滤拦截器120,配置为确定是否需要针对所述用户请求进行调整,其中如果确定需要针对所述用户请求进行调整,则提取并发送与所述用户请求相关的决策参数;数据流控制决策器130,配置为接收来自所述数据流过滤拦截器的决策参数,并根据所述决策参数确定针对所述用户请求的调整策略;以及数据流合成器140,配置为从所述服务器接收针对所述用户请求的响应数据流并从所述数据流控制决策器接收所述对应调整策略,并根据所述调整策略对来自所述服务器的响应数据流执行调整。所述响应包装过滤器110还配置为从数据流合成器接收调整后的响应数据流,并输出与调整后的响应数据流相对应的响应对象。控制装置的具体执行步骤如参考图2所示,因此将不再进行赘述。
以上方案仅是示出本发明构思的一个具体实现方案,本发明不限于上述实现方案。可以省略或跳过上述实现方案中的一部分处理,而不脱离本发明的精神和范围。
前面的方法可以通过多种计算机装置以可执的程序命令形式实现并记录在计算机可读记录介质中。在这种情况下,计算机可读记录介质可以包括单独的程序命令、数据文件、数据结构或其组合。同时,记录在记录介质中的程序命令可以专门设计或配置用于本发明,或是计算机软件领域的技术人员已知应用的。计算机可读记录介质包括例如硬盘、软盘或磁带等磁性介质、例如压缩盘只读存储器(CD-ROM)或数字通用盘(DVD)等光学介质、例如光磁软盘的磁光介质以及例如存储和执行程序命令的ROM、RAM、闪存等硬件装置。此外,程序命令包括编译器形成的机器语言代码和计算机通过使用解释程序可执行的高级语言。前面的硬件装置可以配置成作为至少一个软件模块操作以执行本发明的操作,并且逆向操作也是一样的。
尽管以特定顺序示出并描述了本文方法的操作,然而可以改变每个方法的操作的顺序,使得可以以相反顺序执行特定操作或使得可以至少部分地与其它操作同时来执行特定操作。此外,本发明不限于上述示例实施例,它可以在不脱离本公开的精神和范围的前提下,包括一个或多个其他部件或操作,或省略一个或多个其他部件或操作。
以上已经结合本发明的优选实施例示出了本发明,但是本领域的技术人员将会理解,在不脱离本发明的精神和范围的情况下,可以对本发明进行各种修改、替换和改变。因此,本发明不应由上述实施例来限定,而应由所附权利要求及其等价物来限定。

Claims (10)

1.一种用于控制web系统的响应数据流的方法,包括:
响应于接收到对服务器的用户请求,代理服务器的响应对象;
确定是否需要针对所述用户请求进行调整;
如果确定需要针对所述用户请求进行调整,则提取与所述用户请求相关的决策参数;
根据所述决策参数确定针对所述用户请求的调整策略;
根据所述调整策略对来自服务器的响应数据流执行调整;以及
输出与调整后的响应数据流相对应的响应对象。
2.根据权利要求1所述的方法,其中所述决策参数包括所述用户请求的用户信息和请求地址中的至少一个。
3.根据权利要求1所述的方法,还包括:如果确定不需要针对所述用户请求进行调整,则直接访问服务器的实际业务并输出与来自服务器的响应数据流相对应的响应对象。
4.根据权利要求1所述的方法,其中根据所述调整策略对来自服务器的响应数据流执行调整包括根据以下至少一项来调整响应数据流:请求响应的内容类型、数据流长度和发起请求的用户。
5.根据权利要求4所述的方法,其中所述调整策略包括当发起请求的用户没有访问权限时,禁止访问。
6.根据权利要求4所述的方法,其中所述调整策略包括对指定用户提供指定的响应数据流。
7.根据权利要求4所述的方法,其中所述调整策略包括向指定的响应数据流插入内容。
8.一种用于控制web系统的响应数据流的装置,包括:
响应包装过滤器,配置为响应于接收到对服务器的用户请求,代理服务器的响应对象;
数据流过滤拦截器,配置为确定是否需要针对所述用户请求进行调整,其中如果确定需要针对所述用户请求进行调整,则提取并发送与所述用户请求相关的决策参数;
数据流控制决策器,配置为接收来自所述数据流过滤拦截器的决策参数,并根据所述决策参数确定针对所述用户请求的调整策略;以及
数据流合成器,配置为根据从所述数据流控制决策器接收的所述调整策略,对来自服务器的响应数据流执行调整;
其中所述响应包装过滤器还配置为从数据流合成器接收调整后的响应数据流,并输出与调整后的响应数据流相对应的响应对象。
9.根据权利要求8所述的装置,其中所述数据流过滤拦截器还配置为如果确定不需要针对所述用户请求进行调整则直接访问服务器的实际业务,且所述响应包装过滤器还配置为接收来自服务器的响应数据流并输出与所述响应数据流相对应的响应对象。
10.一种对响应数据流进行控制的web系统,包括:
一个或多个服务器,配置为响应于接收到用户请求,对用户请求进行响应;以及
控制装置,配置为控制所述一个或多个服务器的响应,所述控制装置包括:
响应包装过滤器,配置为响应于接收到对所述一个或多个服务器之一的用户请求,代理针对所述服务器的响应对象;
数据流过滤拦截器,配置为确定是否需要针对所述用户请求进行调整,其中如果确定需要针对所述用户请求进行调整,则提取并发送与所述用户请求相关的决策参数;
数据流控制决策器,配置为接收来自所述数据流过滤拦截器的决策参数,并根据所述决策参数确定针对所述用户请求的调整策略;以及
数据流合成器,配置为从所述服务器接收针对所述用户请求的响应数据流并从所述数据流控制决策器接收所述对应调整策略,并根据所述调整策略对来自所述服务器的响应数据流执行调整;
其中所述响应包装过滤器还配置为从数据流合成器接收调整后的响应数据流,并输出与调整后的响应数据流相对应的响应对象。
CN201610461533.9A 2016-06-23 2016-06-23 用于控制web系统的响应数据流的方法、装置和计算机可读存储介质 Active CN107547579B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610461533.9A CN107547579B (zh) 2016-06-23 2016-06-23 用于控制web系统的响应数据流的方法、装置和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610461533.9A CN107547579B (zh) 2016-06-23 2016-06-23 用于控制web系统的响应数据流的方法、装置和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN107547579A true CN107547579A (zh) 2018-01-05
CN107547579B CN107547579B (zh) 2021-01-26

Family

ID=60960386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610461533.9A Active CN107547579B (zh) 2016-06-23 2016-06-23 用于控制web系统的响应数据流的方法、装置和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN107547579B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070180147A1 (en) * 2006-02-01 2007-08-02 Connect It, Llc System for insertion of advertising content in user-requested internet web pages
US20110055912A1 (en) * 2009-08-25 2011-03-03 Sentillion, Inc. Methods and apparatus for enabling context sharing
CN102792292A (zh) * 2009-12-07 2012-11-21 考持·维 站点性能优化和因特网业务处理的系统和方法
CN103685304A (zh) * 2013-12-25 2014-03-26 Tcl集团股份有限公司 一种共享session信息的方法和系统
CN104821963A (zh) * 2015-04-30 2015-08-05 华为技术有限公司 推荐信息展示方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070180147A1 (en) * 2006-02-01 2007-08-02 Connect It, Llc System for insertion of advertising content in user-requested internet web pages
US20110055912A1 (en) * 2009-08-25 2011-03-03 Sentillion, Inc. Methods and apparatus for enabling context sharing
CN102792292A (zh) * 2009-12-07 2012-11-21 考持·维 站点性能优化和因特网业务处理的系统和方法
CN103685304A (zh) * 2013-12-25 2014-03-26 Tcl集团股份有限公司 一种共享session信息的方法和系统
CN104821963A (zh) * 2015-04-30 2015-08-05 华为技术有限公司 推荐信息展示方法及装置

Also Published As

Publication number Publication date
CN107547579B (zh) 2021-01-26

Similar Documents

Publication Publication Date Title
CN104519050B (zh) 登录方法和登录系统
CN106874389A (zh) 数据的迁移方法和装置
CN104394133B (zh) 登录方法和登录系统
CN108897691A (zh) 基于接口模拟服务的数据处理方法、装置、服务器和介质
CN108306877A (zh) 基于node js的用户身份信息的验证方法、装置和存储介质
CN107784065A (zh) 业务数据跟踪方法、装置、计算机设备及存储介质
JP2019510320A (ja) 問題予測方法及びシステム
CN106875303A (zh) 实现电子协议签约的方法和装置
CN103152391B (zh) 一种日志输出方法和装置
CN104640114B (zh) 一种访问请求的验证方法及装置
CN106961469A (zh) 基于http代理服务器的无感知定向代理方法及系统
CN104796412B (zh) 端到端云服务系统及对其敏感数据的访问方法
CN108718337A (zh) 网站账号登录、验证、验证信息处理方法、装置及系统
CN108280761A (zh) 增信方分配方法、装置、计算机设备和存储介质
CN108830099A (zh) 调用api接口的验证方法、装置、计算机设备和存储介质
CN109993524A (zh) 卡券管理方法、装置、设备及计算机可读存储介质
CN108769973A (zh) 一种蓝牙设备的隐私保护方法
CN108053088A (zh) 一种用户管理系统、方法和装置
CN109040024A (zh) 一种资源访问权限控制方法及系统
CN108965291A (zh) 混合应用程序的注册登录方法、系统及计算机设备
CN106034126B (zh) 验证码的校验方法及装置
CN109272324A (zh) 一种业务功能实现方法、系统、设备及计算机存储介质
CN108769186A (zh) 业务权限控制方法及装置
CN108132991A (zh) 一种h5页面加载方法及系统
CN106817388A (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