CN102811154B - 资源获取方法与网络服务器系统 - Google Patents
资源获取方法与网络服务器系统 Download PDFInfo
- Publication number
- CN102811154B CN102811154B CN201110144274.4A CN201110144274A CN102811154B CN 102811154 B CN102811154 B CN 102811154B CN 201110144274 A CN201110144274 A CN 201110144274A CN 102811154 B CN102811154 B CN 102811154B
- Authority
- CN
- China
- Prior art keywords
- thread
- resource
- network server
- server system
- key resource
- 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
Links
Abstract
本申请公开了一种资源获取方法与网络服务器系统,解决现有技术中存在的非关键资源的不稳定造成线程需求过大影响网络服务器系统稳定性的问题。方法包括:网络服务器系统接收业务请求;分配针对业务请求的第一线程;根据业务请求,利用分配的第一线程确定完成业务所需的资源并确定资源的属性信息;根据所述属性信息和预先定义的非关键资源的属性信息,利用第一线程从确定的资源中识别出非关键资源;根据记录的非关键资源占用第二线程的数量,判断非关键资源已占用第二线程的数量是否小于为非关键资源配置的第二线程的数量;在判断结果为是时,分配针对识别出的非关键资源的第二线程;并利用分配的第二线程获取识别出的非关键资源。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种资源获取方法与网络服务器系统。
背景技术
为了清楚地描述本申请实施例提供的方案,首先对文中将要出现的一些专用名词进行解释说明,这些名词包括:
线程(thread):有时也被称为轻量级进程(LWP,Lightweight Process),其是程序执行流的最小单元。
稳定性:用于指示网络服务器系统持续不间断的正常服务占总的运行时间比例的指标,该比例越高,说明网络服务器系统越稳定,反之,说明网络服务器系统不稳定。
网络服务器系统依赖的资源:即完成网络服务器系统提供的服务所需要的资源,包括本地资源和远程资源。如CPU,内存等均为本地资源。网络服务器系统为完成其提供的服务所需要通过远程调用获取的资源为远程资源,以搜索系统这一网络服务器系统为例,其为完成搜索所依赖的搜索引擎资源就是需要远程调用的资源,因而搜索引擎资源就是搜索系统所依赖的远程资源。
网络服务器系统依赖的关键资源:网络服务器系统完成其提供的服务所需的最少资源,该些资源会影响网络服务器系统的核心业务。
网络服务器系统依赖的非关键资源:网络服务器系统完成其提供的服务非必须资源,该些资源不会影响网络服务器系统的核心业务。比如,如用于交易的网络服务器系统(交易系统)中用于实现与交易无关的服务的资源。
针对不同网络服务器系统,其所依赖的关键资源和非关键资源可以视实际情况进行定义。区分关键资源或非关键资源可以根据其属性信息进行,其中,属性信息可以但不限于为资源的名称信息、在网络服务器系统中的存储位置信息等等。
关键资源和非关键资源都可以是相对核心业务而言的。比如,在一个具体的例子中,针对以展示物品信息为核心业务的网络服务器系统来说,物品信息需要从物品数据库里获取,则物品数据库就可以被定义为关键资源,因为若该物品数据库出了问题那么物品信息将不能被展现,从而影响了核心业务;另一方面,这个网络服务器系统还可能需要展现针对物品的用户留言,用户留言是从留言数据库获取的,但是,即使留言数据库出现了问题而使得留言不能正常显示,其也不会影响物品信息的整体展现,从而留言数据库就可以被定义为非关键资源。
结合上述名词介绍,以下对现有技术中存在的问题进行分析说明:
目前,网络服务器系统往往通过横向资源分层、纵向划分子系统的大型集群化方案来解决大吞吐量的问题,但这会导致网络服务器系统依赖的资源非常多。一般地,网络服务器系统所需求的关键资源只占所有资源的一小部分,但是所有资源(包括关键资源和非关键资源)的稳定性却都会直接影响到整个网络服务器系统的稳定性。另外,暴露在公网上的网络服务器系统还容易面对发生资源需求洪流的情况,或者面对流量自然突发增长的情况,一旦这些情况导致对线程的需求量超过了网络服务器系统的线程总容量,都会导致网络服务器系统的不稳定。
针对非关键资源的不稳定性导致网络服务器系统不稳定的情况,关于网络服务器系统的线程数量被瞬间消耗掉的说明如下:
网络服务器系统每秒钟处理的资源请求数量(QPS,Query-Per-Second)的计算公式如下式[1]所示:
QPS=线程数量*(1000/响应时间(单位ms)) [1]
对[1]进行变形得到下述公式[2]:
线程数量=QPS*响应时间(单位ms)/1000 [2]
由于网络服务器系统的QPS在某一个时刻一般为固定值,因此根据[2]可知,响应时间直接影响线程数量,并且两者之间为正比关系。
基于上述分析可知,当网络服务器系统的某非关键资源A的响应时间从原来的10ms变成了3000ms时,则完成同样的QPS所需要的线程数量变为原来的300倍。可见,非关键资源的不稳定导致线程需求过大会对整个网络服务器系统的稳定性造成极大影响。
发明内容
本申请实施例提供一种资源获取方法与网络服务器系统,用以解决现有技术中存在的非关键资源的不稳定造成线程需求过大影响网络服务器系统稳定性的问题。
本申请实施例采用以下技术方案:
一种资源获取方法,包括:网络服务器系统接收业务请求;分配针对所述业务请求的第一线程;根据所述业务请求,利用分配的所述第一线程确定完成业务所需的资源并确定所述资源的属性信息;根据所述属性信息和预先定义的非关键资源的属性信息,利用分配的所述第一线程从确定的资源中识别出非关键资源;当从确定的资源中识别出非关键资源时,根据记录的非关键资源占用第二线程的数量,判断非关键资源已占用第二线程的数量是否小于为非关键资源配置的第二线程的数量;在判断结果为是时,分配针对识别出的非关键资源的第二线程;并利用分配的第二线程获取识别出的非关键资源。
较佳地,分配针对所述业务请求的第一线程,具体包括:
判断占用的第一线程的数量是否小于为所述网络服务器系统配置的可用线程数量;并在判断结果为是时,分配针对所述业务请求的第一线程。
较佳地,上述方法还包括:
记录占用的所述第一线程的数量;当分配或释放所述第一线程时,更新记录的占用的所述第一线程的数量。
较佳地,上述方法还包括:记录占用的所述第二线程的数量;当分配所述第二线程后或者在利用分配的第二线程获取识别出的非关键资源后释放所述第二线程时,更新记录的非关键资源占用的第二线程的数量。
较佳地,上述方法还包括:在判断结果为否时,放弃所述业务请求。
一种网络服务器系统,包括线程记录单元、接收单元、线程分配单元、资源确定单元、资源识别单元、判断单元、获取单元,其中:线程记录单元,用于记录所述网络服务器系统占用的第一线程的数量和非关键资源占用的第二线程的数量;接收单元,用于接收业务请求;线程分配单元,用于分配针对接收单元接收的业务请求的第一线程,并分配针对资源识别单元识别出的非关键资源的第二线程;资源确定单元,用于根据接收单元接收的业务请求,利用线程分配单元分配的第一线程确定完成业务所需的资源,并确定所述资源的属性信息;资源识别单元,用于根据资源确定单元确定的属性信息和预先定义的非关键资源的属性信息,利用线程分配单元分配的第一线程从资源确定单元确定的资源中识别出非关键资源;判断单元,用于根据线程记录单元记录的非关键资源占用的第二线程的数量,判断非关键资源占用的第二线程的数量是否小于预先为非关键资源配置的第二线程的数量;获取单元,用于在判断单元得到的判断结果为是时,利用线程分配单元分配的第二线程获取资源识别单元识别出的非关键资源。
本申请实施例的有益效果如下:
本申请实施例提供的上述方案通过对非关键资源占用的线程进行限制,从而即使对非关键资源的不稳定导致线程需求增加,也不会占用网络服务器系统中太多的线程,从而解决了现有技术中存在的非关键资源的不稳定造成线程需求过大而影响网络服务器系统稳定性的问题。
附图说明
图1为本发明实施例提供的一种资源获取方法的具体流程示意图;
图2为本发明实施例提供的一种业务请求处理方法的具体流程示意图;
图3为在包含稳定性模块的网络服务器系统中实现本申请实施例提供的方案的具体流程示意图;
图4为本发明实施例提供的一种网络服务器系统的具体结构示意图。
具体实施方式
为了解决现有技术中存在的非关键资源的不稳定造成线程需求过大影响网络服务器系统稳定性的问题,本申请中对网络服务器系统使用线程的情况进行了下述分析:
网络服务器系统使用的线程数量一般是有限制的,如中间件jboss,其可看作是一种网络服务器系统,默认配置的工作线程数量限制为200。现有技术中,部署在jboss上进行的业务的关键资源和非关键资源都可以任意占用这200条线程中的部分线程。这样存在的问题在于,一旦非关键资源变得不稳定而导致非关键资源对线程数量的需求增大,势必使得关键资源所能使用的线程数量大大减少,从而导致整个网络服务器系统的不稳定。
通过上述分析,本申请通过对资源所能使用的线程数量进行限制,以保证关键资源所使用的线程数量。比如,针对jboss的200条线程,可以考虑为jboss的关键资源和非关键资源保留190条线程,而剩下的10条线程用于满足资源需求洪流和突发增长的流量。而在保留的190条线程中,又可以为jboss依赖的非关键资源A分配20条线程。这样,即使非关键资源A不稳定,但由于分配给非关键资源A的线程有限,则非关键资源最多会堵塞20条线程,此时依旧有剩余的170条线程来响应对核心资源的请求,从而jboss的稳定性基本不会受到影响。
基于上述思想,本申请实施例提供一种资源获取方案,用以解决现有技术中存在的非关键资源的不稳定造成线程需求过大影响网络服务器系统稳定性的问题。
以下结合附图,对本申请实施例提供的上述方案进行详细说明。
首先,本申请实施例提供一种如图1所示的资源获取方法,该方法包括下述主要步骤:
步骤11,网络服务器系统接收业务请求,分配针对该业务请求的第一线程;
较佳地,在分配了第一线程后,可以更新记录的网络服务器系统已占用的第一线程的数量;
步骤12,网络服务器系统利根据该业务请求,利用分配的第一线程确定完成业务所需的资源,并确定资源的属性信息;其中,该业务请求可以是各种接入网络服务器系统的应用系统或用户终端发送的;
在步骤12中,优选地,网络服务器系统根据业务请求,利用分配的第一线程确定完成业务所需的资源具体可以为:网络服务器系统根据记录的已占用线程的数量,确定出自身已占用线程的数量小于预先为自身配置的可用线程数量时,执行根据业务请求,利用分配的第一线程确定完成业务所需的资源。后续当业务请求占用的线程被释放后,网络服务器系统可以再更新记录的自身已占用线程的数量。
步骤13,根据确定的属性信息和预先定义的非关键资源的属性信息利用分配的第一线程,从确定的资源中识别出具备非关键资源的属性信息的资源,即识别出非关键资源;
步骤14,根据记录的非关键资源占用线程的数量,判断非关键资源占用的第二线程的数量是否小于预先为非关键资源配置的第二线程的数量,在判断结果为是时,执行步骤15;
在步骤14中,在判断结果为否时,可以执行放弃该业务请求的操作。或者,也可以不放弃该业务请求,而改为对非关键资源占用的第二线程进行监控,当监控到有第二线程被释放,使得非关键资源占用的第二线程的数量小于预先为非关键资源配置的第二线程的数量时,再继续执行下一步骤15。
在本申请实施例中,在放弃业务请求后,为了使业务请求方(如应用系统、用户终端等)获知业务的处理情况,网络服务器系统还可以进一步地执行向业务请求方发送系统繁忙提示信息的操作。
其中,预先为非关键资源配置的线程数量是满足小于预先为网络服务器系统配置的可用线程数量的,这样就保证了非关键资源不会完全占用预先为网络服务器系统配置的所有可用线程数量,从而实现了为关键资源保留一部分线程。
步骤15,分配针对识别出的非关键资源的第二线程,以及利用分配的第二线程获取识别出的非关键资源,流程结束;
较佳地,在分配了第二线程后,还可以更新记录的非关键资源已占用线程的数量。
优选地,上述第一线程被释放后,网络服务器系统可以对记录的网络服务器系统已占用第一线程的数量进行更新,以保持记录的网络服务器系统已占用线程的数量与实际的线程占用情况保持一致。类似地,网络服务器系统在利用分配的第二线程获取识别出的非关键资源后,也可以释放第二线程,并更新记录的非关键资源占用的第二线程的数量。
优选地,上述方法还可以进一步包括监控网络服务器系统自身已占用的线程以及非关键资源已占用的第二线程的步骤。在该步骤的基础上,在监控到网络服务器系统自身已占用的第二线程被释放后,可以更新记录的网络服务器系统已占用的第二线程的数量;而在监控到非关键资源占用的第二线程被释放后,可以更新记录的非关键资源占用的第二线程的数量。
通过上述方法,由于预先为非关键资源所能占用的线程数量进行了限制,使其不能超过预先为网络服务器系统配置的可用线程数量,因此,即使非关键资源变得不稳定而导致其需求的线程数量剧增,整个网络服务器系统中仍然有空余的线程用于响应对关键资源的需求,从而保证系统的稳定性。值得说明的是,在配置线程数量时,可以使为非关键资源配置的线程数量远小于预先为网络服务器系统配置的可用线程数量,例如,非关键资源配置的线程是预先为网络服务器系统配置的可用线程数量的五十分之一至五分之一。这样可以保证关键资源可用的线程足够多,从而进一步保证系统的稳定性。
在本发明实施例中,预先为网络服务器系统配置的可用线程数量M可以配置为小于网络服务器系统包含的线程总数量X,这样剩余的X-M条线程可以用于响应突发的资源需求洪流。在这样的情况下,在上述步骤11中,网络服务器系统在确定完成业务所需的资源之前,可以先确定自身已占用的线程的数量是否小于预先为自身配置的可用线程数量,并在确定结果为是时,再执行步骤11中确定完成业务所需资源的操作。
根据上述方案可知,在本申请实施例中,网络服务器系统包含的线程总数量X可以有以下两种划分方式:
第一种划分方式是将X划分为2个部分。其中,划分得到的第一部分用于响应非关键资源;而划分得到的第二部分用于响应关键资源。一般地,第一部分包含的线程数量远小于第二部分所包含的线程数量。通过对非关键资源所占用的线程数量进行限制的这种划分方式,从而在一定程度上保证网络服务器系统的稳定性。
第二种划分方式是将X划分为3个部分。其中,第一部分包含X-M条线程,这部分线程用于响应突发的资源需求洪流;第二部分包含N条线程,这部分线程用于响应非关键资源;第三部分则包含M-N条线程,这部分线程用于响应关键资源。这样的划分方式不仅限制了非关键资源所占用的线程,还预留了响应突发的资源需求洪流的线程,从而能充分保证网络服务器系统的稳定性。
对应于上述第二种划分方式,本发明实施例还提供一种业务请求处理方法,同样用于解决现有技术中存在的非关键资源的不稳定造成线程需求过大,从而影响网络服务器系统稳定性的问题。该方法的具体流程示意图如图2所示,包括以下步骤:
步骤21,网络服务器系统接收业务请求;
步骤22,网络服务器系统判断自身已占用的线程的数量是否小于预先为网络服务器系统配置的可用线程数量,在判断结果为否时,向业务请求方发送系统繁忙提示信息;在判断结果为是时,则执行步骤23;
该步骤中,预先为网络服务器系统配置的可用线程数量M小于网络服务器系统包含的线程总数量X;
步骤23,网络服务器系统根据业务请求确定完成业务所需的资源并确定资源的属性信息,根据资源的属性信息和预先定义的非关键资源的属性信息,从确定的资源中识别出非关键资源;
步骤24,网络服务器系统比较识别出的非关键资源已占用线程的数量是否小于预先为非关键资源配置的线程数量N(N满足N<M),并在比较结果为是时,执行步骤25,否则,执行步骤26;
步骤25,获取识别出的非关键资源,流程结束;
步骤26,放弃获取识别出的非关键资源。
优选地,在步骤26之后,还可以进一步包括:监控网络服务器系统的线程,并在监控到网络服务器系统的线程被释放,使得非关键资源占用的线程数量小于预先为非关键资源配置的线程数量后,获取识别出的非关键资源,流程结束。
较佳地,网络服务器系统在获取到识别出的非关键资源后,还可以进一步地执行利用获取的非关键资源处理相应于业务请求的业务的操作,并将得到业务处理结果发送给业务请求方。
通过对本申请实施例提供的方案与现有技术提供的方案进行比较可知,在没有采用本申请实施例提供的线程分配策略的现有技术中,如针对包含200条线程的网络服务器系统,一旦某非关键资源A变得不稳定,则会瞬间消耗掉网络服务器系统190条线程,从而导致该网络服务器系统稳定性受到极大影响,而通过本申请实施例提供的方案,即使非关键资源变得不稳定而导致需求的线程量增大,非关键资源占用的线程数量由于受到限制也不会影响到网络服务器系统的稳定性。
以下对本申请实施例提供的上述方案在实际中的应用进行说明。
以某个网络服务器系统T(以下简称“系统T”)为例,该系统T的总线程数量为X。按照本申请实施例提供的方案,可以将X划分为两个部分,其分别为L、M,满足L+M=X。其中,该系统T所能使用的总线程数量为M;系统T的非关键资源所占用的线程数量为这M条线程中的N个,满足N<<M;而L条线程则可以用于响应系统T中过量的业务请求。这样,由于非关键资源最多堵塞N条线程,而N远小于M,因此N条线程的堵塞对整个系统T的正常运行不会产生大的影响。而系统T则是最多堵塞M条线程,由于M肯定小于总线程数量X,因此,总会有X-M=L条线程用于响应过量的业务请求。
在系统T中实现本申请实施例提供的上述方案的具体流程示意图如图3所示,包括以下步骤:
步骤31,用户终端向系统T发起一个业务请求;
步骤32,系统T比较自身当前已使用的线程数量a与M,当比较结果为a≥M时,从预留的X-M条用于响应过量业务请求的线程中选取一条线程来向用户终端返回系统T繁忙提示信息,否则,执行步骤33;
步骤33,由于此时a<M,因此,除预留的X-M条线程外,系统T中还包含能够用于响应该业务请求的M-a条线程,比如,假设此时系统T中有一条线程响应了该业务请求,则系统T对自身当前已使用的线程数量a执行加1的计数操作,即执行a+1,并对执行该计数操作后得到的a+1这一数据进行记录,利用a+1的值更新自身当前已使用的线程数量a;
步骤34,系统T根据用户终端发来的业务请求,确定为满足该业务请求所需获取的资源,并确定该资源的属性信息;
步骤35,根据确定出的属性信息和预先定义的非关键资源的属性信息,从确定的资源中识别出非关键资源,比如,假设识别出非关键资源A;
步骤36,系统T确定当前非关键资源A所占用的线程数量b,并比较b和预先配置的非关键资源A可占用的最大线程数量N,当比较结果为b≥N时,放弃获取识别出的非关键资源,此时可以由用户终端重新发起业务请求;执行步骤311,否则,执行步骤37;
步骤37,由于此时有b<N,因此,至少还有N-b条线程可用于获取该非关键资源A,比如,假设此时系统T中有一条线程被分配用于获取该非关键资源A,则系统T对非关键资源A占用的线程数量b执行加1的计数操作,即执行b+1,并对执行该计数操作后得到的b+1这一数据进行记录,利用b+1的值更新当前非关键资源A所占用的线程数量b;
步骤38,获取非关键资源A;
步骤39,在获取到非关键资源A后,上述用于获取非关键资源A的该条线程可以被释放了,当该条线程被释放后,系统T执行对步骤37中更新的当前非关键资源A所占用的线程数量b进行减1的计数操作,即执行b-1的操作,并对执行该操作后得到的数据b进行记录,利用b-1的值更新当前非关键资源A所占用的线程数量b;
步骤310,系统T利用非关键资源A完成相应的业务处理,并继续执行步骤311;
步骤311,系统T执行对步骤33中记录自身当前已使用的线程数量a进行减1的计数操作,即执行a-1的操作,并对执行该操作后得到的数据a进行记录,利用a-1的值更新自身当前已使用的线程数量a。
该步骤311中,存在以下两种情况:
一、从步骤310进入该步骤311,此时,在利用非关键资源A完成相应的业务处理后,释放相应的用于响应上述业务请求的线程,执行利用a-1的值更新自身当前已使用的线程数量a;
二、从步骤36转入,即当比较结果为b≥N时,放弃获取识别出的非关键资源后,执行步骤311;此时,释放用于响应上述业务请求的该条线程,执行利用a-1的值更新自身当前已使用的线程数量a;
步骤312,系统T将相应的处理结果发送给用户终端,流程结束。
通过上述步骤可知,由于非关键资源A所占用的线程数量受到限制,因此一旦非关键资源A所占用的线程的数量达到预设的数量上限,则会放弃获取非关键资源A或者等待在监控到线程数量被释放后,使得确定的非关键资源占用的线程数量小于预先为非关键资源配置的线程数量时,获取识别出的非关键资源,从而避免了非关键资源A占用线程过多而导致关键资源可用线程减少而影响系统稳定性的问题。
对应于本发明实施例提供的资源获取方法,本发明实施例还提供一种网络服务器系统,该系统包括如图4所示的功能单元:线程记录单元41、接收单元42、线程分配单元43、资源确定单元44、资源识别单元45、判断单元46、获取单元47,其中,各个单元具体实现的功能如下:
线程记录单元41,用于记录网络服务器系统占用的第一线程的数量和非关键资源占用的第二线程的数量;
接收单元42,用于接收业务请求;
线程分配单元43,用于分配针对接收单元42接收的业务请求的第一线程,并分配针对资源识别单元45识别出的非关键资源的第二线程;
资源确定单元44,用于根据接收单元42接收的业务请求,利用线程分配单元43分配的第一线程确定完成业务所需的资源,并确定该资源的属性信息;
资源识别单元45,用于根据资源确定单元44确定的属性信息和预先定义的非关键资源的属性信息,利用线程分配单元43分配的第一线程从资源确定单元44确定的资源中识别出非关键资源;
判断单元46,用于根据线程记录单元41记录的非关键资源占用的第二线程的数量,判断非关键资源占用的第二线程的数量是否小于预先为非关键资源配置的第二线程的数量(其中,预先为非关键资源配置的的第二线程数量可以小于预先为网络服务器系统配置的第二线程的可用数量);
获取单元47,用于在判断单元46得到的判断结果为是时,利用线程分配单元43分配的第二线程获取资源识别单元45识别出的非关键资源。
较佳地,本申请实施例提供的该系统还可以进一步包括放弃单元,其用于在判断单元46得到的判断结果为否时,放弃接收单元42接收的业务请求。
在一个较佳的实施例中,上述线程分配单元43具体可以用于判断网络服务器系统占用的第一线程的数量是否小于为网络服务器系统配置的可用线程数量;并在判断结果为是时,分配针对上述业务请求的第一线程。
在一个较佳的实施例中,本申请实施例提供的该网络服务器系统还可以进一步包括:线程更新单元。其用于当线程分配单元43分配了第一线程,或者第一线程被释放时,更新线程记录单元41记录的第一线程的数量。此外,还可以用于当线程分配单元43分配了第二线程,或在利用分配的第二线程获取识别出的非关键资源后释放第二线程时,更新线程记录单元41记录的第二线程的数量。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种资源获取方法,其特征在于,包括:
网络服务器系统接收业务请求,所述业务请求是各种接入网络服务器系统的应用系统或用户终端发送的;
分配针对所述业务请求的第一线程;
根据所述业务请求,利用分配的所述第一线程确定完成业务所需的资源并确定所述资源的属性信息;
根据所述属性信息和预先定义的非关键资源的属性信息,利用分配的所述第一线程从确定的资源中识别出非关键资源,所述非关键资源是指网络服务器系统完成其提供的服务非必须资源,该些资源不会影响网络服务器系统的核心业务;
当从确定的资源中识别出非关键资源时,根据记录的非关键资源占用第二线程的数量,判断非关键资源已占用第二线程的数量是否小于为非关键资源配置的第二线程的数量;
在判断结果为是时,分配针对识别出的非关键资源的第二线程;
并利用分配的第二线程获取识别出的非关键资源。
2.如权利要求1所述的方法,其特征在于,分配针对所述业务请求的第一线程,具体包括:
判断占用的第一线程的数量是否小于为所述网络服务器系统配置的可用线程数量;并
在判断结果为是时,分配针对所述业务请求的第一线程。
3.如权利要求1所述的方法,其特征在于,还包括:
记录占用的所述第一线程的数量;
当分配或释放所述第一线程时,更新记录的占用的所述第一线程的数量。
4.如权利要求1所述的方法,其特征在于,还包括:
记录占用的所述第二线程的数量;
当分配所述第二线程后或者在利用分配的第二线程获取识别出的非关键资源后释放所述第二线程时,更新记录的非关键资源占用的第二线程的数量。
5.如权利要求1、3、4任一所述的方法,其特征在于,还包括:
在判断结果为否时,放弃所述业务请求。
6.一种网络服务器系统,其特征在于,包括线程记录单元、接收单元、线程分配单元、资源确定单元、资源识别单元、判断单元、获取单元,其中:
线程记录单元,用于记录所述网络服务器系统占用的第一线程的数量和非关键资源占用的第二线程的数量;
接收单元,用于接收业务请求,所述业务请求是各种接入网络服务器系统的应用系统或用户终端发送的;
线程分配单元,用于分配针对接收单元接收的业务请求的第一线程,并分配针对资源识别单元识别出的非关键资源的第二线程;
资源确定单元,用于根据接收单元接收的业务请求,利用线程分配单元分配的第一线程确定完成业务所需的资源,并确定所述资源的属性信息;
资源识别单元,用于根据资源确定单元确定的属性信息和预先定义的非关键资源的属性信息,利用线程分配单元分配的第一线程从资源确定单元确定的资源中识别出非关键资源,所述非关键资源是指网络服务器系统完成其提供的服务非必须资源,该些资源不会影响网络服务器系统的核心业务;
判断单元,用于根据线程记录单元记录的非关键资源占用的第二线程的数量,判断非关键资源占用的第二线程的数量是否小于预先为非关键资源配置的第二线程数量;
获取单元,用于在判断单元得到的判断结果为是时,利用线程分配单元分配的第二线程获取资源识别单元识别出的非关键资源。
7.如权利要求6所述的网络服务器系统,其特征在于,线程分配单元具体用于:
判断占用的第一线程的数量是否小于为所述网络服务器系统配置的可用线程数量;并在判断结果为是时,分配针对所述业务请求的第一线程。
8.如权利要求6所述的网络服务器系统,其特征在于,还包括:
线程更新单元,用于当线程分配单元分配了第一线程,或者第一线程被释放时,更新线程记录单元记录的所述第一线程的数量。
9.如权利要求8所述的网络服务器系统,其特征在于,所述线程更新单元还用于:
当线程分配单元分配了第二线程,或在利用分配的第二线程获取识别出的非关键资源后释放所述第二线程时,更新线程记录单元记录的所述第二线程的数量。
10.如权利要求6、8、9任一所述的网络服务器系统,其特征在于,还包括:
放弃单元,用于在判断单元得到的判断结果为否时,放弃接收单元接收的业务请求。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110144274.4A CN102811154B (zh) | 2011-05-31 | 2011-05-31 | 资源获取方法与网络服务器系统 |
HK13100933.5A HK1173871A1 (zh) | 2011-05-31 | 2013-01-22 | 資源獲取方法與網絡服務器系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110144274.4A CN102811154B (zh) | 2011-05-31 | 2011-05-31 | 资源获取方法与网络服务器系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102811154A CN102811154A (zh) | 2012-12-05 |
CN102811154B true CN102811154B (zh) | 2015-01-07 |
Family
ID=47234739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110144274.4A Active CN102811154B (zh) | 2011-05-31 | 2011-05-31 | 资源获取方法与网络服务器系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102811154B (zh) |
HK (1) | HK1173871A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872329B (zh) * | 2016-09-22 | 2020-10-16 | 阿里巴巴集团控股有限公司 | 一种预估qps的方法和设备 |
CN107292741B (zh) * | 2017-07-24 | 2023-09-01 | 中国银联股份有限公司 | 一种资源分配方法和装置 |
CN109412884A (zh) * | 2018-08-21 | 2019-03-01 | 平安科技(深圳)有限公司 | 组件的性能数据采集方法、装置及存储介质、服务器 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101188570A (zh) * | 2006-11-17 | 2008-05-28 | 鸿富锦精密工业(深圳)有限公司 | 即时消息处理系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7363626B2 (en) * | 2003-03-24 | 2008-04-22 | Sun Microsystems, Inc. | Thread level application partitioning |
US20090063687A1 (en) * | 2007-08-28 | 2009-03-05 | Red Hat, Inc. | Hybrid connection model |
-
2011
- 2011-05-31 CN CN201110144274.4A patent/CN102811154B/zh active Active
-
2013
- 2013-01-22 HK HK13100933.5A patent/HK1173871A1/zh unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101188570A (zh) * | 2006-11-17 | 2008-05-28 | 鸿富锦精密工业(深圳)有限公司 | 即时消息处理系统及方法 |
Non-Patent Citations (2)
Title |
---|
基于Socket和多线程技术的并发服务器的研究;吴晟等;《昆明理工大学学报(理工版)》;20060831;第31卷(第4期);第39~42页 * |
多线程处理器资源分配策略;何军等;《计算机工程》;20080831;第34卷(第15期);第283~285页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102811154A (zh) | 2012-12-05 |
HK1173871A1 (zh) | 2013-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11586673B2 (en) | Data writing and reading method and apparatus, and cloud storage system | |
CN108737548B (zh) | 分布式web微服务容器集群架构系统及其实现方法 | |
CN106155780B (zh) | 一种基于时间的节点选举方法及装置 | |
CN108810100B (zh) | 一种主节点的选举方法、装置及设备 | |
CN107679718B (zh) | 名单分配方法、设备以及计算机可读存储介质 | |
CN107426274B (zh) | 基于时序的业务应用及监控分析调度的方法和系统 | |
US20090055835A1 (en) | System and Method for Managing License Capacity in a Telecommunication Network | |
CN101771723A (zh) | 数据同步方法 | |
JP2002324047A (ja) | 分散クライアント/サーバ環境での自動化セッション・リソース・クリーンアップの方法およびシステム。 | |
CN110505155A (zh) | 请求降级处理方法、装置、电子设备及存储介质 | |
CN105468619B (zh) | 用于数据库连接池的资源分配方法和装置 | |
CN106201717A (zh) | 一种管理系统内存的方法及终端 | |
CN102868770A (zh) | 一种分配接口的方法、设备及系统 | |
CN106708608A (zh) | 一种分布式锁服务方法、获取方法及相应装置 | |
CN110222535A (zh) | 区块链配置文件的处理装置、方法及存储介质 | |
CN111427670A (zh) | 任务调度方法和系统 | |
CN102811154B (zh) | 资源获取方法与网络服务器系统 | |
US20110035499A1 (en) | Discontinuous access management method using waiting ticket for resource allocation control, waiting ticket management method, and resource allocation control method | |
CN101778131A (zh) | 数据同步系统 | |
CN102137091A (zh) | 一种过负荷控制方法、装置、系统及客户端 | |
CN101789963A (zh) | 数据同步系统 | |
CN106412088A (zh) | 一种数据同步方法及终端 | |
CN109308219B (zh) | 任务处理方法、装置及分布式计算机系统 | |
CN109194759B (zh) | 一种在前端降级的网络访问方法及系统 | |
US20090158284A1 (en) | System and method of processing sender requests for remote replication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1173871 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1173871 Country of ref document: HK |