CN107196800B - 一种基于配置的超时分层控制方法 - Google Patents

一种基于配置的超时分层控制方法 Download PDF

Info

Publication number
CN107196800B
CN107196800B CN201710390556.XA CN201710390556A CN107196800B CN 107196800 B CN107196800 B CN 107196800B CN 201710390556 A CN201710390556 A CN 201710390556A CN 107196800 B CN107196800 B CN 107196800B
Authority
CN
China
Prior art keywords
configuration
user
level
module
timeout
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.)
Active
Application number
CN201710390556.XA
Other languages
English (en)
Other versions
CN107196800A (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.)
Inspur General Software Co Ltd
Original Assignee
Inspur General Software 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 Inspur General Software Co Ltd filed Critical Inspur General Software Co Ltd
Priority to CN201710390556.XA priority Critical patent/CN107196800B/zh
Publication of CN107196800A publication Critical patent/CN107196800A/zh
Application granted granted Critical
Publication of CN107196800B publication Critical patent/CN107196800B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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)
  • Computer And Data Communications (AREA)

Abstract

本发明提供一种基于配置的超时分层控制方法,涉及计算机请求资源访问技术领域,本发明基于微软企业库的配置管理机制,能够通过配置灵活的控制请求的超时时间,尤其对于业务复杂系统中对于请求的超时时间的个性化需求。该控制方法对于超时的控制分为两部分:客户端控制和服务端的控制,同时客户端又分为产品级和用户级的控制,同时每个级别又分为功能点、模块和全局的控制,通过以上的多层控制,满足了用户对于请求超时的不同粒度控制。

Description

