核心业务缓存降低底层数据库IO的方法及使用其的服务站与流程

文档序号:12693931阅读:184来源:国知局

本发明涉及通信技术领域,具体涉及一种核心业务缓存降低底层数据库IO的方法及使用其的服务站。



背景技术:

客户端发出并发请求(1秒钟内发出的请求数量,一般1秒钟内会发出上万条请求)后;然后,传达室通过网关接收到客户端发出的并发请求;最后,服务器对来自传达室的并发请求进行处理,从底层数据库中找到与请求对应的应答数据,并通过传达室返回给客户端。该处理方法的缺点为:

1)一般一个服务站中使用多个服务器对多种业务进行应答,在应答时有些业务(例如:支付业务等)需要复杂计算才能够得到需要的应答数据,该类业务称为核心业务;在应答时有些业务(例如:内容业务等)仅通过简单计算就能够得到需要的应答数据,该类业务称为普通业务;而现有技术中,并没有分开处理该两类业务,随机处理该两类业务,由于核心业务计算步骤较为复杂,服务器既要负责计算时简单的基本数据的调用,又要负责复杂逻辑等计算,使得服务器的任务加重且任务繁琐,极易导致服务器出现当机的现象,造成服务的客户端得到不应答数据,降低了使用者的使用兴趣;

2)针对不同的业务有不同的服务,每个服务可能针对一些指定的业务才能应答,不能应答的业务成为超边界业务,由于各个服务是随机接受业务的,当一个服务随机的接收到超边界业务时,会导致不能应答该超边界业务的情况,导致没有应答数据返回给客户端,降低了使用者的使用兴趣;

3)在应答时,有时在应答普通业务时会产生衍生应答,VIP客户积分累计、判断接收转账账户是否在黑名单内等,而现有应答方式中没有对此也进行分开处理,导致最终应答速度较慢,增大各个服务器访问底层数据库的负担,进一步增大了服务器当机的可能性。



技术实现要素:

本发明提供了一种核心业务缓存降低底层数据库IO的方法及使用其的服务站,保证了应答核心业务请求时返回的数据的实时性,实现了计算资源和内存的综合利用,减轻了底层数据库的负担。

为实现上述目的,本发明采用了如下的技术方案:

本发明首先提出一种核心业务缓存降低底层数据库IO的方法,包括:

步骤一、网关接收到各个客户端发来的请求数据;

步骤二、网关根据请求数据翻译出该请求链接、通过该请求链接中含的第一特征值判断是否为合法请求,若为合法请求,则随机将该请求链接发送到各个普通服务的普通接口;若为非法请求,则返回固定的错误结果;

步骤三、每个普通服务的普通接口均接收该请求链接;

步骤四、每个普通服务均根据接收到的请求链接得到第二特征值;

步骤五、每个普通服务根据第二特征值判断该请求链接判断是否为核心业务,若是,则普通服务启动核心服务模式;若不是,则普通服务启动一般服务模式;

具体地,核心服务模式具体包括以下步骤:

S211、普通服务根据第二特征值询问公共缓存池中是否已有该第二特征值中存储的基本数据,若有,则执行步骤S213;若无,则进行步骤S212;

S212、普通服务根据第二特征值从底层数据库中得到该第二特征值对应的基本数据;

S213、普通服务的普通接口将第二特征值和基本数据发送至核心服务的核心接口;

S214、核心服务通过核心接口接收到该第二特征值和基本数据;

S215、核心服务根据第二特征值询问核心存储单元,判断在核心存储单元内是否已经有该第二特征值对应的核心应答信息,若有,执行步骤S218;若无,执行步骤S216;

S216、核心服务根据找到的基本数据计算得到新的返回结果数据;

S217、核心服务将第二特征值、该基本数据以及该新的返回结果数据存储到核心存储单元,核心服务更新改底层数据库以及公共缓存池中该第二特征值对应的原底层数据为新的返回结果数据;

S218、核心服务将第二特征值、该基本数据以及该新的返回结果数据作为核心应答数据储发送到核心接口,核心接口将该核心应答数据返回给普通服务的普通接口,普通接口将该核心应答数据通过网关发送到该请求对应的客户端。

优选的是,步骤五中,一般服务模式具体包括步骤为:

每个普通服务均根据第二特征值该请求链接是否为超边界业务,若是,则普通服务启动核心服务模式;若不是,则进行普通应答模式。

优选的是,普通应答模式具体为:

