基于后台缓存的访问处理方法及适配器的制造方法

文档序号:9870375阅读:207来源:国知局
基于后台缓存的访问处理方法及适配器的制造方法
【技术领域】
[0001]本发明涉及数据处理技术,尤其涉及一种基于后台缓存的访问处理方法及适配器。
【背景技术】
[0002]近年来国内民航业服务得到了蓬勃发展,shopping引擎变的尤为重要,后台计算系统在处理票价数据时也面临着巨大的压力。为了减小对后台计算系统的数据压力,均衡访问,在机器故障时能快速切换,访问计算系统的适配器变得不可或缺。
[0003]适配器负责前台系统对计算系统的连接。如果计算系统发生故障或访问过高,则需要将前台系统的数据切换到访问备份系统。这时,要求适配器能够自动切换到备份系统并启动应急流程保证前台系统性能。计算系统恢复后,适配器继续将数据切回计算系统,重新使用计算系统的主机。
[0004]考虑到后台计算系统在单台机器上有本机器的缓存机制,为了提高对缓存的命中率,即使对请求分类使访问到特定机器,也将破坏整个后台计算系统的负载均衡,这样,就需要对访问时的缓存和负载均衡进行优化。
[0005]因此,需要提出一种新的访问模式或访问方法,能够在前台系统调用后台计算系统时,实现对计算系统访问的负载均衡,减小计算系统的数据压力,并且达到高效的主备切换和高缓存命中率。

【发明内容】