一种基于配置的超时分层控制方法
技术领域
本发明涉及计算机请求资源访问技术领域,尤其涉及一种基于配置的超时分层控制方法。
背景技术
随着Internet的发展及其用户的增加,网络请求的行为变得越来越复杂。尤其针对一些大型的ERP(Enterprise Resource Planning)软件来说,在客户端和服务端的交互过程中,存在这大量的网络请求,这样网络请求的超时时间控制就显得十分重要。请求超时时间是请求中的重要属性之一,不同的超时时间设置,对资源的消耗和用户的体验有很大的影响,如果超时设置过长,将导致请求大量占用存储空间和消耗计算资源,从而导致服务端负载过重,影响总体的应用体验。
传统的超时控制方法,超时的设置分为客户端超时和服务端超时,客户端的超时依赖于HTTP(HyperText Transfer Protocol)中的请求的设置,服务端的超时依赖于IIS(Internet Information Services)的设置,这种机制,虽然能够满足简单的超时设置,但是对于复杂业务系统来说,无法满足其请求超时时间的细粒度控制,并且缺少统一的管理机制,不方便设置和使用。
发明内容
为了解决以上技术问题,本发明提出了一种基于配置的超时分层控制方法。尤其适用于比较复杂的业务系统中对服务端请求的超时控制,能够满足复杂业务系统中对超时的个性化需求。
本发明的技术方案是:
该方法主要由客户端控制和服务端控制两部分组成。详细的控制方法的步骤如下:
步骤一:定义客户端控制的配置实体类。实体类的定义的信息包括产品级配置实体类和用户个性化配置实体类;
步骤二:配置对应的配置文件。基于步骤一定义的配置实体类,对配置文件进行超时的配置;
步骤三:超时控制服务的调用。超时控制服务的调用分为三种情况:使用定义功能点超时时间、使用默认模块超时时间和使用全局默认的超时时间;
步骤四:客户端超时配置的控制。对于客户端的超时配置的控制,配置分为用户级配置和产品级配置,如果存在用户级配置,优先级高于产品级配置;
步骤五:服务端超时配置的控制。根据定义好的规则,重新设置本次请求的服务端超时时间;
步骤六:根据配置,访问资源。根据步骤四和五设置的超时配置时间,对资源进行访问。
其中,产品级配置实体类和用户个性化配置实体类分别包括配置实体类和模块实体类;
其配置的实体类包含的属性为:配置节名称(SectionName),默认值(DefaultValue),模块配置集合(NamedElementCollection<ModuleConfig>)。其中模块实体类又包含的属性:关键应用默认值,属性集合。
进一步的,所述的配置对应的配置文件,配置文件包含两层配置文件:产品级配置(Configuration.config)和用户级配置(Configuration_User.config)。首先配置全局的默认值(DefaultValue),该值的作用是对于未配置的功能点,并且该功能点所属的模块也未进行配置时的超时时间,根据需要进行配置;模块的默认超时时间,是针对某一模块来说的默认值,如果在模块内部未配置对应功能点的超时时间,则本模块所有未配置的功能点的超时时间,都是本模块的默认时间;模块内部的功能点的超时时间,是为特殊识别的功能点准备的,以便满足其个别功能点需要个别配置的需求。以上配置都是对产品级配置文件来说明的,如果用户有个性化的配置,在用户配置文件中进行配置。在用户级配置文件存在的情况下,其各个配置的优先级:用户级的功能点配置>产品级的功能点配置>用户级的模块配置>产品及的模块配置>用户级全局默认配置>产品级全局默认配置。
进一步的,所述的超时控制服务的调用。超时控制服务的调用分为三种情况:使用定义功能点超时时间、使用默认模块超时时间和使用全局默认的超时时间。如果该功能点配置了自己的个性化超时时间,需要在调用请求之前,传入在配置文件中配置对应功能点的名称,以便超时配置组件在发送http请求时,根据名称获取其配置的超时时间;对于其他的功能点请求,则无需传入名称,超时控制模块会根据你所属的模块信息,如果配置了模块默认值,则按照默认值设置,如果未配置模块默认超时时间,则按照其全局默认值处理。
进一步的,所述的超时配置的主要处理逻辑,其主要的步骤包括以下几步:
1、用户请求服务端资源,调用超时配置服务;
2、判断该客户端是否存在用户配置,如果存在用户配置,则转入用户配置处理,如果不存在,则转入产品配置处理;
3、对于用户配置处理,查询其功能点的个性化配置,如果存在其配置,则直接返回,如果不存在,查询产品的功能点配置,如果存在,则直接返回;
4、查询模块配置,如果存在用户配置,则查询用户的模块配置,如果存在其个性化结果,则返回;如果不存在用户级模块配置,则查询产品级模块配置,如果存在,直接返回结果;
5、查询全局默认值,如果存在用户配置,则查询用户级全局默认值,存在则直接返回;如果不存在用户级全局默认值,则查询产品级全局默认值,返回查询结果。
进一步的,所述的服务端超时配置的控制。服务端实现了一个HttpModule的拦截,根据设置的客户端时间和web.config中配置的服务端超时时间,如果客户端超时时间-服务端超时时间>10,则将本次请求的服务端超时时间,设置为客户端超时时间,否则不设置,仍然使用web.config中配置的时间。
本方法基于微软企业库的配置管理机制,能够通过配置灵活的控制请求的超时时间,尤其对于业务复杂系统中对于请求的超时时间的个性化需求。该控制方法对于超时的控制分为两部分:客户端控制和服务端的控制,同时客户端又分为产品级和用户级的控制,同时每个级别又分为功能点、模块和全局的控制,通过以上的多层控制,满足了用户对于请求超时的不同粒度控制。
附图说明
图1是基于配置的超时分层控制总体框架图;
图2是权限模型访问控制总体流程图。
具体实施方式
下面对本发明的内容进行更加详细的阐述:
本发明的一种基于配置的超时分层控制方法,其具体操作步骤为:
步骤一:定义客户端控制的配置实体类。实体类的定义的信息包括产品级配置实体类和用户个性化配置实体类。
(1)配置实体类主要属性
[ConfigurationProperty("DefaultValue")]
[DisplayName("默认值")]
public string DefaultValue
{
get { return (string)this["DefaultValue"]; }
set { this["DefaultValue"] = value; }
}
[ConfigurationProperty("Modules")]
public NamedElementCollection<ModuleConfig> ModuleConfigs
{
get { return (NamedElementCollection<ModuleConfig>)base["Modules"]; }
set { base["Modules"] = value; }
}
(2)模块实体类主要属性
[ConfigurationProperty("DefaultValue", IsRequired = true)]
[DisplayName("关键应用默认值")]
public string DefaultValue
{
get { return (string)this["DefaultValue"]; }
set
{
DataValidator.CheckForBlankString(value, "DefaultValue");
this["DefaultValue"] = (object)value;
this.Name = value;
}
}
步骤二:配置对应的配置文件。基于步骤一定义的配置实体类,对配置文件进行超时的配置;
<RequestTimeout DefaultValue="0">
<Modules>
<add name="模块名称" DefaultValue="120">
<TimeoutConfigs>
<add PropertyName="功能点名称1" Value="180" name="功能点名称1" />
<add PropertyName="功能点名称2" Value="300" name="功能点名称2" />
</TimeoutConfigs>
</add>
</Modules>
</RequestTimeout>
步骤三:超时控制服务的调用。超时控制服务的调用分为三种情况:使用定义功能点超时时间、使用默认模块超时时间和使用全局默认的超时时间;
步骤四:客户端超时配置的控制。对于客户端的超时配置的控制,配置分为用户级配置和产品级配置,如果存在用户级配置,优先级高于产品级配置。其提供的服务端接口如下:
/// <summary>
/// 根据动作名称,获取超时时间 单位:毫秒
/// </summary>
/// <param name="moduleName">模块名称</param>
/// <param name="timeoutConfigKey">动作名称</param>
/// <returns>超时时间</returns>
public int GetRequestTimeout(string moduleName, stringtimeoutConfigKey = "")
步骤五:服务端超时配置的控制。根据定义好的规则,重新设置本次请求的服务端超时时;
public class RequestTimeoutHandler: IHttpModule
{
public void Init(HttpApplication context)
private void context_BeginRequest(object sender, EventArgs e)
}
步骤六:根据配置,访问资源。根据步骤四和五设置的超时配置时间,对资源进行访问。

