CN103716343B - 基于数据缓存同步的分布式业务请求处理方法及系统 - Google Patents
基于数据缓存同步的分布式业务请求处理方法及系统 Download PDFInfo
- Publication number
- CN103716343B CN103716343B CN201210373171.XA CN201210373171A CN103716343B CN 103716343 B CN103716343 B CN 103716343B CN 201210373171 A CN201210373171 A CN 201210373171A CN 103716343 B CN103716343 B CN 103716343B
- Authority
- CN
- China
- Prior art keywords
- business datum
- service request
- local cache
- data
- request
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于数据缓存同步的分布式业务请求处理方法和系统,每当一台应用服务器通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求时,该应用服务器将新获取的业务数据缓存于本地缓存区并进行备份,且将备份的业务数据分发至其它应用服务器进行缓存,实现了分布式业务服务系统中各个应用服务器对业务数据缓存的主动同步,从而减少了系统内部的远程通信开销,缩短了各应用服务器对业务请求的响应延迟,也进一步减轻了数据库服务器的业务数据传输负荷;并且,各应用服务器之间的业务数据缓存同步与应用服务器从数据库服务器获取业务数据各自通过不同的、相互独立的网络进行,减少了业务数据缓存同步对业务请求响应延迟的影响。
Description
技术领域
本发明涉及计算机通信网络技术和网络应用业务服务技术领域,具体涉及一种基于数据缓存同步的分布式业务请求处理方法及系统。
背景技术
随着计算机信息时代的不断发展和进步,网络应用业务的用户数量越来越多,网络应用业务服务系统所要处理的数据量越来越庞大,并且用户对应用业务服务质量的要求也越来越高。为了提高网络应用业务的可靠性和可维护性,扩展网络应用业务的服务范围,分布式的业务服务系统当今已得到了广泛的应用。分布式的业务服务系统通常采用多台应用服务器接收和响应来自用户的业务请求,采用一数据库服务器存储业务数据,各应用服务器分布设置于不同地区并通过数据通信网络与数据库服务器进行数据通信连接,以更方便于为不同区域的用户提供网络应用业务服务,并且由数据库服务器对业务数据进行统一的管理也更方便于业务数据的维护和升级。
相比于传统的集中式业务服务系统,分布式业务服务系统中的各应用服务器需要通过远程通信从数据库服务器获得业务数据用以响应用户的业务请求,这无疑增加了业务请求处理的远程通信开销和延迟,因此其业务请求响应处理所需要的时间往往更长。为了解决这一问题,本地缓存技术在分布式业务服务系统中的应用开始普及,即在各应用服务器中设置本地缓存区用于缓存业务数据,当接收到来自用户的业务请求时,若应用服务器的本地缓存区中缓存有用于响应用户的业务请求的业务数据,则优先从本地缓存区获取业务数据以响应用户的业务请求,否则,应用服务器再通过远程通信从数据库服务器获取业务数据以响应用户的业务请求。通过这种本地缓存区优先调用的方式,分布式业务服务系统中的应用服务器不需要在每次接收到业务请求时都远程访问数据库服务器获取业务数据,在很大程度上减少了系统内部的远程通信开销和业务请求响应的延迟,但其在实际应用中依然存在明显的不足。但现有的分布式业务服务系统中,由于各应用服务器对业务数据的本地缓存处理过程相互独立,且均被动的依赖于从数据库服务器获取后对业务数据进行缓存,因此不同应用服务器对同一业务请求的相应仍然需要分别从数据库服务器重复的获取相同的业务数据;特别是在系统内增加新的业务功能时,很可能出现在短时间内数个应用服务器集中向数据库服务器获取新的业务数据的情况,导致数据库服务器的负荷剧增、应用服务器与数据库服务器之间的数据网络通信堵塞等情况,进一步加剧了通信开销和响应延迟,从而降低了用户对网络应用业务的使用体验感。
发明内容
针对现有技术中存在的上述不足,本发明的目的在于提供一种基于数据缓存同步的分布式业务请求处理方法,以提升分布式业务服务系统对业务请求的处理效率,缩短业务请求响应延迟,给用户带来更好的网络应用业务服务使用体验。
为实现上述目的,本发明采用了如下技术手段:
基于数据缓存同步的分布式业务请求处理方法,由多台应用服务器接收来自用户的业务请求,并分别以本地缓存区优先调用的方式从本地缓存区或通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求;其中,每当一台应用服务器通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求时,该应用服务器将新获取的业务数据缓存于本地缓存区并进行备份,且将备份的业务数据分发至其它应用服务器进行缓存。
上述基于数据缓存同步的分布式业务请求处理方法中,具体而言,每一台应用服务器按如下步骤进行业务请求处理:
A、当接收到来自用户的业务请求时,执行步骤B;当接收到来自其它应用服务器的业务数据同步请求时,执行步骤C;
B、以本地缓存区优先调用的方式从本地缓存区或通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求;其中,当通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求时,将新获取的业务数据缓存于本地缓存区并进行备份,且分别向其它应用服务器发送业务数据同步请求,并在业务数据同步请求得到响应时将备份的业务数据分发至其它应用服务器;
C、响应业务数据同步请求,并接收来自其它应用服务器的业务数据进行本地缓存处理。
上述基于数据缓存同步的分布式业务请求处理方法中,作为进一步的改进方案,所述步骤A之前还包括如下步骤:
O、按预设定的访问热度算法,实时计算和统计本地缓存区中缓存的各业务数据的访问热度值。
上述基于数据缓存同步的分布式业务请求处理方法中,具体而言,所述业务请求包含有业务ID;
所述步骤B具体为:
b1、解析业务请求获得其中包含的业务ID,检索本地缓存区中是否存在业务请求包含的业务ID对应的业务数据;若是,执行步骤b2;否则,执行步骤b3;
b2、从本地缓存区中获取业务请求包含的业务ID对应的业务数据,用于响应用户的业务请求;然后跳转执行步骤O;
b3、通过远程通信从数据库服务器获取业务请求包含的业务ID对应的业务数据,用于响应用户的业务请求,并执行步骤b4;
b4、判断新获取的业务数据的数据量是否超过本地缓存区中当前剩余的业务数据缓存容量;若是,则执行步骤b5;否则执行步骤b6;
b5、将本地缓存区中访问热度值最低的业务数据及其对应的业务ID记录删除,然后返回步骤b4;
b6、将新获取的业务数据缓存于本地缓存区中,记录新获取的业务数据对应的业务ID,并执行步骤b7;
b7、将新获取的业务数据进行备份,且分别向其它应用服务器发送业务数据同步请求,并在业务数据同步请求得到响应时将备份的业务数据分发至其它应用服务器;然后跳转执行步骤O。
上述基于数据缓存同步的分布式业务请求处理方法中,具体而言,所述业务数据同步请求包含有待同步的业务数据对应的业务ID和数据量;
所述步骤C具体为:
c1、响应业务数据同步请求,并解析业务数据同步请求获得其中包含的待同步的业务数据对应的业务ID和数据量,执行步骤c2;
c2、判断待同步的业务数据的数据量是否超过本地缓存区中当前剩余的业务数据缓存容量;若是,则执行步骤c3;否则执行步骤c4;
c3、将本地缓存区中访问热度值最低的业务数据及其对应的业务ID记录删除,然后返回步骤c2;
c4、接收来自其它应用服务器的业务数据缓存于本地缓存区中,并记录该业务数据对应的业务ID;然后跳转执行步骤O。
所述访问热度算法的计算参数包括如下一项或几项:设定时间内的访问次数、最近一次访问时间距离当前时刻的时长、对设定时间内的访问次数按各次访问时间的加权求和。
基于数据缓存同步的分布式业务请求处理系统,包括:
数据库服务器,用于存储所提供业务中各种业务请求对应的业务数据;
多台应用服务器,用于接收来自用户的业务请求,并分别以本地缓存区优先调用的方式从本地缓存区或通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求;其中,每当一台应用服务器通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求时,该应用服务器将新获取的业务数据缓存于本地缓存区并进行备份,且将备份的业务数据分发至其它应用服务器进行缓存;
各应用服务器通过业务数据网络分别与数据库服务器远程通信连接,各应用服务器之间通过独立于业务数据网络的数据同步网络进行远程通信连接。
上述基于数据缓存同步的分布式业务请求处理系统中,具体而言,所述应用服务器包括:
请求接收模块,用于接收来自用户的业务请求或来自其它应用服务器的业务数据同步请求;
业务请求处理模块,用于以本地缓存区优先调用的方式从本地缓存区或通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求;其中,当通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求时,将新获取的业务数据缓存于本地缓存区并进行备份,且分别向其它应用服务器发送业务数据同步请求,并在业务数据同步请求得到响应时将备份的业务数据分发至其它应用服务器;
业务数据同步请求处理模块,用于响应业务数据同步请求,并接收来自其它应用服务器的业务数据进行本地缓存处理。
上述基于数据缓存同步的分布式业务请求处理系统中,作为进一步改进方案,所述应用服务器还包括:
访问热度统计模块,用于按预设定的访问热度算法实时计算和统计本地缓存区中缓存的各业务数据的访问热度值。
上述基于数据缓存同步的分布式业务请求处理系统中,具体而言,所述业务请求处理模块包括:
缓存检索单元,用于解析业务请求获得其中包含的业务ID,检索本地缓存区中是否存在业务请求包含的业务ID对应的业务数据,若是则发送本地调用指令,否则发送远程获取指令;
本地缓存区调用单元,由本地调用指令触发,用于从本地缓存区中获取业务请求包含的业务ID对应的业务数据,用于响应用户的业务请求;
远程数据获取单元,由远程获取指令触发,用于通过远程通信从数据库服务器获取业务请求包含的业务ID对应的业务数据,用于响应用户的业务请求,并发送缓存容量监测指令;
缓存容量监测单元,由缓存容量监测指令触发,用于判断新获取的业务数据的数据量是否超过本地缓存区中当前剩余的业务数据缓存容量,若是则发送缓存清理指令,否则发送缓存处理指令;
缓存清理单元,由缓存清理指令触发,用于将本地缓存区中访问热度值最低的业务数据及其对应的业务ID记录删除,然后发送缓存容量监测指令;
缓存处理单元,由缓存处理指令触发,用于将新获取的业务数据缓存于本地缓存区中,记录新获取的业务数据对应的业务ID,并发送数据分发指令;
数据分发处理单元,由数据分发指令触发,用于将新获取的业务数据进行备份,且分别向其它应用服务器发送业务数据同步请求,并在业务数据同步请求得到响应时将备份的业务数据分发至其它应用服务器。
上述基于数据缓存同步的分布式业务请求处理系统中,具体而言,所述业务数据同步请求处理模块包括:
数据同步请求响应单元,用于响应业务数据同步请求,并解析业务数据同步请求获得其中包含的待同步的业务数据对应的业务ID和数据量,并发送同步缓存容量监测指令;
同步缓存容量监测单元,由同步缓存容量监测指令触发,用于判断待同步的业务数据的数据量是否超过本地缓存区中当前剩余的业务数据缓存容量,若是则发送同步缓存清理指令,否则发送同步缓存处理指令;
同步缓存清理单元,由同步缓存清理指令触发,用于将本地缓存区中访问热度值最低的业务数据及其对应的业务ID记录删除,然后发送缓存容量监测指令;
同步缓存处理单元,由同步缓存处理指令触发,用于接收来自其它应用服务器的业务数据缓存于本地缓存区中,并记录该业务数据对应的业务ID。
所述访问热度算法的计算参数包括如下一项或几项:设定时间内的访问次数、最近一次访问时间距离当前时刻的时长、对设定时间内的访问次数按各次访问时间的加权求和。
相比于现有技术,本发明具有如下有益效果:
1、本发明基于数据缓存同步的分布式业务请求处理方法通过应用服务器之间对业务数据的分发缓存,实现了分布式业务服务系统中各个应用服务器对业务数据缓存的主动同步,对于新的业务数据,数据库服务器仅需发送至分布式业务服务系统内任意的一台应用服务器,各应用服务器均能够得以缓存,从而减少了系统内部的远程通信开销,缩短了各应用服务器对业务请求的响应延迟,另一方面也进一步减轻了数据库服务器的业务数据传输负荷,有助于提升数据库服务器对业务数据的传输处理效率。
2、本发明基于数据缓存同步的分布式业务请求处理系统中,各应用服务器之间的业务数据缓存同步与应用服务器从数据库服务器获取业务数据各自通过不同的、相互独立的网络进行,避免了各应用服务器之间进行大量的业务数据缓存同步的过程中对业务数据网络通信开销的占用,保证了应用服务器与数据库服务器之间的远程数据通信畅通,减少了业务数据缓存同步对业务请求响应延迟的影响。
3、由于各应用服务器之间的缓存同步,相应地增加了对每台应用服务器的本地缓存开销,因此本发明的业务请求处理方法在进行本地缓存处理以及同步缓存处理的过程中,都同时进行了缓存容量监测处理,并在必要时对缓存的业务数据进行清理,以避免各应用服务器因业务数据缓存同步而超出本地缓存区的缓存承载负荷,保证本地缓存优先调用的正常运行。
附图说明
图1为本发明实施例一中应用服务器进行业务请求处理的流程框图;
图2为本发明实施例一中应用服务器进行业务请求处理的步骤S2的具体流程图;
图3为本发明实施例一中应用服务器进行业务请求处理的步骤S3的具体流程图;
图4为本发明基于数据缓存同步的分布式业务请求处理系统的构架框图。
具体实施方式
在现有的分布式业务服务系统中,各应用服务器分别与数据库服务器远程通信获取业务数据后各自独立地进行本地缓存处理,因此不同应用服务器对同一业务请求的响应仍然需要分别从数据库服务器重复的获取相同的业务数据,在分布式业务服务系统规模较大、应用服务器数量较多的情况下,数据库服务器承载业务数据传输的负荷依然较重,有可能影响数据库服务器的业务数据发送效率,导致应用服务器响应业务请求的延迟增加;特别是在系统内增加新的业务功能时,很可能出现在短时间内数个应用服务器集中向数据库服务器获取新的业务数据的情况,导致数据库服务器的负荷剧增、应用服务器与数据库服务器之间的数据网络通信堵塞等情况,进一步加剧了通信开销和响应延迟,从而降低了用户对网络应用业务的使用体验感。
针对这一问题,本发明提出一种基于数据缓存同步的分布式业务请求处理方法,该方法依然由多台应用服务器接收来自用户的业务请求,并分别以本地缓存区优先调用的方式从本地缓存区或通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求;这里所述的本地缓存区优先调用的方式,依然是指当本度缓存区中缓存有用于响应用户的业务请求的业务数据,则优先从本地缓存区获取业务数据进行业务请求响应处理,否则,应用服务器再通过远程通信从数据库服务器获取业务数据以响应用户的业务请求;然而与现有技术不同的是,每当一台应用服务器通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求时,该应用服务器将新获取的业务数据缓存于本地缓存区并进行备份,且将备份的业务数据分发至其它应用服务器进行缓存。由此,通过应用服务器之间对业务数据的分发缓存,实现了分布式业务服务系统中各个应用服务器对业务数据缓存的主动同步,对于新的业务数据,数据库服务器仅需发送至分布式业务服务系统内任意的一台应用服务器,各应用服务器均能够得以缓存,从而减少了系统内部的远程通信开销,并结合本地缓存区优先调用技术,一方面缩短了各应用服务器对业务请求的响应延迟,另一方面也进一步减轻了数据库服务器的业务数据传输负荷,有助于提升数据库服务器对业务数据的传输处理效率。下面通过实施例,对本发明的技术方案和技术效果做进一步说明。
实施例一:
例如,在一提供新闻资讯业务服务的分布式业务服务系统中,一些热点新闻咨询数据往往成为一段时间以内不同服务区域集中访问的业务数据,因此很可能出现不同应用服务器在同一时间段反复响应同一业务数据的情况。若采用现有分布式业务服务系统所采用的数据缓存技术,则有可能造成数据网络通信堵塞、业务请求响应延迟严重的情况,影响业务服务质量。然而,利用本发明基于数据缓存同步的分布式业务请求处理方法,分布式业务服务系统中每一台应用服务器对业务请求进行处理的流程如图1所示,步骤如下:
S0)按预设定的访问热度算法,实时计算和统计本地缓存区中缓存的各业务数据的访问热度值。在本实施例中,应用服务器计算和统计本地缓存区中缓存的各业务数据的访问热度值,是为了在后期便于执行对本地缓存区的缓存清理处理。
S1)当接收到来自用户的业务请求时,执行步骤S2;当接收到来自其它应用服务器的业务数据同步请求时,执行步骤S3。本实施例中,业务请求包含有业务ID,用以指示用户所请求的业务数据对象;另一方面,业务数据同步请求包含有待同步的业务数据对应的业务ID和数据量,用以指示和记录待同步的业务数据对象以及便于在业务数据同步缓存过程中进行缓存清理处理。
S2)以本地缓存区优先调用的方式从本地缓存区或通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求;其中,当通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求时,将新获取的业务数据缓存于本地缓存区并进行备份,且分别向其它应用服务器发送业务数据同步请求,并在业务数据同步请求得到响应时将备份的业务数据分发至其它应用服务器;本实施例中,该步骤的具体处理流程如图2所示,处理过程为:
s21)解析业务请求获得其中包含的业务ID,检索本地缓存区中是否存在业务请求包含的业务ID对应的业务数据;若是,执行步骤s22;否则,执行步骤s23;
s22)从本地缓存区中获取业务请求包含的业务ID对应的业务数据,用于响应用户的业务请求;然后跳转执行步骤S0;
s23)通过远程通信从数据库服务器获取业务请求包含的业务ID对应的业务数据,用于响应用户的业务请求,并执行步骤s24;
s24)判断新获取的业务数据的数据量是否超过本地缓存区中当前剩余的业务数据缓存容量;若是,则执行步骤s25;否则执行步骤s26;
s25)将本地缓存区中访问热度值最低的业务数据及其对应的业务ID记录删除,然后返回步骤s24;
s26)将新获取的业务数据缓存于本地缓存区中,记录新获取的业务数据对应的业务ID,并执行步骤s27;
s27)将新获取的业务数据进行备份,且分别向其它应用服务器发送业务数据同步请求,并在业务数据同步请求得到响应时将备份的业务数据分发至其它应用服务器;然后跳转执行步骤S0。
S3)响应业务数据同步请求,并接收来自其它应用服务器的业务数据进行本地缓存处理;本实施例中,该步骤的具体处理流程如图3所示,处理过程为:
s31)响应业务数据同步请求,并解析业务数据同步请求获得其中包含的待同步的业务数据对应的业务ID和数据量,执行步骤s32;
s32)判断待同步的业务数据的数据量是否超过本地缓存区中当前剩余的业务数据缓存容量;若是,则执行步骤s33;否则执行步骤s34;
s33)将本地缓存区中访问热度值最低的业务数据及其对应的业务ID记录删除,然后返回步骤s32;
s34)接收来自其它应用服务器的业务数据缓存于本地缓存区中,并记录该业务数据对应的业务ID;然后跳转执行步骤S0。
以一项关于奥运赛事信息的业务数据BDa为例,其在该新闻资讯业务服务中对应的业务ID为“00a”;通过上述的业务请求处理流程可见,若当应用服务器接收到包含业务ID为“00a”的业务请求时,则检索本地缓存区中是否存在业务请求包含的业务ID对应的业务数据,若不存在,则通过远程通信从数据库服务器获取业务ID“00a”对应的业务数据BDa并进行本地缓存处理,同时还将业务数据BDa进行备份,分别向其它应用服务器发送包含有业务ID“00a”以及业务数据BDa对应的数据量的业务数据同步请求,等待业务数据同步请求得到响应时将备份的业务数据分发至其它应用服务器;其它的应用服务器在接收到该业务数据同步请求时,对业务数据同步请求进行响应,并接收业务数据BDa进行本地缓存处理;至此,各应用服务器均在本地缓存区中缓存有业务数据BDa;此后,任意一台应用服务器若再次接收到包含业务ID为“00a”的业务请求时,则无需再重复地通过远程通信从数据库服务器获取业务ID“00a”对应的业务数据BDa,而可以直接从本地缓存区中获取业务数据BDa响应用户的业务请求,进一步减少了通信开销和业务请求响应延迟,为用户提供更快速的业务服务;另一方面,由于各应用服务器之间的缓存同步,相应地增加了对每台应用服务器的本地缓存开销,因此本发明的业务请求处理方法在进行本地缓存处理以及同步缓存处理的过程中,都同时进行了缓存容量监测处理,并在必要时对缓存的业务数据进行清理,以避免各应用服务器因业务数据缓存同步而超出本地缓存区的缓存承载负荷(因为本地缓存区的缓存空间还可能用于应用服务器执行其它任务处理过程中的数据缓存),保证本地缓存优先调用的正常运行。
至于本实施所涉及的访问热度算法,不同的应用业务服务所采用的算法方案各有不同,访问热度算法的计算参数可以包括:设定时间内的访问次数、最近一次访问时间距离当前时刻的时长、对设定时间内的访问次数按各次访问时间的加权求和等中的一项或几项。例如根据一段时间内访问次数的多少计算业务数据的访问热度值(访问次数越多,相应的访问热度值越高),或者根据最近一次访问时间距离当前时刻的时长计算业务数据的访问热度值(访问时间距离当前时刻越近,相应的访问热度值越高),又或者对一段时间内的访问次数按各次访问时间进行加权求和计算访问热度值(访问时间距离当前时刻越近,相应的权值越大),等等;本领域技术人员可以根据具体应用业务的需求和实际情况,选择常用或适宜的访问热度算法方案。
需要说明的是,本实施例为了避免因缓存同步对应用服务器本地缓存区的缓存负荷带来负面影响,在步骤S2和S3的执行过程中进行了缓存清理判断和处理,并且由于采用了访问热度值作为对本地缓存区中缓存清理对象的判别标准,因此在步骤S1前也相应添加了执行步骤S0的处理,以便于后期执行步骤S2和S3的过程中可以直接通过对比访问热度值而判定作为缓存清理对象的业务数据,避免在缓存清理过程中才进行访问热度运算而影响缓存清理处理效率。当然,在本发明方案的实际应用中,如果本领域技术人员在步骤S2和S3中的缓存清理处理过程中采用其它的缓存清理对象判别方式,或者无需在步骤S2和S3的缓存过程中执行缓存清理判断和处理,则无需在步骤S1前执行步骤S0的处理过程。在本发明基于数据缓存同步的分布式业务请求处理方法中,对于每一台应用服务器而言,针对提升分布式业务服务系统对业务请求的处理效率、缩短业务请求响应延迟的问题,执行如下的步骤SA~SC完成各应用服务器之间的缓存同步处理,即可达到提升业务请求处理效率、缩短响应延迟的效果:
SA)当接收到来自用户的业务请求时,执行步骤SB;当接收到来自其它应用服务器的业务数据同步请求时,执行步骤SC;
SB)以本地缓存区优先调用的方式从本地缓存区或通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求;其中,当通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求时,将新获取的业务数据缓存于本地缓存区并进行备份,且分别向其它应用服务器发送业务数据同步请求,并在业务数据同步请求得到响应时将备份的业务数据分发至其它应用服务器;
SC)响应业务数据同步请求,并接收来自其它应用服务器的业务数据进行本地缓存处理。
实施例二:
为了实现实施例一所述的基于数据缓存同步的分布式业务请求处理方法,本发明还响应提供了基于数据缓存同步的分布式业务请求处理系统。如图4所示,该分布式业务请求处理系统包括数据库服务器和多台应用服务器;数据库服务器用于存储所提供业务中各种业务请求对应的业务数据;各应用服务器用于接收来自用户的业务请求,并分别以本地缓存区优先调用的方式从本地缓存区或通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求;其中,每当一台应用服务器通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求时,该应用服务器将新获取的业务数据缓存于本地缓存区并进行备份,且将备份的业务数据分发至其它应用服务器进行缓存;应用服务器通过业务数据网络分别与数据库服务器远程通信连接,各应用服务器之间通过独立于业务数据网络的数据同步网络进行远程通信连接。由此,各应用服务器之间的业务数据缓存同步与应用服务器从数据库服务器获取业务数据各自通过不同的、相互独立的网络进行,避免了各应用服务器之间进行大量的业务数据缓存同步的过程中对业务数据网络通信开销的占用,保证了应用服务器与数据库服务器之间的远程数据通信畅通,减少了业务数据缓存同步对业务请求响应延迟的影响。
作为一种较优的实施方式,本实施例分布式业务请求处理系统中的应用服务器,主要包括有访问热度统计模块、请求接收模块、业务请求处理模块和业务数据同步请求处理模块。访问热度统计模块,用于按预设定的访问热度算法实时计算和统计本地缓存区中缓存的各业务数据的访问热度值;请求接收模块用于接收来自用户的业务请求或来自其它应用服务器的业务数据同步请求;业务请求处理模块用于以本地缓存区优先调用的方式从本地缓存区或通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求,其中,当通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求时,将新获取的业务数据缓存于本地缓存区并进行备份,且分别向其它应用服务器发送业务数据同步请求,并在业务数据同步请求得到响应时将备份的业务数据分发至其它应用服务器;业务数据同步请求处理模块用于响应业务数据同步请求,并接收来自其它应用服务器的业务数据进行本地缓存处理。本实施例中,具体而言,业务请求处理模块包括有:缓存检索单元,用于解析业务请求获得其中包含的业务ID,检索本地缓存区中是否存在业务请求包含的业务ID对应的业务数据,若是则发送本地调用指令,否则发送远程获取指令;本地缓存区调用单元,由本地调用指令触发,用于从本地缓存区中获取业务请求包含的业务ID对应的业务数据,用于响应用户的业务请求;远程数据获取单元,由远程获取指令触发,用于通过远程通信从数据库服务器获取业务请求包含的业务ID对应的业务数据,用于响应用户的业务请求,并发送缓存容量监测指令;缓存容量监测单元,由缓存容量监测指令触发,用于判断新获取的业务数据的数据量是否超过本地缓存区中当前剩余的业务数据缓存容量,若是则发送缓存清理指令,否则发送缓存处理指令;缓存清理单元,由缓存清理指令触发,用于将本地缓存区中访问热度值最低的业务数据及其对应的业务ID记录删除,然后发送缓存容量监测指令;缓存处理单元,由缓存处理指令触发,用于将新获取的业务数据缓存于本地缓存区中,记录新获取的业务数据对应的业务ID,并发送数据分发指令;数据分发处理单元,由数据分发指令触发,用于将新获取的业务数据进行备份,且分别向其它应用服务器发送业务数据同步请求,并在业务数据同步请求得到响应时将备份的业务数据分发至其它应用服务器。业务数据同步请求处理模块包括有:数据同步请求响应单元,用于响应业务数据同步请求,并解析业务数据同步请求获得其中包含的待同步的业务数据对应的业务ID和数据量,并发送同步缓存容量监测指令;同步缓存容量监测单元,由同步缓存容量监测指令触发,用于判断待同步的业务数据的数据量是否超过本地缓存区中当前剩余的业务数据缓存容量,若是则发送同步缓存清理指令,否则发送同步缓存处理指令;同步缓存清理单元,由同步缓存清理指令触发,用于将本地缓存区中访问热度值最低的业务数据及其对应的业务ID记录删除,然后发送缓存容量监测指令;同步缓存处理单元,由同步缓存处理指令触发,用于接收来自其它应用服务器的业务数据缓存于本地缓存区中,并记录该业务数据对应的业务ID。通过应用服务器上述各模块之间的配合工作,完成实施例一种所述的分布式业务请求处理过程,以提升分布式业务服务系统对业务请求的处理效率,缩短业务请求响应延迟,给用户带来更好的网络应用业务服务使用体验。
当然,本实施例同样是为了避免因缓存同步对应用服务器本地缓存区的缓存负荷带来负面影响而需要进行缓存清理判断和处理,并且由于采用了访问热度值作为对本地缓存区中缓存清理对象的判别标准,因此才需要在应用服务器中设置访问热度统计模块;如果本领域技术人员设计的缓存清理处理过程采用其它的缓存清理对象判别方式,或者并未融合设计缓存清理判断和处理,在本发明基于数据缓存同步的分布式业务请求处理系统中,对于每一台应用服务器而言,针对提升分布式业务服务系统对业务请求的处理效率、缩短业务请求响应延迟的问题,设置请求接收模块、业务请求处理模块和业务数据同步请求处理模块,即可完成各应用服务器之间的缓存同步处理,达到提升业务请求处理效率、缩短响应延迟的效果。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1. 基于数据缓存同步的分布式业务请求处理方法,其特征在于,由多台应用服务器接收来自用户的业务请求,并分别以本地缓存区优先调用的方式从本地缓存区或通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求;其中,每当一台应用服务器通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求时,该应用服务器将新获取的业务数据缓存于本地缓存区并进行备份,且将备份的业务数据分发至其它应用服务器进行缓存;
其中,每一台应用服务器按如下步骤进行业务请求处理:
A、当接收到来自用户的业务请求时,执行步骤B;当接收到来自其它应用服务器的业务数据同步请求时,执行步骤C;
B、以本地缓存区优先调用的方式从本地缓存区或通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求;其中,当通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求时,将新获取的业务数据缓存于本地缓存区并进行备份,且分别向其它应用服务器发送业务数据同步请求,并在业务数据同步请求得到响应时将备份的业务数据分发至其它应用服务器;
C、响应业务数据同步请求,并接收来自其它应用服务器的业务数据进行本地缓存处理。
2. 根据权利要求1所述的基于数据缓存同步的分布式业务请求处理方法,其特征在于,所述步骤A之前还包括如下步骤:
O、按预设定的访问热度算法,实时计算和统计本地缓存区中缓存的各业务数据的访问热度值。
3. 根据权利要求2所述的基于数据缓存同步的分布式业务请求处理方法,其特征在于,所述业务请求包含有业务ID;
所述步骤B具体为:
b1、解析业务请求获得其中包含的业务ID,检索本地缓存区中是否存在业务请求包含的业务ID对应的业务数据;若是,执行步骤b2;否则,执行步骤b3;
b2、从本地缓存区中获取业务请求包含的业务ID对应的业务数据,用于响应用户的业务请求;然后跳转执行步骤O;
b3、通过远程通信从数据库服务器获取业务请求包含的业务ID对应的业务数据,用于响应用户的业务请求,并执行步骤b4;
b4、判断新获取的业务数据的数据量是否超过本地缓存区中当前剩余的业务数据缓存容量;若是,则执行步骤b5;否则执行步骤b6;
b5、将本地缓存区中访问热度值最低的业务数据及其对应的业务ID记录删除,然后返回步骤b4;
b6、将新获取的业务数据缓存于本地缓存区中,记录新获取的业务数据对应的业务ID,并执行步骤b7;
b7、将新获取的业务数据进行备份,且分别向其它应用服务器发送业务数据同步请求,并在业务数据同步请求得到响应时将备份的业务数据分发至其它应用服务器;然后跳转执行步骤O。
4. 根据权利要求2所述的基于数据缓存同步的分布式业务请求处理方法,其特征在于,所述业务数据同步请求包含有待同步的业务数据对应的业务ID和数据量;
所述步骤C具体为:
c1、响应业务数据同步请求,并解析业务数据同步请求获得其中包含的待同步的业务数据对应的业务ID和数据量,执行步骤c2;
c2、判断待同步的业务数据的数据量是否超过本地缓存区中当前剩余的业务数据缓存容量;若是,则执行步骤c3;否则执行步骤c4;
c3、将本地缓存区中访问热度值最低的业务数据及其对应的业务ID记录删除,然后返回步骤c2;
c4、接收来自其它应用服务器的业务数据缓存于本地缓存区中,并记录该业务数据对应的业务ID;然后跳转执行步骤O。
5. 根据权利要求2-4任一项所述的基于数据缓存同步的分布式业务请求处理方法,其特征在于,所述访问热度算法的计算参数包括如下一项或几项:设定时间内的访问次数、最近一次访问时间距离当前时刻的时长、对设定时间内的访问次数按各次访问时间的加权求和。
6. 基于数据缓存同步的分布式业务请求处理系统,其特征在于,包括:
数据库服务器,用于存储所提供业务中各种业务请求对应的业务数据;
多台应用服务器,用于接收来自用户的业务请求,并分别以本地缓存区优先调用的方式从本地缓存区或通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求;其中,每当一台应用服务器通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求时,该应用服务器将新获取的业务数据缓存于本地缓存区并进行备份,且将备份的业务数据分发至其它应用服务器进行缓存;
各应用服务器通过业务数据网络分别与数据库服务器远程通信连接,各应用服务器之间通过独立于业务数据网络的数据同步网络进行远程通信连接;
所述应用服务器包括:
请求接收模块,用于接收来自用户的业务请求或来自其它应用服务器的业务数据同步请求;
业务请求处理模块,用于以本地缓存区优先调用的方式从本地缓存区或通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求;其中,当通过远程通信从数据库服务器获取业务数据用于响应用户的业务请求时,将新获取的业务数据缓存于本地缓存区并进行备份,且分别向其它应用服务器发送业务数据同步请求,并在业务数据同步请求得到响应时将备份的业务数据分发至其它应用服务器;
业务数据同步请求处理模块,用于响应业务数据同步请求,并接收来自其它应用服务器的业务数据进行本地缓存处理。
7. 根据权利要求6所述的基于数据缓存同步的分布式业务请求处理系统,其特征在于,所述应用服务器还包括:
访问热度统计模块,用于按预设定的访问热度算法实时计算和统计本地缓存区中缓存的各业务数据的访问热度值。
8. 根据权利要求7所述的基于数据缓存同步的分布式业务请求处理系统,其特征在于,所述业务请求处理模块包括:
缓存检索单元,用于解析业务请求获得其中包含的业务ID,检索本地缓存区中是否存在业务请求包含的业务ID对应的业务数据,若是则发送本地调用指令,否则发送远程获取指令;
本地缓存区调用单元,由本地调用指令触发,用于从本地缓存区中获取业务请求包含的业务ID对应的业务数据,用于响应用户的业务请求;
远程数据获取单元,由远程获取指令触发,用于通过远程通信从数据库服务器获取业务请求包含的业务ID对应的业务数据,用于响应用户的业务请求,并发送缓存容量监测指令;
缓存容量监测单元,由缓存容量监测指令触发,用于判断新获取的业务数据的数据量是否超过本地缓存区中当前剩余的业务数据缓存容量,若是则发送缓存清理指令,否则发送缓存处理指令;
缓存清理单元,由缓存清理指令触发,用于将本地缓存区中访问热度值最低的业务数据及其对应的业务ID记录删除,然后发送缓存容量监测指令;
缓存处理单元,由缓存处理指令触发,用于将新获取的业务数据缓存于本地缓存区中,记录新获取的业务数据对应的业务ID,并发送数据分发指令;
数据分发处理单元,由数据分发指令触发,用于将新获取的业务数据进行备份,且分别向其它应用服务器发送业务数据同步请求,并在业务数据同步请求得到响应时将备份的业务数据分发至其它应用服务器。
9. 根据权利要求7所述的基于数据缓存同步的分布式业务请求处理系统,其特征在于,所述业务数据同步请求处理模块包括:
数据同步请求响应单元,用于响应业务数据同步请求,并解析业务数据同步请求获得其中包含的待同步的业务数据对应的业务ID和数据量,并发送同步缓存容量监测指令;
同步缓存容量监测单元,由同步缓存容量监测指令触发,用于判断待同步的业务数据的数据量是否超过本地缓存区中当前剩余的业务数据缓存容量,若是则发送同步缓存清理指令,否则发送同步缓存处理指令;
同步缓存清理单元,由同步缓存清理指令触发,用于将本地缓存区中访问热度值最低的业务数据及其对应的业务ID记录删除,然后发送同步缓存容量监测指令;
同步缓存处理单元,由同步缓存处理指令触发,用于接收来自其它应用服务器的业务数据缓存于本地缓存区中,并记录该业务数据对应的业务ID。
10. 根据权利要求7-9任一项所述的基于数据缓存同步的分布式业务请求处理系统,其特征在于,所述访问热度算法的计算参数包括如下一项或几项:设定时间内的访问次数、最近一次访问时间距离当前时刻的时长、对设定时间内的访问次数按各次访问时间的加权求和。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210373171.XA CN103716343B (zh) | 2012-09-29 | 2012-09-29 | 基于数据缓存同步的分布式业务请求处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210373171.XA CN103716343B (zh) | 2012-09-29 | 2012-09-29 | 基于数据缓存同步的分布式业务请求处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103716343A CN103716343A (zh) | 2014-04-09 |
CN103716343B true CN103716343B (zh) | 2016-11-09 |
Family
ID=50408923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210373171.XA Active CN103716343B (zh) | 2012-09-29 | 2012-09-29 | 基于数据缓存同步的分布式业务请求处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103716343B (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219327B (zh) * | 2014-09-27 | 2017-05-10 | 上海瀚之友信息技术服务有限公司 | 一种分布式缓存系统 |
CN106815250A (zh) * | 2015-12-01 | 2017-06-09 | 招商局国际信息技术有限公司 | 一种发送数据的方法、数据服务器以及服务器 |
CN107026879B (zh) * | 2016-01-30 | 2020-04-28 | 华为技术有限公司 | 一种数据缓存方法及后台应用系统 |
CN107302549B (zh) * | 2016-04-14 | 2021-05-25 | 宾盛科技(武汉)有限公司 | 一种远程数据传输与存储系统及方法 |
CN105843561B (zh) * | 2016-04-25 | 2018-11-16 | 浪潮(北京)电子信息产业有限公司 | 一种存储空间的缓冲方法及装置 |
CN106357743B (zh) * | 2016-08-29 | 2019-06-07 | 北京邮电大学 | 一种雾计算网络基于分级缓存的业务传输方法 |
CN106921648A (zh) * | 2016-11-15 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 数据存储方法、应用服务器及远程存储服务器 |
CN107528878B (zh) * | 2017-07-03 | 2020-11-06 | 创新先进技术有限公司 | 数据处理系统、数据处理控制装置及方法 |
CN107436818A (zh) * | 2017-07-31 | 2017-12-05 | 北京微影时代科技有限公司 | 一种红包信息获取并发送的方法和装置 |
CN107707619B (zh) * | 2017-08-28 | 2020-12-04 | 北京小米移动软件有限公司 | 分布式存储方法及装置 |
CN107659623B (zh) * | 2017-09-06 | 2020-08-11 | 深圳震有科技股份有限公司 | 一种np数据分发方法及系统 |
CN107943832A (zh) * | 2017-10-23 | 2018-04-20 | 中国联合网络通信集团有限公司 | 业务处理方法及装置 |
CN107967183A (zh) * | 2017-11-29 | 2018-04-27 | 努比亚技术有限公司 | 一种应用接口合并运行方法、移动终端以及计算机可读存储介质 |
CN108090152B (zh) * | 2017-12-11 | 2021-11-30 | 创新先进技术有限公司 | 一种数据同步方法及系统 |
CN108460070A (zh) * | 2017-12-21 | 2018-08-28 | 阿里巴巴集团控股有限公司 | 一种基于数据库的数据处理方法、装置及设备 |
CN108304527B (zh) * | 2018-01-25 | 2022-02-01 | 杭州哲信信息技术有限公司 | 一种数据提取方法 |
CN108712498B (zh) * | 2018-05-23 | 2020-02-18 | 新华三大数据技术有限公司 | 服务的调用方法及装置 |
CN109218394B (zh) * | 2018-07-27 | 2020-11-10 | 深圳市华讯方舟太赫兹科技有限公司 | 应用于安检系统的通信方法及系统 |
CN109120445B (zh) * | 2018-08-22 | 2021-11-26 | 公安部第三研究所 | 一种网络日志数据同步系统及方法 |
CN109284193B (zh) * | 2018-09-06 | 2022-12-09 | 平安科技(深圳)有限公司 | 一种基于多线程的分布式数据处理方法及服务器 |
CN109408751B (zh) * | 2018-09-27 | 2022-08-30 | 腾讯科技(成都)有限公司 | 一种数据处理方法、终端、服务器及存储介质 |
CN109151061B (zh) * | 2018-09-28 | 2021-08-03 | 视联动力信息技术股份有限公司 | 一种数据存储方法和装置 |
CN109902103A (zh) * | 2019-01-17 | 2019-06-18 | 平安城市建设科技(深圳)有限公司 | 业务数据管理方法、装置、设备及计算机可读存储介质 |
CN112148202B (zh) * | 2019-06-26 | 2023-05-26 | 杭州海康威视数字技术股份有限公司 | 训练样本读取方法及装置 |
CN110365752B (zh) * | 2019-06-27 | 2022-04-26 | 北京大米科技有限公司 | 业务数据的处理方法、装置、电子设备和存储介质 |
CN110928888A (zh) * | 2019-10-17 | 2020-03-27 | 北京达佳互联信息技术有限公司 | 数据反馈方法、装置及服务器、存储介质 |
CN111343237B (zh) * | 2020-02-07 | 2022-11-29 | 广州亚美信息科技有限公司 | 服务器集群通信的方法、通信装置及计算机存储介质 |
CN111355801B (zh) * | 2020-03-03 | 2022-07-22 | 袁爱民 | 一种远程人工智能通信业务办理系统及其控制方法 |
CN111694868A (zh) * | 2020-06-16 | 2020-09-22 | 北京同邦卓益科技有限公司 | 数据缓存方法、装置、电子设备及存储介质 |
CN113242285A (zh) * | 2021-04-30 | 2021-08-10 | 北京京东拓先科技有限公司 | 一种热点数据处理方法、装置和系统 |
CN117608679B (zh) * | 2023-10-27 | 2024-09-17 | 广州市玄武无线科技股份有限公司 | 一种程序启动方法、系统、电子设备及存储介质 |
CN117724852B (zh) * | 2024-02-07 | 2024-05-07 | 微网优联科技(成都)有限公司 | 一种云电脑计算资源分配方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262413A (zh) * | 2007-03-05 | 2008-09-10 | 华为技术有限公司 | 实现媒体缓存的方法、系统和装置 |
CN101848430A (zh) * | 2009-03-24 | 2010-09-29 | 朗讯科技公司 | 用于业务请求认证的装置和方法,业务请求认证系统及其方法 |
US7818402B1 (en) * | 2006-02-08 | 2010-10-19 | Roxbeam Media Network Corporation | Method and system for expediting peer-to-peer content delivery with improved network utilization |
CN101938524A (zh) * | 2010-09-19 | 2011-01-05 | 中兴通讯股份有限公司 | 一种处理p2p业务的方法及系统 |
-
2012
- 2012-09-29 CN CN201210373171.XA patent/CN103716343B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7818402B1 (en) * | 2006-02-08 | 2010-10-19 | Roxbeam Media Network Corporation | Method and system for expediting peer-to-peer content delivery with improved network utilization |
CN101262413A (zh) * | 2007-03-05 | 2008-09-10 | 华为技术有限公司 | 实现媒体缓存的方法、系统和装置 |
CN101848430A (zh) * | 2009-03-24 | 2010-09-29 | 朗讯科技公司 | 用于业务请求认证的装置和方法,业务请求认证系统及其方法 |
CN101938524A (zh) * | 2010-09-19 | 2011-01-05 | 中兴通讯股份有限公司 | 一种处理p2p业务的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103716343A (zh) | 2014-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103716343B (zh) | 基于数据缓存同步的分布式业务请求处理方法及系统 | |
CN109684358B (zh) | 数据查询的方法和装置 | |
EP2563062B1 (en) | Long connection management apparatus and link resource management method for long connection communication | |
US11711446B2 (en) | Systems and methods for utilizing unused network capacity for prefetch requests | |
CN109672627A (zh) | 基于集群服务器的业务处理方法、平台、设备及存储介质 | |
CN101321090A (zh) | 性能数据的统计方法和装置 | |
CN101039281B (zh) | 一种流媒体服务器负荷分担方法 | |
CN102045197B (zh) | 一种告警数据的同步方法及网管系统 | |
WO2020019472A1 (zh) | 服务节点的评分方法、域名系统dns调度方法及服务器 | |
CN103645904B (zh) | 一种接口调用的缓存实现方法 | |
CN103856760B (zh) | 一种视频监控设备间纵向虚拟化装置 | |
CA2668881A1 (en) | System and method for enhanced experience with a peer to peer network | |
CN107025222A (zh) | 一种分布式日志采集方法及装置 | |
CN101808119A (zh) | 一种多存储阵列负载均衡的方法和设备 | |
CN105450964B (zh) | 对录像数据进行云存储的方法、系统及管理节点 | |
WO2014194704A1 (en) | A grouping processing method and system | |
CN106649856A (zh) | 一种数据库访问装置、系统及方法 | |
CN106446268A (zh) | 一种数据库横向扩展系统及方法 | |
CN105245592A (zh) | 基于相近缓存协作的移动网络基站缓存内容放置方法 | |
CN114629883B (zh) | 服务请求的处理方法、装置、电子设备及存储介质 | |
CN106936926B (zh) | 访问数据节点的方法及系统 | |
CN103530335A (zh) | 电力计量采集系统的入库操作方法及装置 | |
CN103546528A (zh) | 分布式消息推送方法及系统 | |
CN102547393B (zh) | 移动互联网视频内容交互系统及其方法 | |
CN102571383B (zh) | 一种接入控制方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200608 Address after: Room 502-1, floor 5, building 2, courtyard 10, KEGU 1st Street, economic development zone, Daxing District, Beijing 100081 Patentee after: Singularity Xinyuan International Technology Development (Beijing) Co.,Ltd. Address before: The 401121 northern New District of Chongqing municipality Mount Huangshan Road 5 south of Mercury Technology Building 1 floor office No. 3 Patentee before: A-MEDIA COMMUNICATION TECH Co.,Ltd. |
|
TR01 | Transfer of patent right |