[0006]为解决现有存在的技术问题,本发明实施例提供一种基于后台缓存的访问处理方法及适配器。
[0007]为达到上述目的,本发明实施例的技术方案是这样实现的:
[0008]本发明实施例提供了一种基于后台缓存的访问处理方法,所述方法包括:
[0009]适配器接收前台系统发送的请求串,所述请求串由访问请求分组及其对应的主机IP地址和备机IP地址拼成;
[0010]查询共享内存中是否存在所述请求串中的所有IP地址;
[0011]如果所述请求串中所有IP地址不是都在共享内存中,则初始化共享内存,并重新查询共享内存是否存在所述请求串中的所有IP地址;
[0012]如果所述请求串中的所有IP地址都已在共享内存中,则找到当前IP连接数最小的机器,与当前IP连接数最小的机器连接,获得结果并将所述结果返回给所述前台系统。
[0013]其中,所述方法还包括:在与当前IP连接数最小的机器连接之前,更新所述机器的IP连接数,并控制所述共享内存的控制块对所述机器的数据块进行读写加锁;在获得结果后,控制所述控制块对所述机器的数据块进行读写解锁,再次更新所述机器的IP连接数。
[0014]其中,如果所述请求串中的所有IP地址都已在共享内存中,确定当前仅访问计算系统的主机还是访问计算系统的主机和备机,如果当前仅访问计算系统的主机,则访问共享内存的主机IP地址列表找到IP连接数最小的机器,如果当前访问计算系统的主机和备机,则访问共享内存的主机IP地址列表和备机IP地址列表,找到IP连接数最小的机器。
[0015]其中,所述初始化,包括:
[0016]控制所述共享内存的控制块将所有数据块的读写加锁;
[0017]重新查询所述请求串的所有IP地址是否都在所述共享内存中;如果不是,则将未在所述共享内存中的IP地址添加到所述共享内存,更新所述控制块的IP地址数,控制所述控制块将所有数据块的读写解锁;
[0018]如果是,控制所述控制块将所有数据块的读写解锁。
[0019]其中,在接收前台系统发送的访问请求之前,所述方法还包括:
[0020]前台系统通过协议商定的格式,将访问请求按预定的策略分组,每个分组对应一组主机IP地址和一组备机IP地址,将每个访问请求分组及其对应的主机IP地址和备机IP地址拼成的请求串并发送给所述适配器。
[0021 ] 本发明实施例还提供了一种适配器,所述适配器包括:
[0022]接收模块,用于接收前台系统发送的请求串,所述请求串由访问请求分组及其对应的主机IP地址和备机IP地址拼成;
[0023]查询模块,用于查询共享内存中是否存在所述请求串中的所有IP地址;
[0024]初始化模块,用于在所述查询模块的结果为所述请求串中所有IP地址不是都在共享内存时,则初始化共享内存,并返回查询模块;
[0025]访问模块,用于在所述查询模块的结果为所述请求串中所有IP地址都已在共享内存时,则找到当前IP连接数最小的机器,与当前IP连接数最小的机器连接,获得结果并将所述结果返回给所述前台系统。
[0026]其中,所述访问模块还用于:
[0027]在与当前IP连接数最小的机器连接之前,更新所述机器的IP连接数,并控制所述共享内存的控制块对所述机器的数据块进行读写加锁;
[0028]在获得结果后,控制所述控制块对所述机器的数据块进行读写解锁,再次更新所述机器的IP连接数。
[0029]其中,所述访问模块用于:如果所述请求串中的所有IP地址都已在共享内存中,确定当前仅访问计算系统的主机还是访问计算系统的主机和备机,如果当前仅访问计算系统的主机,则访问共享内存的主机IP地址列表找到IP连接数最小的机器,如果当前访问计算系统的主机和备机,则访问共享内存的主机IP地址列表和备机IP地址列表,找到IP连接数最小的机器。
[0030]其中,所述初始化模块用于:控制所述共享内存的控制块将所有数据块的读写加锁;重新查询所述请求串的所有IP地址是否都在所述共享内存中;如果不是,则将未在所述共享内存中的IP地址添加到所述共享内存,更新所述控制块的IP地址数,控制所述控制块将所有数据块的读写解锁;如果是,控制所述控制块将所有数据块的读写解锁。
[0031]本发明实施例还提供了一种基于后台缓存的访问处理系统,所述系统包括:前台系统、计算系统以及上述的适配器,其中,前台系统,用于通过协议商定的格式,将访问请求按预定的策略分组,每个分组对应一组主机IP地址和一组备机IP地址,将每个访问请求分组及其对应的主机IP地址和备机IP地址拼成的请求串并发送给所述适配器。
[0032]本发明实施例利用共享内存、计数器、控制锁等技术的结合,在前台系统调用后台的计算系统时,使后台计算系统访问的负载均衡,大大减少了后台计算系统的数据压力。且通过后台计算系统的缓存策略,并利用负载均衡的访问策略,进一步提高了缓存命中率,并能够达到高效率的主备切换。
【附图说明】
[0033]在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。
[0034]图1为本发明实施例访问处理方法的一个流程示意图;
[0035]图2为本发明实施例访问处理方法的另一个流程示意图;
[0036]图3为本发明实施例访问处理方法的又一个流程示意图;
[0037]图4为本发明实施例适配器的组成结构示意图;
[0038]图5为本发明实施例访问处理系统的组成结构示意图。
【具体实施方式】
[0039]本发明实施例利用共享内存、计数器、控制锁等技术的结合,把前台系统到计算系统的直接访问,转换为适配器中间协调的三层调用关系,从而在前台系统调用后台的计算系统时,使后台计算系统访问的负载均衡。
[0040]如图1所示,本发明实施例提供的基于后台缓存的访问处理方法,主要可以包括如下步骤:
[0041]步骤101:前台系统通过协议商定的格式,将访问请求按一定策略分组,每个分组对应一组主机IP地址和一组备机IP地址,并将每个访问请求与其对应的主机IP地址和备机IP地址拼成请求串,发送给适配器,适配器接收所述请求串,解析请求串,分解出主机IP地址组和备机IP地址组;
[0042]步骤102:适配器遍历共享内存中的IP地址列表,查询所述请求串的IP地址在共享内存中是否都存在;
[0043]如果所述请求串的IP地址在共享内存中都存在,则继续步骤109;如果所述请求串的IP地址不是在共享内存中都存在,则继续步骤103;如果
[0044]步骤103:控制共孚内存的控制块对其所有数据块的读与加锁;
[0045]步骤104:重新遍历共享内存中的IP地址列表;
[0046]步骤105:查询所述请求串的IP地址是否在共享内存的IP地址列表中;,如果是,则继续步骤108 ;否则继续步骤106 ;
[0047]步骤106:将不在共享内存的IP地址添加到共享内存中;
[0048]步骤107:更新控制块的IP地址数;
[0049]步骤108:控制共孚内存的控制块对所有数据块的读与解锁;
[0050]步骤109:确定当前仅访问计算系统的主机系统,还是访问计算系统的主机系统和计算系统的备机系统;
[0051 ]步骤1010:如果仅访问主机,则访问共享内存,查询主机的IP地址列表,找到连接数最小的IP地址;如果访问主机系统和备机系统,则访问共享内存,查询主机的IP地址列表和备机的IP地址列表,找到当前IP连接数最小的机器;
[0052]步骤1011:控制块将IP连接数最小机器的IP连接数加I,并将该机器数据块
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1