Claims (4)

1.一种基于配置的超时分层控制方法,
包括以下几个步骤:
步骤一:定义客户端控制的实体类,实体类的定义的信息包括产品级配置实体类和用户个性化配置实体类;
步骤二:配置对应的配置文件,基于步骤一定义的配置实体类,对配置文件进行超时的配置;
步骤三:超时控制服务的调用,超时控制服务的调用分为三种情况:使用定义功能点超时时间、使用默认模块超时时间和使用全局默认的超时时间;
步骤四:客户端超时配置的控制,对于客户端的超时配置的控制,配置分为用户级配置和产品级配置,如果存在用户级配置,优先级高于产品级配置;
步骤五:服务端超时配置的控制,根据定义好的规则,重新设置本次请求的服务端超时时间;
步骤六:根据配置,访问资源,根据步骤四和五设置的超时配置时间,对资源进行访问;
步骤一中,产品级配置实体类和用户个性化配置实体类分别包括配置实体类和模块实体类;
配置实体类包含的属性为:配置节名称,默认值,模块配置集合;
模块实体类包含的属性:关键应用默认值,属性集合;
其特征在于,
步骤二,配置对应的配置文件,配置文件包含两层配置文件:产品级配置和用户级配置;
首先配置全局的默认值,该值的作用是对于未配置的功能点,并且该功能点所属的模块也未进行配置时的超时时间,根据需要进行配置;
如果用户有个性化的配置,在用户配置文件中进行配置;在用户级配置文件存在的情况下,其各个配置的优先级:用户级的功能点配置>产品级的功能点配置>用户级的模块配置>产品级的模块配置>用户级全局默认配置>产品级全局默认配置。
2.根据权利要求1所述方法,其特征在于,
步骤三,超时控制服务的调用;超时控制服务的调用分为三种情况:使用定义功能点超时时间、使用默认模块超时时间和使用全局默认的超时时间;
如果该功能点配置了自己的个性化超时时间,需要在调用请求之前,传入在配置文件中配置对应功能点的名称,以便超时配置组件在发送http请求时,根据名称获取其配置的超时时间;
对于其他的功能点请求,则无需传入名称,超时控制模块会根据所属的模块信息,如果配置了模块默认值,则按照默认值设置,如果未配置模块默认超时时间,则按照其全局默认值处理。
3.根据权利要求2所述方法,其特征在于,
步骤四,超时配置的处理逻辑,包括以下几个步骤:
1)用户请求服务端资源,调用超时配置服务;
2)判断该客户端是否存在用户配置,如果存在用户配置,则转入用户配置处理,如果不存在,则转入产品配置处理;
3)对于用户配置处理,查询其功能点的个性化配置,如果存在其配置,则直接返回查询结果,如果不存在,查询产品的功能点配置,如果存在,则直接返回查询结果;
4)查询模块配置,如果存在用户配置,则查询用户的模块配置,如果存在其个性化结果,则返回查询结果;如果不存在用户级模块配置,则查询产品级模块配置,如果存在,直接返回查询结果;
5)查询全局默认值,如果存在用户配置,则查询用户级全局默认值,存在则直接返回查询结果;如果不存在用户级全局默认值,则查询产品级全局默认值,返回产品默认值。
4.根据权利要求3所述方法,其特征在于,
步骤五,服务端超时配置的控制;服务端实现了一个HttpModule的拦截,根据设置的客户端时间和web.config中配置的服务端超时时间,如果客户端超时时间-服务端超时时间>10S,则将本次请求的服务端超时时间,设置为客户端超时时间,否则不设置,仍然使用web.config中配置的时间。
CN201710390556.XA 2017-05-27 2017-05-27 一种基于配置的超时分层控制方法 Active CN107196800B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710390556.XA CN107196800B (zh) 2017-05-27 2017-05-27 一种基于配置的超时分层控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710390556.XA CN107196800B (zh) 2017-05-27 2017-05-27 一种基于配置的超时分层控制方法