A2、普通业务询问公共缓存池,判断公共缓存池是否已有该第二特征值对应的需求数据,若有,则执行B2;若无,则执行步骤C2;

B2、普通业务从公共缓存池中调用与该第二特征值对应的需求数据,并执行步骤E2;

C2、普通业务根据该第二特征值询问底层数据库,以获取该第二特征值对应的需求数据;

D2、普通业务将该对第二特征值及该需求数据缓存入公共缓存池中,并执行步骤E2;

E2、普通业务的普通接口将该需求数据通过网关返回给该请求对应的客户端。

优选的是,在执行步骤E2前还需进行:

E21、普通服务根据该请求的第二特征值和需求数据判断是否需要衍生应答,若有,则进行步骤E22;若无,则直接进行步骤E2;

E22、普通服务将该请求的第二特征值和需求数据通过普通接口传送给核心服务的核心接口,同时普通服务根据第二特征值和需求数据判断是否需要限制需求数据的发送,若需要,则不执行步骤E2;若不需要,则执行步骤E2;

E23、核心服务接收到第二特征值和需求数据,并根据接收到的第二特征值和需求数据计算得到衍生应答;

E24、核心服务将第二特征值以及该衍生应答存储到核心存储单元,核心服务更新底层数据库以及公共缓存池中与该第二特征值的衍生应答相关的数据;

E25、核心服务将该第二特征值的衍生应答通过核心接口发送到普通服务的普通接口,普通接口将该衍生应答通过网关发送到该请求对应的客户端。

本发明还提出一种使用上述核心业务缓存降低底层数据库IO的方法的服务站,其服务的业务至少包括一种普通业务和一种核心业务,其特征在于,包括:

网络连接装置,其内设置有网关,其用于实现服务器接收到各个客户端发来的请求数据和实现各个服务器各个客户端发送请求数据对应的需求数据、衍生应答以及核心应答数据;

若干个服务器,其内设置有若干个普通服务、若干个核心服务以及若干个底层数据库,所有普通服务和核心服务均能访问底层数据库;

具体地,每个普通服务均用于服务于普通业务,普通服务包括普通接口和公共缓存池,普通服务通过普通接口与核心接口连接,以实现普通服务与核心服务建立通信关系,普通服务用于根据请求的链接找到第二特征值、根据第二特征值判断该请求是否属于核心业务和超边界业务、根据第二特征值判断公共缓存池是否已经有与该第二特征值对应的需求数据或基本数据、根据第二特征值从底层数据库中得到需求数据或基本数据并根据第二特征值和需求数据判断是否需要衍生应答,普通接口用于与核心接口和网关收发数据,公共缓存池用于缓存与请求对应的第二特征值、需求数据、基本数据以及底层数据;

每个核心业务均用于服务于核心业务、超边界服务和衍生应答,核心服务根据从普通服务获得的第二特征值和基本数据计算得到新底层数据并能更新底层数据库以及公共缓存池内底层数据,核心服务包括核心接口和核心存储单元,核心接口用于与各个普通服务的核心接口建立通信关系、从传达室接收请求并将该应答数据通过传达室的网关发送到该请求对应的客户端,核心存储单元用于缓存核心业务处理请求时得到的第二特征值、基本数据和底层数据。

相比于现有技术,本发明具有如下有益效果:

1)通过设置核心服务和普通服务,实现需要复杂运算的核心业务和仅需简单运算的普通业务分开处理,使得核心服务主要负责服务复杂运算的核心业务,避免具有高性能的核心服务因处理较多的普通业务而导致支撑核心服务的较好资源的浪费,通过分别处理核心业务和普通业务为较好资源支撑的核心服务降低了压力,实现了将较好资源支撑的核心服务用于核心业务上,实现资源的优化利用,进而提高了同时服务于各种核心业务和各种普通业务时的应答速度;

2)在核心服务中设置核心接口,实现直接向网关返回核心应答数据,同时核心接口也与普通服务的普通接口通信连接,实现核心服务和普通服务之间的通信,以使当普通服务处理到需要核心服务处理部分时、核心服务计算得到新的返回结果数据后更新公共缓存池,同时核心服务也能更新底层数据库,进而实现计算后更新公共缓存池和底层数据库,实现公共缓存池和底层数据库存储的是实时新的返回结果数据,保证了从公共缓存池、底层数据库以及核心存储单元的实时性,实现了核心服务对普通服务和底层数据库的统筹,既降低了应答时间,又保证了应答速度;

3)由于对于普通服务处理的业务有一定的限制,不能对超边界业务进行处理,本发明普通业务中通过第二特征值来判断是否为超边界业务,在判断为超边界业务后,普通服务将超边界业务的请求的基本数据收集,以便减轻核心服务的负担,然后普通服务通过普通接口发送到核心服务,核心服务计算得到新的返回结果数据,然后核心服务通过核心接口返回,实现对超边界业务的应答,在应答时普通业务处理简单、基本的计算得到基本数据,核心业务处理复杂运算得到新的返回结果数据,实现了分工实现对超边界业务的应答,避免了普通服务处理超边界业务时发生当机现象,同时普通服务也分担了简单计算的基本数据的应答,为核心服务减轻了负担,从而在分工明确的同时保证了应答的速度;

4)对由于普通业务应答时,也会出现衍生应答的情况,而此时既要保证主需求数据的速度,又要保证衍生应答的可靠性和实时性,且衍生应答的计算也较为复杂,故在处理有衍生应答情况时,普通服务直接先得到主需求数据,然后在将衍生应答交给核心服务进行处理,进而在分工明确的分配下,保证了主需求数据返回的高效性,又避免了加重普通服务的负担,虽然加大了核心服务的负担,但是使得核心服务的资源得到的充分的利用,提高有衍生应答情况的处理效率,避免因有衍生应答核心服务出现当机的现象。

具体实施方式

本实施例首先提出一种核心业务缓存降低底层数据库IO的方法,包括:

步骤一、网关接收到各个客户端发来的请求数据;

步骤二、网关根据请求数据翻译出该请求链接、通过该请求链接中含的第一特征值判断是否为合法请求,若为合法请求,则随机将该请求链接发送到各个普通服务的普通接口;若为非法请求,则返回固定的错误结果;

步骤三、每个普通服务的普通接口均接收该请求链接;

步骤四、每个普通服务均根据接收到的请求链接得到第二特征值;

步骤五、每个普通服务根据第二特征值判断该请求链接判断是否为核心业务,若是,则普通服务启动核心服务模式;若不是,则普通服务启动一般服务模式;

具体地,核心服务模式具体包括以下步骤:

S211、普通服务根据第二特征值询问公共缓存池中是否已有该第二特征值中存储的基本数据,若有,则执行步骤S213;若无,则进行步骤S212;

S212、普通服务根据第二特征值从底层数据库中得到该第二特征值对应的基本数据;

S213、普通服务的普通接口将第二特征值和基本数据发送至核心服务的核心接口;

S214、核心服务通过核心接口接收到该第二特征值和基本数据;

S215、核心服务根据第二特征值询问核心存储单元,判断在核心存储单元内是否已经有该第二特征值对应的核心应答信息,若有,执行步骤S218;若无,执行步骤S216;

S216、核心服务根据找到的基本数据计算得到新的返回结果数据;

S217、核心服务将第二特征值、该基本数据以及该新的返回结果数据存储到核心存储单元,核心服务更新改底层数据库以及公共缓存池中该第二特征值对应的原底层数据为新的返回结果数据;

S218、核心服务将第二特征值、该基本数据以及该新的返回结果数据作为核心应答数据储发送到核心接口,核心接口将该核心应答数据返回给普通服务的普通接口,普通接口将该核心应答数据通过网关发送到该请求对应的客户端。

步骤五中,一般服务模式具体包括步骤为:

每个普通服务均根据第二特征值该请求链接是否为超边界业务,若是,则普通服务启动核心服务模式;若不是,则进行普通应答模式。

普通应答模式具体为:

A2、普通业务询问公共缓存池,判断公共缓存池是否已有该第二特征值对应的需求数据,若有,则执行B2;若无,则执行步骤C2;

B2、普通业务从公共缓存池中调用与该第二特征值对应的需求数据,并执行步骤E2;

C2、普通业务根据该第二特征值询问底层数据库,以获取该第二特征值对应的需求数据;

D2、普通业务将该对第二特征值及该需求数据缓存入公共缓存池中,并执行步骤E2;

E2、普通业务的普通接口将该需求数据通过网关返回给该请求对应的客户端。

在执行步骤E2前还需进行:

E21、普通服务根据该请求的第二特征值和需求数据判断是否需要衍生应答,若有,则进行步骤E22;若无,则直接进行步骤E2;

E22、普通服务将该请求的第二特征值和需求数据通过普通接口传送给核心服务的核心接口,同时普通服务根据第二特征值和需求数据判断是否需要限制需求数据的发送,若需要,则不执行步骤E2;若不需要,则执行步骤E2;

E23、核心服务接收到第二特征值和需求数据,并根据接收到的第二特征值和需求数据计算得到衍生应答;

E24、核心服务将第二特征值以及该衍生应答存储到核心存储单元,核心服务更新底层数据库以及公共缓存池中与该第二特征值的衍生应答相关的数据;

E25、核心服务将该第二特征值的衍生应答通过核心接口发送到普通服务的普通接口,普通接口将该衍生应答通过网关发送到该请求对应的客户端。

本实施例还提出一种使用上述核心业务缓存降低底层数据库IO的方法的服务站,其服务的业务至少包括一种普通业务和一种核心业务,包括:

网络连接装置,其内设置有网关,其用于实现服务器接收到各个客户端发来的请求数据和实现各个服务器各个客户端发送请求数据对应的需求数据、衍生应答以及核心应答数据;

若干个服务器,其内设置有若干个普通服务、若干个核心服务以及一底层数据库,所有普通服务和核心服务均能访问底层数据库;

具体地,每个普通服务均用于服务于普通业务,普通服务包括普通接口和公共缓存池,普通服务通过普通接口与核心接口连接,以实现普通服务与核心服务建立通信关系,普通服务用于根据请求的链接找到第二特征值、根据第二特征值判断该请求是否属于核心业务和超边界业务、根据第二特征值判断公共缓存池是否已经有与该第二特征值对应的需求数据或基本数据、根据第二特征值从底层数据库中得到需求数据或基本数据并根据第二特征值和需求数据判断是否需要衍生应答,普通接口用于与核心接口和网关收发数据,公共缓存池用于缓存与请求对应的第二特征值、需求数据、基本数据以及底层数据;

每个核心业务均用于服务于核心业务、超边界服务和衍生应答,核心服务根据从普通服务获得的第二特征值和基本数据计算得到新底层数据并能更新底层数据库以及公共缓存池内底层数据,核心服务包括核心接口和核心存储单元,核心接口用于与各个普通服务的核心接口建立通信关系、从传达室接收请求并将该应答数据通过传达室的网关发送到该请求对应的客户端,核心存储单元用于缓存核心业务处理请求时得到的第二特征值、基本数据和底层数据。

在传达室中,首先判断该请求是否属于核心业务,将属于核心业务的发送给核心服务处理,将普通服务的发送给普通服务处理。下面举例说明,以核心业务为支付业务、普通业务为内容业务时为例。

步骤一、网关接收到各个客户端发来的请求数据;

步骤二、网关根据请求数据翻译出该请求链接、通过该请求链接中含的第一特征值判断是否为合法请求,若为合法请求,则随机将该请求链接发送到各个普通服务的普通接口;若为非法请求,则返回固定的错误结果;

步骤三、每个普通服务的普通接口均接收该请求链接;

步骤四、每个普通服务均根据接收到的请求链接得到第二特征值(第二特征值获得后,对请求连接进行了分类,多个请求连接可能找到的是一个第二特征值,第二特征值反应了这个请求连接的类型、并且能够根据该第二特征值能够返回该请求连接对应的所有应答数据);

步骤五、每个普通服务根据第二特征值判断该请求链接判断是否为核心业务(根据第二特征值识别为核心业务还是普通业务,支付业务就启动核心服务模式,内容业务就启动一般服务模式这一类),若是,则普通服务启动核心服务模式;若不是,则普通服务启动一般服务模式;

具体地,核心服务模式具体包括以下步骤:

S211、普通服务根据第二特征值询问公共缓存池中是否已有该第二特征值中存储的基本数据(例如:支付业务的充值请求),若有,则执行步骤S213;若无,则进行步骤S212;

S212、普通服务根据第二特征值从底层数据库中得到该第二特征值对应的基本数据(因为基本数据的计算,仅需要通过简单的寻找或计算得到,不需要核心服务来处理,此设计能够大大降低核心服务的负担,使得核心服务的资源用在较为重要的地方,例如:充值请求对应的账户ID属于基本数据);

S213、普通服务的普通接口将第二特征值和基本数据发送至核心服务的核心接口;

S214、核心服务通过核心接口接收到该第二特征值和基本数据;

S215、核心服务根据第二特征值询问核心存储单元,判断在核心存储单元内是否已经有该第二特征值对应的核心应答信息,若有,执行步骤S218;若无,执行步骤S216(以避免在近期已经进行过该复杂逻辑运算的情况下再次进行计算,若核心存储单元已经计算过该第二特征值对应的运算,就可以直接从核心存储单元中调用,避免减轻核心服务的计算压力,提高核心服务处理速度);

S216、核心服务根据找到的基本数据计算得到新的返回结果数据(例如:计算充值后账户ID的余额为新的返回结果数据,由于充值计算的时候涉及到VIP会员的折扣等复杂的运算,需要交给核心服务计算来得到最终需要的新账户ID的余额);

S217、核心服务将第二特征值、该基本数据以及该新的返回结果数据存储到核心存储单元(方便下次需要直接读取该账户ID、该账户ID的余额和该账户是否为VIP会员等信息),核心服务更新改底层数据库以及公共缓存池中该第二特征值对应的原底层数据为新的返回结果数据(由于普通业务也会涉及到访问该账户ID和该账户ID的余额的信息,若公共缓存池中缓存有该账户ID和该账户ID的余额的数据等就需要更新,因此核心服务主动修改公共缓存池中账户ID和该账户ID的余额等,以保证实时性);

S218、核心服务将第二特征值、该基本数据以及该新的返回结果数据作为核心应答数据储发送到核心接口,核心接口将该核心应答数据通过网关发送到该请求对应的客户端。

步骤五中,一般服务模式具体包括步骤为:

每个普通服务均根据第二特征值该请求链接是否为超边界业务例如:购买文档阅读权的请求就属于处理内容业务的普通服务的超边界业务范围,它需要判断被付款方是否属于黑名单等计算,因此若该普通服务仅能针对内容业务服务,这种情况就会超出该普通服务的处理范围,需以核心服务模式进行处理),若是,则普通服务启动核心服务模式;若不是,则进行普通应答模式。

普通应答模式具体为:

A2、普通业务询问公共缓存池,判断公共缓存池是否已有该第二特征值对应的需求数据(判断近期是否处理过该种请求,此种服务模式则就是针对需要最简单的内容读取或计算的普通业务了),若有,则执行B2;若无,则执行步骤C2;

B2、普通业务从公共缓存池中调用与该第二特征值对应的需求数据,并执行步骤E2;

C2、普通业务根据该第二特征值询问底层数据库,以获取该第二特征值对应的需求数据;

D2、普通业务将该对第二特征值及该需求数据缓存入公共缓存池中,并执行步骤E2;

E2、普通业务的普通接口将该需求数据通过网关返回给该请求对应的客户端。为了提高普通服务对请求的处理速度,避免数据库出现当机问题,普通服务中建立一公共缓存池,当接收到的请求属于普通业务时,公共缓存池缓存普通服务的各个服务器处理的请求,避免有不同服务器处理了该请求,而没有充分利用已经处理资源的现象,公共缓存池用于判断是否已有该请求对应的应答数据、将请求接收至处理该请求的普通服务、缓存请求和对应的应答数据、将获得的应答数据通过普通接口返回。

在执行步骤E2前还需进行:

E21、普通服务根据该请求的第二特征值和需求数据判断是否需要衍生应答(例如:当会员为VIP会员时,当阅读图书后会返回积分,这种情况就为衍生应答。此时则主要是对请求内容和请求类型共同判断后,才得出是否为衍生应答的结果),若有,则进行步骤E22;若无,则直接进行步骤E2;

E22、普通服务将该请求的第二特征值和需求数据通过普通接口传送给核心服务的核心接口,同时普通服务根据第二特征值和需求数据判断是否需要限制需求数据的发送(此处判断主要是在被打赏方在黑名单内时,就不要对该打赏请求马上进行应答,此种情况非常少见),若需要,则不执行步骤E2;若不需要,则执行步骤E2;

E23、核心服务接收到第二特征值和需求数据(将该请求的衍生应答交给核心服务来处理),并根据接收到的第二特征值和需求数据计算得到衍生应答(得到VIP会员返积分后的总积分);

E24、核心服务将第二特征值以及该衍生应答存储到核心存储单元,核心服务更新底层数据库以及公共缓存池中与该第二特征值的衍生应答相关的数据;

E25、核心服务将该第二特征值的衍生应答通过核心接口发送到普通服务的普通接口,普通接口将该衍生应答通过网关发送到该请求对应的客户端。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1