Publications (2)

Publication Number Publication Date
CN107196800A CN107196800A (zh) 2017-09-22
CN107196800B true CN107196800B (zh) 2021-03-16

Family

ID=59875139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710390556.XA Active CN107196800B (zh) 2017-05-27 2017-05-27 一种基于配置的超时分层控制方法

Country Status (1)

Country Link
CN (1) CN107196800B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109376024B (zh) * 2018-11-01 2021-07-06 郑州云海信息技术有限公司 一种服务信息配置方法与装置
CN113114505B (zh) * 2021-04-13 2022-07-12 广州海鹚网络科技有限公司 基于httpClient的访问请求处理方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103259870A (zh) * 2013-05-31 2013-08-21 北京京东尚科信息技术有限公司 一种Web应用服务方法和系统
CN106713305A (zh) * 2016-12-20 2017-05-24 济南浪潮高新科技投资发展有限公司 一种基于功能级超时配置的防止重放攻击方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103259870A (zh) * 2013-05-31 2013-08-21 北京京东尚科信息技术有限公司 一种Web应用服务方法和系统
CN106713305A (zh) * 2016-12-20 2017-05-24 济南浪潮高新科技投资发展有限公司 一种基于功能级超时配置的防止重放攻击方法

Also Published As

Publication number Publication date
CN107196800A (zh) 2017-09-22

Similar Documents

Publication Publication Date Title
US11461330B2 (en) Managed query service
TWI225990B (en) Autonomic provisioning of network-accessible service behaviors within a federated grid infrastructure
US8930731B2 (en) Reducing power consumption in data centers having nodes for hosting virtual machines
KR101354013B1 (ko) 네트워크 서비스 제공자 간 동적 리소스 협업
JP4593078B2 (ja) 異なる計算機環境におけるジョブ実行方法及びそのプログラム
CN101645022B (zh) 用于多个集群的作业调度管理系统及方法
US20110258248A1 (en) Elastic Management of Compute Resources Between a Web Server and an On-Demand Compute Environment
US10970303B1 (en) Selecting resources hosted in different networks to perform queries according to available capacity
JP2016514311A (ja) 単一テナント及び複数テナント環境を提供するデータベースシステム
JP2007518169A (ja) 準最適な最適とはいえないグリッド環境内におけるアプリケーションの動作の維持
WO2011144029A1 (zh) 云服务中介、云计算方法及云系统
WO2003058462A1 (en) System for optimizing the invocation of computer-based services deployed in a distributed computing environment
CN103546571A (zh) 一种平台即服务实现方法及装置
US20110258320A1 (en) Elastic management of compute resources between a web server and an on-demand compute environment
CN107426323A (zh) 一种基于分布式的资源服务与可视化监控系统及方法
WO2016095524A1 (zh) 资源分配方法及装置
CN107196800B (zh) 一种基于配置的超时分层控制方法
KR102090911B1 (ko) 컨테이너 기반의 클라우드 서비스 제공 시스템
JP2010152818A (ja) サーバシステム
CN103561113B (zh) Web Service接口的生成方法及装置
US20200153749A1 (en) Biased selection of dedicated physical connections to provider network
CN105262626A (zh) 一种满足云中gis高性能服务需求的监控系统
US10348814B1 (en) Efficient storage reclamation for system components managing storage
US20160302022A1 (en) Service provisioning and activation in telecommunications network
CN111294383B (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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Zheng Weibo

Inventor after: Liu Jianhua

Inventor after: Wang Yandong

Inventor before: Liu Jianhua

Inventor before: Wang Yandong

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210222

Address after: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong

Applicant after: INSPUR GENERAL SOFTWARE Co.,Ltd.

Address before: 250100 No. 2877 Kehang Road, Sun Village Town, Jinan High-tech District, Shandong Province

Applicant before: SHANDONG INSPUR GENESOFT INFORMATION TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant