实现高内聚与低耦合的多级缓存方法及其系统.pdf

上传人:1*** 文档编号:4893914 上传时间:2018-11-24 格式:PDF 页数:13 大小:987.80KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410468275.8

申请日:

2014.09.15

公开号:

CN104243581A

公开日:

2014.12.24

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 29/08申请日:20140915|||公开

IPC分类号:

H04L29/08

主分类号:

H04L29/08

申请人:

成都北纬航信网络科技有限责任公司

发明人:

王君涛; 韩生余

地址:

610000 四川省成都市高新区天府四街66号2栋14层2号

优先权:

专利代理机构:

北京爱普纳杰专利代理事务所(特殊普通合伙) 11419

代理人:

何自刚

PDF下载: PDF下载
内容摘要

本申请公开了一种实现高内聚与低耦合的多级缓存方法及其系统,该方法为获取业务应用的数据对象的操作请求提供分层安排,包括:发送数据对象的操作请求;根据所述操作请求,按照业务功能采用队列模式将所述数据对象进行归并和分类,并采用面向数据对象的开发方式进行逐层封装;基于配置的定义管理所述数据对象,并提供数据对象的操作接口,以对动态内容进行缓存。本发明实现高内聚与低耦合,系统总体架构按照获取业务应用的数据对象的操作请求进行分层设计,通过统一方式进行调用,对于内容管理等具有扩展性需要的业务逻辑,提供基于配置的快速定义开发方式,支持大多数的数据对象内容发布要求,减少二次开发需求,在语义层实施解耦。

权利要求书

权利要求书1.  一种实现高内聚与低耦合的多级缓存方法,其特征在于,为获取业务应用的数据对象的操作请求提供分层安排,包括:发送数据对象的操作请求;根据所述操作请求,按照业务功能采用队列模式将所述数据对象进行归并和分类,并采用面向数据对象的开发方式进行逐层封装;基于配置的定义管理所述数据对象,并提供数据对象的操作接口,以对动态内容进行缓存。2.  根据权利要求1所述实现高内聚与低耦合的多级缓存方法,其特征在于,所述基于配置的定义管理数据对象包括:设定各个数据对象对应存储的memcached,根据数据对象的主键值将所述数据对象分发到对应的memcached。3.  根据权利要求2所述实现高内聚与低耦合的多级缓存方法,其特征在于,所述将数据对象分发到对应的memcached为采用Hash算法。4.  根据权利要求3所述实现高内聚与低耦合的多级缓存方法,其特征在于,所述对动态内容进行缓存包括:由负载平衡器动态地将负载重新分布在与缓存的内容相关联的操作接口上。5.  一种实现高内聚与低耦合的多级缓存系统,其特征在于,整体架构按照获取业务应用的数据对象的操作请求进行分层设计,包括:客户层,用于发送数据对象的操作请求;服务层,用于根据所述操作请求,按照业务功能采用队列模式将所述数据对象进行归并和分类,并采用面向数据对象的开发方式进行逐层封装;存储层,用于基于配置的定义管理所述数据对象,并提供数据对象的操作接口,以对动态内容进行缓存。6.  根据权利要求5所述实现高内聚与低耦合的多级缓存系统,其特征在于,所述存储层包括:采用队列模式分布的memcached。7.  根据权利要求6所述实现高内聚与低耦合的多级缓存系统,其特征在于,所述存储层还包括扩展程序操作接口,用于扩展数据库服务器。8.  根据权利要求7所述实现高内聚与低耦合的多级缓存系统,其特征在于,所述存储层还包括负载平衡器,用于动态地将负载重新分布在与单个缓存相关联的操作接口上。

说明书

说明书实现高内聚与低耦合的多级缓存方法及其系统
技术领域
本发明属于通信技术领域,涉及一种实现高内聚与低耦合的多级缓存方法及其系统。
背景技术
随着互联网技术的普及,大型电子商城应运而生,其给人们的生活带来了诸多的便利,人们开始习惯在大型电子商城上进行各种各样的应用以满足生活需求,典型的应用如电子购物,流程一般包括:浏览商品,商品加入购物车,查询购物车商品,查询订单状态,导出订单等,随之而来对响应速度提出了更高的要求。
目前,以大型电子商城12580为例,作为中国移动为用户提供的综合信息服务平台,在国内,可随时拨打12580进行餐饮、娱乐、旅游、天气、交通、便民等各类信息的查询,以及酒店、机票的查询、预订,查询结果将以语音及短信、彩信等方式告知用户。12580在商户和消费者之间,构建了一个基于“用户细分需求匹配、广告直接促进销售”的双边市场,致力于为客户提供“专家级”资讯服务。
公布号为CN103166997A的专利文献公开了一种memcache分布式缓存方法,包括:首先,缓存获取,采用客户端通过请求名字结点服务器返回唯一键对应的缓存节点服务器的一个或多个ip地址。接着,客户端从某个数据源获取数据,客户端通过请求名字结点服务器,令名字结点服务器范围唯一键所对应的缓存结点服务器的一个或多个ip地址。之后,客户端获取第一个ip,将缓存写入对应的缓存结点服务器。现有技术的显著缺点是:不能适应未来各种应用系统对大型电子商城提供统一平台服务的需求,以及提供针对各种已有数据源的接口支持。
发明内容
本发明的目的在于克服上述不足,提供一种实现高内聚与低耦合的多级缓存方法,其能够加快数据对象操作请求的响应速度,满足未来各种应用系统对大型电子商城提供统一平台服务的需求。
为了实现上述目的,本发明采用的技术方案为:
一种实现高内聚与低耦合的多级缓存方法,其特征在于,为获取业务应用的数据对象的操作请求提供分层安排,包括:
发送数据对象的操作请求;
根据所述操作请求,按照业务功能采用队列模式将所述数据对象进行归并和分类,并采用面向数据对象的开发方式进行逐层封装;
基于配置的定义管理所述数据对象,并提供数据对象的操作接口,以对动态内容进行缓存。
优选地,其中,所述基于配置的定义管理数据对象包括:设定各个数据对象对应存储的memcached,根据数据对象的主键值将所述数据对象分发到对应的memcached。
优选地,其中,所述将数据对象分发到对应的memcached为采用Hash算法。
优选地,其中,所述对动态内容进行缓存包括:由负载平衡器动态地将负载重新分布在与缓存的内容相关联的操作接口上。
为了实现上述目的,本发明采用的技术方案为:
一种实现高内聚与低耦合的多级缓存系统,其特征在于,整体架构按照获取业务应用的数据对象的操作请求进行分层设计,包括:
客户层,用于发送数据对象的操作请求;
服务层,用于根据所述操作请求,按照业务功能采用队列模式将所述数据对象进行归并和分类,并采用面向数据对象的开发方式进行逐层封装;
存储层,用于基于配置的定义管理所述数据对象,并提供数据对象的操作接口,以对动态内容进行缓存。
优选地,其中,所述存储层包括:采用队列模式分布的memcached。
优选地,其中,所述存储层还包括扩展程序操作接口,用于扩展数据库服务器。
优选地,其中,所述存储层还包括负载平衡器,用于动态地将负载重新 分布在与单个缓存相关联的操作接口上。
本发明的有益效果为:
第一,实现高内聚与低耦合,系统总体架构按照获取业务应用的数据对象的操作请求进行分层设计,包括客户层、服务层与存储层,层与层之间完全解耦,通过统一方式进行调用,对于内容管理等具有扩展性需要的业务逻辑,提供基于配置的快速定义开发方式,支持大多数的数据对象内容发布要求,减少二次开发需求,在语义层实施解耦。
第二,提高用户的访问速度,采用分布式缓存,对用户动态有关的动态内容采用memcached进行存储,通过在内存中缓存数据和对象减少读取数据库的次数,从而提供动态、数据库驱动网站的速度,另外,负载平衡器动态地将负载重新分布在与单个缓存相关联的操作接口上,减轻了数据库的负担。
第三,具备数据的无限扩展,初始的用户和访问量只需要一台服务器就可以承受,预留的扩展程序接口,可以方便地扩展数据库服务器,让系统支撑更多的数据。克服了现有技术为了扩展数据库服务器,大都采用第三方开发的程序来实现所造成的技术缺陷,有效地缓解了大量数据存储和高效率的访问。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本发明的实现高内聚与低耦合的多级缓存方法的流程示意图;
图2是图1所示方法的实施例交互时序示意图;
图3是本发明的实现高内聚与低耦合的多级缓存系统的结构示意图。
具体实施方式
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包 含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
实施例1
请参照图1,本发明的实现高内聚与低耦合的多级缓存方法,为获取业务应用的数据对象的操作请求提供分层安排,包括:S100,发送数据对象的操作请求;S200,根据所述操作请求,按照业务功能采用队列模式将所述数据对象进行归并和分类,并采用面向数据对象的开发方式进行逐层封装;S300,基于配置的定义管理所述数据对象,并提供数据对象的操作接口,以对动态内容进行缓存。
优选地,所述将数据对象进行归并和分类包括:采用队列模式将数据对象进行分布。
优选地,所述基于配置的定义管理数据对象包括:设定各个数据对象对应存储的memcached,根据数据对象的主键值将所述数据对象分发到对应的memcached。
优选地,所述将数据对象分发到对应的memcached为采用Hash算法。
优选地,所述对动态内容进行缓存包括:由负载平衡器动态地将负载重新分布在与缓存的内容相关联的操作接口上。
本实施例将本发明的方法应用在12580大型电子商城,12580是中国移动为用户提供的综合信息服务平台,在国内,可随时拨打12580进行餐饮、娱乐、旅游、天气、交通、便民等各类信息的查询,以及酒店、机票的查询、预订,查询结果将以语音及短信、彩信等方式告知用户。
以12580提供的商旅服务为例,其服务主要包括:机票预订,可以查询国内机票的正常票价、折扣票价、出发城市、到达城市、航空公司、航班号、起止机场、起飞时间、到达时间、全程时间、机型、舱位、燃油费、备注、签改退政策;并能轻松享受机票的预订、出票、送票、退票、改签等系列服务。酒店预订,可以查询酒店名称、简介、类别、地址、价格、房(床)型、前台电话、有无宽带、周边景点、会议功能、商业配套情况、会所、面积、 停车、餐厅情况、装修配置情况、交通情况、相近路口、火车站机场到酒店的距离等各类信息;并能轻松享受酒店的预订、预订变更、预订取消、预订信息查询等系列服务。
请参照图2,优选地,用户登录12580商城,发送数据对象的操作请求;12580商城平台根据用户的登录操作请求,验证用户身份,并返回验证结果。
优选地,12580商城平台按照业务功能采用队列模式将所述数据对象进行归并和分类,例如机票预订,包括国内机票的正常票价、折扣票价、出发城市、到达城市、航空公司、航班号、起止机场、起飞时间、到达时间、全程时间、机型、舱位、燃油费、备注、签改退政策,并采用面向数据对象的开发方式进行逐层封装。
优选地,基于配置的定义管理所述数据对象,用户订购商品,作为具体的实施例,用户订购机票,提交订单,12580商城平台处理机票订单,成功提交支付请求至支付平台,并提供数据对象的操作接口,以对动态内容进行缓存。
优选地,支付平台向用户发起支付,用户确认支付,支付平台处理支付,向用户返回支付结果。
优选地,12580商城平台更新支付状态,并将订单信息通知到商户,由负载平衡器动态地将支付状态的更新重新分布在与缓存的内容相关联的操作接口上。
优选地,12580商城平台发起下发电子券请求至认证平台,认证平台向用户下发电子券,并返回电子券下发结果至12580商城平台。
优选地,用户持电子券前往商户消费,商户发起验证电子券请求于认证平台,认证平台向商户返回验证结果。
优选地,认证平台向12580商城平台返回验证结果,更新消费状态,由负载平衡器动态地将消费状态的更新重新分布在与缓存的内容相关联的操作接口上。验证成功,则商户向用户提供机票预订服务。
优选地,所述将数据对象进行归并和分类包括:采用队列模式将数据对象进行分布。
优选地,所述基于配置的定义管理数据对象包括:设定各个数据对象对应存储的memcached,根据数据对象的主键值将所述数据对象分发到对应的 memcached。
优选地,所述将数据对象分发到对应的memcached为采用Hash算法。memcached基于一个存储键/值对的hashmap,其守护进程(daemon)是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
优选地,12580商城平台通过memcached建立分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。
在具体的实施例中,memcached是高性能的分布式内存缓存服务器,和Squid的前端缓存加速不同,它是通过基于内存缓存对象来减少数据库查询的方式改善网站系统的反应,而其中最吸引人的一个特性就是支持分布式部署,也就是说可以在一群机器上建立一堆memcached服务,每个服务可以根据具体服务器的硬件配置使用不同大小的内存块。
优选地,memcached的服务器客户端通信使用简单的基于文本行的协议。因此,通过telnet也能在memcached上保存数据、取得数据,例如:
$telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.localdomain(127.0.0.1).
Escape character is.
set foo 003(发起支付)
bar(订单信息)
STORED(确认支付)
get foo(返回支付结果)
VALUE foo 03(订单信息)
bar(订单信息)
优选地,为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。
优选地,使用memcached-Server端,在服务端运行:
#./memcached-d-m 2048-l 10.0.0.40-p 11211
将会启动一个占用2G内存的进程,并打开11211端口用于接收请求。由于32位系统只能处理4G内存的寻址,所以在大于4G内存使用PAE的32位服务器上可以运行2-3个进程,并在不同端口进行监听。
优选地,使用memcached-Client端,在应用端包含一个用于描述Client的Class后,就可以直接使用,例如:
$options["servers"]=array("192.168.1.41:11211","192.168.1.42:11212");
$options["debug"]=false;
$memc=new MemCachedClient($options);
$myarr=array("one","two",3);
$memc->set("key_one",$myarr);
$val=$memc->get("key_one");
print$val[0]."\n";//prints'one‘
print$val[1]."\n";//prints'two‘
print$val[2]."\n";//prints 3
本发明的实现高内聚与低耦合的多级缓存方法应用在12580大型电子商城,能够提升:浏览商城的速度,商品加入购物车的速度,查询订单状态的速度,以及商户导出订单的速度。
实施例2
请参照图3,本实施例的实现高内聚与低耦合的多级缓存系统,整体架构按照获取业务应用的数据对象的操作请求进行分层设计,包括:客户层,用于发送数据对象的操作请求;服务层,用于根据所述操作请求,按照业务功能采用队列模式将所述数据对象进行归并和分类,并采用面向数据对象的开发方式进行逐层封装;存储层,用于基于配置的定义管理所述数据对象,并提供数据对象的操作接口,以对动态内容进行缓存。
优选地,所述存储层包括:采用队列模式分布的memcached。
优选地,所述基于配置的定义管理数据对象包括:设定各个数据对象对应存储的memcached,根据数据对象的主键值将所述数据对象分发到对应的memcached。
优选地,所述存储层还包括扩展程序接口,用于扩展数据库服务器。
优选地,所述存储层还包括负载平衡器,用于动态地将负载重新分布在与单个缓存相关联的操作接口上。
本实施例的分布式缓存是将用户访问或下载的内容对象在采用队列模式分布的memcached中缓存一个副本,当内容对象再次被用户访问或下载的时候,不必连接到内容对象对应的源服务器,而直接由缓存了内容对象副本的缓存设备提供,从而加速内容对象的访问和下载,并降低对缓存设备的上一级网络带宽占用。
单台服务器内存有限,内存中的数据容易丢失,此时数据库的压力会很大,短时间内无法迅速恢复缓存,此时,需要多台服务器组成分布式以解决单台机的内存限制,数据冗余和性能扩展问题。分布式缓存通过Hash算法将数据切合到缓存集群中不同的memcached上,有效地缓解了大量数据存储和高效率的访问。
本实施例应用在12580大型电子商城的酒店查询服务,包括:查询酒店名称、简介、类别、地址、价格、房(床)型、前台电话、有无宽带、周边景点、会议功能、商业配套情况、会所、面积、停车、餐厅情况、装修配置情况、交通情况、相近路口、火车站机场到酒店的距离等各类信息。
优选地,用户登录12580商城,发送数据对象的操作请求;12580商城平台根据用户的登录操作请求,验证用户身份,并返回验证结果。
优选地,12580商城平台按照业务功能采用队列模式将所述数据对象进行归并和分类,例如酒店名称、简介、类别、地址、价格、房(床)型、前台电话、有无宽带、周边景点、会议功能、商业配套情况、会所、面积、停车、餐厅情况、装修配置情况、交通情况、相近路口、火车站机场到酒店的距离。
优选地,基于配置的定义管理所述数据对象,作为具体的实施例,用户进行酒店查询,提交查询请求,12580商城平台处理查询请求,成功提交查询请求,并提供数据对象的操作接口,以对动态内容进行缓存。
优选地,服务器向用户发起酒店信息查询数据,用户进行浏览,同时,12580商城平台更新酒店信息查询数据,并将更新的信息通知到用户以进行浏览,由负载平衡器动态地将支付状态的更新重新分布在与缓存的内容相关联的操作接口上。
优选地,用户认可了商户的酒店,则向12580商城平台发起预定请求,以下步骤与实施例2相同:用户在支付平台上进行酒店预订,通过认证平台向用户下发电子券,并返回电子券下发结果至12580商城平台。
优选地,用户持电子券前往商户消费,商户发起验证电子券请求于认证平台,认证平台向商户返回验证结果。
优选地,认证平台向12580商城平台返回验证结果,更新消费状态,由负载平衡器动态地将消费状态的更新重新分布在与缓存的内容相关联的操作接口上。验证成功,则商户向用户提供酒店查询服务。
优选地,所述将数据对象进行归并和分类包括:采用队列模式将数据对象进行分布。
优选地,所述基于配置的定义管理数据对象包括:设定各个数据对象对应存储的memcached,根据数据对象的主键值将所述数据对象分发到对应的memcached。
优选地,所述将数据对象分发到对应的memcached为采用Hash算法。
优选地,12580商城平台通过memcached建立分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。
在具体的实施例中,memcached的服务器客户端通信使用简单的基于文本行的协议。因此,通过telnet也能在memcached上保存数据、取得数据,例如:
$telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.localdomain(127.0.0.1).
Escape character is.
set foo 003(发起查询请求)
bar(酒店信息)
STORED(确认商户酒店)
get foo(返回查询结果)
VALUE foo 03(酒店信息)
bar(酒店信息)
实施例3
本实施例应用在12580大型电子商城的电子优惠券服务,当用户搜索生活服务时,坐席将12580电子优惠券以短信和彩信的形式发送至客户手机终端。客户凭12580电子优惠券到签约合作商户消费,可以享受指定优惠的价格。12580电子优惠券覆盖餐饮、休闲、购物、美容美发、健身等行业。
优选地,用户登录12580商城,发送数据对象的操作请求;12580商城平台根据用户的登录操作请求,验证用户身份,并返回验证结果。
优选地,12580商城平台按照业务功能采用队列模式将所述数据对象进行归并和分类,例如餐饮、休闲、购物、美容美发、健身等各行业的电子券。
优选地,基于配置的定义管理所述数据对象,作为具体的实施例,12580商城平台发起下发电子券请求至认证平台,并提供数据对象的操作接口,以对动态内容进行缓存。
优选地,认证平台向用户下发电子券,同时,向12580商城平台返回电子券下发结果,由负载平衡器地将电子券的下发的动态信息重新分布在与缓存的内容相关联的操作接口上。
优选地,用户持电子券前往商户消费,商户向认证平台发起验证电子券请求,认证平台向商户返回验证结果,同时,向返回验证结果至12580商城平台。
优选地,认证平台向12580商城平台返回验证结果,更新消费状态,由负载平衡器动态地将消费状态的更新重新分布在与缓存的内容相关联的操作接口上。验证成功,则商户向用户提供服务。
优选地,所述将数据对象进行归并和分类包括:采用队列模式将数据对象进行分布。
优选地,所述基于配置的定义管理数据对象包括:设定各个数据对象对应存储的memcached,根据数据对象的主键值将所述数据对象分发到对应的memcached。
优选地,所述将数据对象分发到对应的memcached为采用Hash算法。
优选地,12580商城平台通过memcached建立分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。
在具体的实施例中,memcached的服务器客户端通信使用简单的基于文本行的协议。因此,通过telnet也能在memcached上保存数据、取得数据,例如:
$telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.localdomain(127.0.0.1).
Escape character is.
set foo 003(发起下发电子券请求)
bar(下发电子券)
STORED(电子券下发结果)
get foo(验证电子券请求)
VALUE foo 03(验证结果)
bar(提供商品/服务)
本发明的有益效果为:
第一,实现高内聚与低耦合,系统总体架构按照获取业务应用的数据对象的操作请求进行分层设计,包括客户层、服务层与存储层,层与层之间完全解耦,通过统一方式进行调用,对于内容管理等具有扩展性需要的业务逻辑,提供基于配置的快速定义开发方式,支持大多数的数据对象内容发布要求,减少二次开发需求,在语义层实施解耦。
第二,提高用户的访问速度,采用分布式缓存,对用户动态有关的动态内容采用memcached进行存储,通过在内存中缓存数据和对象减少读取数据库的次数,从而提供动态、数据库驱动网站的速度,另外,负载平衡器动态地将负载重新分布在与单个缓存相关联的操作接口上,减轻了数据库的负担。
第三,具备数据的无限扩展,初始的用户和访问量只需要一台服务器就可以承受,预留的扩展程序接口,可以方便地扩展数据库服务器,让系统支撑更多的数据。克服了现有技术为了扩展数据库服务器,大都采用第三方开 发的程序来实现所造成的技术缺陷,有效地缓解了大量数据存储和高效率的访问。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述申请构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。

实现高内聚与低耦合的多级缓存方法及其系统.pdf_第1页
第1页 / 共13页
实现高内聚与低耦合的多级缓存方法及其系统.pdf_第2页
第2页 / 共13页
实现高内聚与低耦合的多级缓存方法及其系统.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《实现高内聚与低耦合的多级缓存方法及其系统.pdf》由会员分享,可在线阅读,更多相关《实现高内聚与低耦合的多级缓存方法及其系统.pdf(13页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 104243581 A (43)申请公布日 2014.12.24 CN 104243581 A (21)申请号 201410468275.8 (22)申请日 2014.09.15 H04L 29/08(2006.01) (71)申请人 成都北纬航信网络科技有限责任公 司 地址 610000 四川省成都市高新区天府四街 66 号 2 栋 14 层 2 号 (72)发明人 王君涛 韩生余 (74)专利代理机构 北京爱普纳杰专利代理事务 所 ( 特殊普通合伙 ) 11419 代理人 何自刚 (54) 发明名称 实现高内聚与低耦合的多级缓存方法及其系 统 (57) 摘要 本申。

2、请公开了一种实现高内聚与低耦合的多 级缓存方法及其系统, 该方法为获取业务应用的 数据对象的操作请求提供分层安排, 包括 : 发送 数据对象的操作请求 ; 根据所述操作请求, 按照 业务功能采用队列模式将所述数据对象进行归并 和分类, 并采用面向数据对象的开发方式进行逐 层封装 ; 基于配置的定义管理所述数据对象, 并 提供数据对象的操作接口, 以对动态内容进行缓 存。 本发明实现高内聚与低耦合, 系统总体架构按 照获取业务应用的数据对象的操作请求进行分层 设计, 通过统一方式进行调用, 对于内容管理等具 有扩展性需要的业务逻辑, 提供基于配置的快速 定义开发方式, 支持大多数的数据对象内容发。

3、布 要求, 减少二次开发需求, 在语义层实施解耦。 (51)Int.Cl. 权利要求书 1 页 说明书 8 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书8页 附图3页 (10)申请公布号 CN 104243581 A CN 104243581 A 1/1 页 2 1. 一种实现高内聚与低耦合的多级缓存方法, 其特征在于, 为获取业务应用的数据对 象的操作请求提供分层安排, 包括 : 发送数据对象的操作请求 ; 根据所述操作请求, 按照业务功能采用队列模式将所述数据对象进行归并和分类, 并 采用面向数据对象的开发方式进行逐层封装 ; 基于配。

4、置的定义管理所述数据对象, 并提供数据对象的操作接口, 以对动态内容进行 缓存。 2. 根据权利要求 1 所述实现高内聚与低耦合的多级缓存方法, 其特征在于, 所述基于 配置的定义管理数据对象包括 : 设定各个数据对象对应存储的 memcached, 根据数据对象 的主键值将所述数据对象分发到对应的 memcached。 3. 根据权利要求 2 所述实现高内聚与低耦合的多级缓存方法, 其特征在于, 所述将数 据对象分发到对应的 memcached 为采用 Hash 算法。 4. 根据权利要求 3 所述实现高内聚与低耦合的多级缓存方法, 其特征在于, 所述对动 态内容进行缓存包括 : 由负载平衡。

5、器动态地将负载重新分布在与缓存的内容相关联的操作 接口上。 5. 一种实现高内聚与低耦合的多级缓存系统, 其特征在于, 整体架构按照获取业务应 用的数据对象的操作请求进行分层设计, 包括 : 客户层, 用于发送数据对象的操作请求 ; 服务层, 用于根据所述操作请求, 按照业务功能采用队列模式将所述数据对象进行归 并和分类, 并采用面向数据对象的开发方式进行逐层封装 ; 存储层, 用于基于配置的定义管理所述数据对象, 并提供数据对象的操作接口, 以对动 态内容进行缓存。 6. 根据权利要求 5 所述实现高内聚与低耦合的多级缓存系统, 其特征在于, 所述存储 层包括 : 采用队列模式分布的 mem。

6、cached。 7. 根据权利要求 6 所述实现高内聚与低耦合的多级缓存系统, 其特征在于, 所述存储 层还包括扩展程序操作接口, 用于扩展数据库服务器。 8. 根据权利要求 7 所述实现高内聚与低耦合的多级缓存系统, 其特征在于, 所述存储 层还包括负载平衡器, 用于动态地将负载重新分布在与单个缓存相关联的操作接口上。 权 利 要 求 书 CN 104243581 A 2 1/8 页 3 实现高内聚与低耦合的多级缓存方法及其系统 技术领域 0001 本发明属于通信技术领域, 涉及一种实现高内聚与低耦合的多级缓存方法及其系 统。 背景技术 0002 随着互联网技术的普及, 大型电子商城应运而生。

7、, 其给人们的生活带来了诸多的 便利, 人们开始习惯在大型电子商城上进行各种各样的应用以满足生活需求, 典型的应用 如电子购物, 流程一般包括 : 浏览商品, 商品加入购物车, 查询购物车商品, 查询订单状态, 导出订单等, 随之而来对响应速度提出了更高的要求。 0003 目前, 以大型电子商城 12580 为例, 作为中国移动为用户提供的综合信息服务平 台, 在国内, 可随时拨打 12580 进行餐饮、 娱乐、 旅游、 天气、 交通、 便民等各类信息的查询, 以及酒店、 机票的查询、 预订, 查询结果将以语音及短信、 彩信等方式告知用户。12580 在商 户和消费者之间, 构建了一个基于 “。

8、用户细分需求匹配、 广告直接促进销售” 的双边市场, 致 力于为客户提供 “专家级” 资讯服务。 0004 公布号为CN103166997A的专利文献公开了一种memcache分布式缓存方法, 包括 : 首先, 缓存获取, 采用客户端通过请求名字结点服务器返回唯一键对应的缓存节点服务器 的一个或多个 ip 地址。接着, 客户端从某个数据源获取数据, 客户端通过请求名字结点服 务器, 令名字结点服务器范围唯一键所对应的缓存结点服务器的一个或多个 ip 地址。之 后, 客户端获取第一个 ip, 将缓存写入对应的缓存结点服务器。现有技术的显著缺点是 : 不 能适应未来各种应用系统对大型电子商城提供统。

9、一平台服务的需求, 以及提供针对各种已 有数据源的接口支持。 发明内容 0005 本发明的目的在于克服上述不足, 提供一种实现高内聚与低耦合的多级缓存方 法, 其能够加快数据对象操作请求的响应速度, 满足未来各种应用系统对大型电子商城提 供统一平台服务的需求。 0006 为了实现上述目的, 本发明采用的技术方案为 : 0007 一种实现高内聚与低耦合的多级缓存方法, 其特征在于, 为获取业务应用的数据 对象的操作请求提供分层安排, 包括 : 0008 发送数据对象的操作请求 ; 0009 根据所述操作请求, 按照业务功能采用队列模式将所述数据对象进行归并和分 类, 并采用面向数据对象的开发方式。

10、进行逐层封装 ; 0010 基于配置的定义管理所述数据对象, 并提供数据对象的操作接口, 以对动态内容 进行缓存。 0011 优选地, 其中, 所述基于配置的定义管理数据对象包括 : 设定各个数据对象对应存 储的 memcached, 根据数据对象的主键值将所述数据对象分发到对应的 memcached。 说 明 书 CN 104243581 A 3 2/8 页 4 0012 优选地, 其中, 所述将数据对象分发到对应的 memcached 为采用 Hash 算法。 0013 优选地, 其中, 所述对动态内容进行缓存包括 : 由负载平衡器动态地将负载重新分 布在与缓存的内容相关联的操作接口上。 。

11、0014 为了实现上述目的, 本发明采用的技术方案为 : 0015 一种实现高内聚与低耦合的多级缓存系统, 其特征在于, 整体架构按照获取业务 应用的数据对象的操作请求进行分层设计, 包括 : 0016 客户层, 用于发送数据对象的操作请求 ; 0017 服务层, 用于根据所述操作请求, 按照业务功能采用队列模式将所述数据对象进 行归并和分类, 并采用面向数据对象的开发方式进行逐层封装 ; 0018 存储层, 用于基于配置的定义管理所述数据对象, 并提供数据对象的操作接口, 以 对动态内容进行缓存。 0019 优选地, 其中, 所述存储层包括 : 采用队列模式分布的 memcached。 00。

12、20 优选地, 其中, 所述存储层还包括扩展程序操作接口, 用于扩展数据库服务器。 0021 优选地, 其中, 所述存储层还包括负载平衡器, 用于动态地将负载重新分布在与单 个缓存相关联的操作接口上。 0022 本发明的有益效果为 : 0023 第一, 实现高内聚与低耦合, 系统总体架构按照获取业务应用的数据对象的操作 请求进行分层设计, 包括客户层、 服务层与存储层, 层与层之间完全解耦, 通过统一方式进 行调用, 对于内容管理等具有扩展性需要的业务逻辑, 提供基于配置的快速定义开发方式, 支持大多数的数据对象内容发布要求, 减少二次开发需求, 在语义层实施解耦。 0024 第二, 提高用户。

13、的访问速度, 采用分布式缓存, 对用户动态有关的动态内容采用 memcached 进行存储, 通过在内存中缓存数据和对象减少读取数据库的次数, 从而提供动 态、 数据库驱动网站的速度, 另外, 负载平衡器动态地将负载重新分布在与单个缓存相关联 的操作接口上, 减轻了数据库的负担。 0025 第三, 具备数据的无限扩展, 初始的用户和访问量只需要一台服务器就可以承受, 预留的扩展程序接口, 可以方便地扩展数据库服务器, 让系统支撑更多的数据。 克服了现有 技术为了扩展数据库服务器, 大都采用第三方开发的程序来实现所造成的技术缺陷, 有效 地缓解了大量数据存储和高效率的访问。 附图说明 0026 。

14、此处所说明的附图用来提供对本申请的进一步理解, 构成本申请的一部分, 本申 请的示意性实施例及其说明用于解释本申请, 并不构成对本申请的不当限定。在附图中 : 0027 图 1 是本发明的实现高内聚与低耦合的多级缓存方法的流程示意图 ; 0028 图 2 是图 1 所示方法的实施例交互时序示意图 ; 0029 图 3 是本发明的实现高内聚与低耦合的多级缓存系统的结构示意图。 具体实施方式 0030 如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员 应可理解, 硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以 说 明 书 CN 104243581 A 4 。

15、3/8 页 5 名称的差异来作为区分组件的方式, 而是以组件在功能上的差异来作为区分的准则。如在 通篇说明书及权利要求当中所提及的 “包含” 为一开放式用语, 故应解释成 “包含但不限定 于” 。 “大致” 是指在可接收的误差范围内, 本领域技术人员能够在一定误差范围内解决所述 技术问题, 基本达到所述技术效果。 说明书后续描述为实施本申请的较佳实施方式, 然所述 描述乃以说明本申请的一般原则为目的, 并非用以限定本申请的范围。本申请的保护范围 当视所附权利要求所界定者为准。 0031 实施例 1 0032 请参照图 1, 本发明的实现高内聚与低耦合的多级缓存方法, 为获取业务应用的数 据对象。

16、的操作请求提供分层安排, 包括 : S100, 发送数据对象的操作请求 ; S200, 根据所述 操作请求, 按照业务功能采用队列模式将所述数据对象进行归并和分类, 并采用面向数据 对象的开发方式进行逐层封装 ; S300, 基于配置的定义管理所述数据对象, 并提供数据对象 的操作接口, 以对动态内容进行缓存。 0033 优选地, 所述将数据对象进行归并和分类包括 : 采用队列模式将数据对象进行分 布。 0034 优选地, 所述基于配置的定义管理数据对象包括 : 设定各个数据对象对应存储的 memcached, 根据数据对象的主键值将所述数据对象分发到对应的 memcached。 0035 优。

17、选地, 所述将数据对象分发到对应的 memcached 为采用 Hash 算法。 0036 优选地, 所述对动态内容进行缓存包括 : 由负载平衡器动态地将负载重新分布在 与缓存的内容相关联的操作接口上。 0037 本实施例将本发明的方法应用在 12580 大型电子商城, 12580 是中国移动为用户 提供的综合信息服务平台, 在国内, 可随时拨打 12580 进行餐饮、 娱乐、 旅游、 天气、 交通、 便 民等各类信息的查询, 以及酒店、 机票的查询、 预订, 查询结果将以语音及短信、 彩信等方式 告知用户。 0038 以 12580 提供的商旅服务为例, 其服务主要包括 : 机票预订, 可以。

18、查询国内机票的 正常票价、 折扣票价、 出发城市、 到达城市、 航空公司、 航班号、 起止机场、 起飞时间、 到达时 间、 全程时间、 机型、 舱位、 燃油费、 备注、 签改退政策 ; 并能轻松享受机票的预订、 出票、 送 票、 退票、 改签等系列服务。酒店预订, 可以查询酒店名称、 简介、 类别、 地址、 价格、 房 ( 床 ) 型、 前台电话、 有无宽带、 周边景点、 会议功能、 商业配套情况、 会所、 面积、 停车、 餐厅情况、 装修配置情况、 交通情况、 相近路口、 火车站机场到酒店的距离等各类信息 ; 并能轻松享受 酒店的预订、 预订变更、 预订取消、 预订信息查询等系列服务。 00。

19、39 请参照图 2, 优选地, 用户登录 12580 商城, 发送数据对象的操作请求 ; 12580 商城 平台根据用户的登录操作请求, 验证用户身份, 并返回验证结果。 0040 优选地, 12580 商城平台按照业务功能采用队列模式将所述数据对象进行归并和 分类, 例如机票预订, 包括国内机票的正常票价、 折扣票价、 出发城市、 到达城市、 航空公司、 航班号、 起止机场、 起飞时间、 到达时间、 全程时间、 机型、 舱位、 燃油费、 备注、 签改退政策, 并采用面向数据对象的开发方式进行逐层封装。 0041 优选地, 基于配置的定义管理所述数据对象, 用户订购商品, 作为具体的实施例, 。

20、用户订购机票, 提交订单, 12580 商城平台处理机票订单, 成功提交支付请求至支付平台, 并 提供数据对象的操作接口, 以对动态内容进行缓存。 说 明 书 CN 104243581 A 5 4/8 页 6 0042 优选地, 支付平台向用户发起支付, 用户确认支付, 支付平台处理支付, 向用户返 回支付结果。 0043 优选地, 12580 商城平台更新支付状态, 并将订单信息通知到商户, 由负载平衡器 动态地将支付状态的更新重新分布在与缓存的内容相关联的操作接口上。 0044 优选地, 12580 商城平台发起下发电子券请求至认证平台, 认证平台向用户下发电 子券, 并返回电子券下发结果。

21、至 12580 商城平台。 0045 优选地, 用户持电子券前往商户消费, 商户发起验证电子券请求于认证平台, 认证 平台向商户返回验证结果。 0046 优选地, 认证平台向 12580 商城平台返回验证结果, 更新消费状态, 由负载平衡器 动态地将消费状态的更新重新分布在与缓存的内容相关联的操作接口上。验证成功, 则商 户向用户提供机票预订服务。 0047 优选地, 所述将数据对象进行归并和分类包括 : 采用队列模式将数据对象进行分 布。 0048 优选地, 所述基于配置的定义管理数据对象包括 : 设定各个数据对象对应存储的 memcached, 根据数据对象的主键值将所述数据对象分发到对应。

22、的 memcached。 0049 优选地, 所述将数据对象分发到对应的 memcached 为采用 Hash 算法。memcached 基于一个存储键/值对的hashmap, 其守护进程(daemon)是用C写的, 但是客户端可以用任 何语言来编写, 并通过 memcached 协议与守护进程通信。 0050 优选地, 12580 商城平台通过 memcached 建立分布式内存对象缓存系统, 用于动态 Web应用以减轻数据库负载。 它通过在内存中缓存数据和对象来减少读取数据库的次数, 从 而提高动态、 数据库驱动网站的速度。 0051 在具体的实施例中, memcached 是高性能的分布。

23、式内存缓存服务器, 和 Squid 的前 端缓存加速不同, 它是通过基于内存缓存对象来减少数据库查询的方式改善网站系统的反 应, 而其中最吸引人的一个特性就是支持分布式部署, 也就是说可以在一群机器上建立一 堆 memcached 服务, 每个服务可以根据具体服务器的硬件配置使用不同大小的内存块。 0052 优选地, memcached 的服务器客户端通信使用简单的基于文本行的协议。因此, 通 过 telnet 也能在 memcached 上保存数据、 取得数据, 例如 : 0053 $telnet localhost 11211 0054 Trying 127.0.0.1. 0055 Con。

24、nected to localhost.localdomain(127.0.0.1). 0056 Escape character is. 0057 set foo 003( 发起支付 ) 0058 bar( 订单信息 ) 0059 STORED( 确认支付 ) 0060 get foo( 返回支付结果 ) 0061 VALUE foo 03( 订单信息 ) 0062 bar( 订单信息 ) 0063 优选地, 为了提高性能, memcached 中保存的数据都存储在 memcached 内置的内存 存储空间中。另外, 内容容量达到指定值之后, 就基于 LRU(Least Recently U。

25、sed) 算法自 说 明 书 CN 104243581 A 6 5/8 页 7 动删除不使用的缓存。 0064 优选地, 使用 memcached-Server 端, 在服务端运行 : 0065 #./memcached-d-m 2048-l 10.0.0.40-p 11211 0066 将会启动一个占用 2G 内存的进程, 并打开 11211 端口用于接收请求。由于 32 位 系统只能处理 4G 内存的寻址, 所以在大于 4G 内存使用 PAE 的 32 位服务器上可以运行 2-3 个进程, 并在不同端口进行监听。 0067 优选地, 使用 memcached-Client 端, 在应用端包。

26、含一个用于描述 Client 的 Class 后, 就可以直接使用, 例如 : 0068 $options“servers“ array(“192.168.1.41:11211“,“192.168.1.42:11212“ ) ; 0069 $options“debug“ false ; 0070 $memc new MemCachedClient($options) ; 0071 $myarr array(“one“,“two“,3) ; 0072 $memc-set(“key_one“,$myarr) ; 0073 $val $memc-get(“key_one“) ; 0074 print。

27、$val0.“n“ ; /printsone 0075 print$val1.“n“ ; /printstwo 0076 print$val2.“n“ ; /prints 3 0077 本发明的实现高内聚与低耦合的多级缓存方法应用在 12580 大型电子商城, 能够 提升 : 浏览商城的速度, 商品加入购物车的速度, 查询订单状态的速度, 以及商户导出订单 的速度。 0078 实施例 2 0079 请参照图 3, 本实施例的实现高内聚与低耦合的多级缓存系统, 整体架构按照获取 业务应用的数据对象的操作请求进行分层设计, 包括 : 客户层, 用于发送数据对象的操作请 求 ; 服务层, 用于根据所。

28、述操作请求, 按照业务功能采用队列模式将所述数据对象进行归并 和分类, 并采用面向数据对象的开发方式进行逐层封装 ; 存储层, 用于基于配置的定义管理 所述数据对象, 并提供数据对象的操作接口, 以对动态内容进行缓存。 0080 优选地, 所述存储层包括 : 采用队列模式分布的 memcached。 0081 优选地, 所述基于配置的定义管理数据对象包括 : 设定各个数据对象对应存储的 memcached, 根据数据对象的主键值将所述数据对象分发到对应的 memcached。 0082 优选地, 所述存储层还包括扩展程序接口, 用于扩展数据库服务器。 0083 优选地, 所述存储层还包括负载平。

29、衡器, 用于动态地将负载重新分布在与单个缓 存相关联的操作接口上。 0084 本实施例的分布式缓存是将用户访问或下载的内容对象在采用队列模式分布的 memcached 中缓存一个副本, 当内容对象再次被用户访问或下载的时候, 不必连接到内容对 象对应的源服务器, 而直接由缓存了内容对象副本的缓存设备提供, 从而加速内容对象的 访问和下载, 并降低对缓存设备的上一级网络带宽占用。 0085 单台服务器内存有限, 内存中的数据容易丢失, 此时数据库的压力会很大, 短时间 内无法迅速恢复缓存, 此时, 需要多台服务器组成分布式以解决单台机的内存限制, 数据冗 说 明 书 CN 104243581 A。

30、 7 6/8 页 8 余和性能扩展问题。 分布式缓存通过Hash算法将数据切合到缓存集群中不同的memcached 上, 有效地缓解了大量数据存储和高效率的访问。 0086 本实施例应用在 12580 大型电子商城的酒店查询服务, 包括 : 查询酒店名称、 简 介、 类别、 地址、 价格、 房(床)型、 前台电话、 有无宽带、 周边景点、 会议功能、 商业配套情况、 会所、 面积、 停车、 餐厅情况、 装修配置情况、 交通情况、 相近路口、 火车站机场到酒店的距离 等各类信息。 0087 优选地, 用户登录 12580 商城, 发送数据对象的操作请求 ; 12580 商城平台根据用 户的登录操。

31、作请求, 验证用户身份, 并返回验证结果。 0088 优选地, 12580 商城平台按照业务功能采用队列模式将所述数据对象进行归并和 分类, 例如酒店名称、 简介、 类别、 地址、 价格、 房(床)型、 前台电话、 有无宽带、 周边景点、 会 议功能、 商业配套情况、 会所、 面积、 停车、 餐厅情况、 装修配置情况、 交通情况、 相近路口、 火 车站机场到酒店的距离。 0089 优选地, 基于配置的定义管理所述数据对象, 作为具体的实施例, 用户进行酒店查 询, 提交查询请求, 12580 商城平台处理查询请求, 成功提交查询请求, 并提供数据对象的操 作接口, 以对动态内容进行缓存。 00。

32、90 优选地, 服务器向用户发起酒店信息查询数据, 用户进行浏览, 同时, 12580 商城平 台更新酒店信息查询数据, 并将更新的信息通知到用户以进行浏览, 由负载平衡器动态地 将支付状态的更新重新分布在与缓存的内容相关联的操作接口上。 0091 优选地, 用户认可了商户的酒店, 则向 12580 商城平台发起预定请求, 以下步骤与 实施例 2 相同 : 用户在支付平台上进行酒店预订, 通过认证平台向用户下发电子券, 并返回 电子券下发结果至 12580 商城平台。 0092 优选地, 用户持电子券前往商户消费, 商户发起验证电子券请求于认证平台, 认证 平台向商户返回验证结果。 0093 。

33、优选地, 认证平台向 12580 商城平台返回验证结果, 更新消费状态, 由负载平衡器 动态地将消费状态的更新重新分布在与缓存的内容相关联的操作接口上。验证成功, 则商 户向用户提供酒店查询服务。 0094 优选地, 所述将数据对象进行归并和分类包括 : 采用队列模式将数据对象进行分 布。 0095 优选地, 所述基于配置的定义管理数据对象包括 : 设定各个数据对象对应存储的 memcached, 根据数据对象的主键值将所述数据对象分发到对应的 memcached。 0096 优选地, 所述将数据对象分发到对应的 memcached 为采用 Hash 算法。 0097 优选地, 12580 商。

34、城平台通过 memcached 建立分布式内存对象缓存系统, 用于动态 Web应用以减轻数据库负载。 它通过在内存中缓存数据和对象来减少读取数据库的次数, 从 而提高动态、 数据库驱动网站的速度。 0098 在具体的实施例中, memcached 的服务器客户端通信使用简单的基于文本行的协 议。因此, 通过 telnet 也能在 memcached 上保存数据、 取得数据, 例如 : 0099 $telnet localhost 11211 0100 Trying 127.0.0.1. 0101 Connected to localhost.localdomain(127.0.0.1). 说 。

35、明 书 CN 104243581 A 8 7/8 页 9 0102 Escape character is. 0103 set foo 003( 发起查询请求 ) 0104 bar( 酒店信息 ) 0105 STORED( 确认商户酒店 ) 0106 get foo( 返回查询结果 ) 0107 VALUE foo 03( 酒店信息 ) 0108 bar( 酒店信息 ) 0109 实施例 3 0110 本实施例应用在 12580 大型电子商城的电子优惠券服务, 当用户搜索生活服务 时, 坐席将 12580 电子优惠券以短信和彩信的形式发送至客户手机终端。客户凭 12580 电 子优惠券到签约合。

36、作商户消费, 可以享受指定优惠的价格。12580 电子优惠券覆盖餐饮、 休 闲、 购物、 美容美发、 健身等行业。 0111 优选地, 用户登录 12580 商城, 发送数据对象的操作请求 ; 12580 商城平台根据用 户的登录操作请求, 验证用户身份, 并返回验证结果。 0112 优选地, 12580 商城平台按照业务功能采用队列模式将所述数据对象进行归并和 分类, 例如餐饮、 休闲、 购物、 美容美发、 健身等各行业的电子券。 0113 优选地, 基于配置的定义管理所述数据对象, 作为具体的实施例, 12580 商城平台 发起下发电子券请求至认证平台, 并提供数据对象的操作接口, 以对动。

37、态内容进行缓存。 0114 优选地, 认证平台向用户下发电子券, 同时, 向 12580 商城平台返回电子券下发结 果, 由负载平衡器地将电子券的下发的动态信息重新分布在与缓存的内容相关联的操作接 口上。 0115 优选地, 用户持电子券前往商户消费, 商户向认证平台发起验证电子券请求, 认证 平台向商户返回验证结果, 同时, 向返回验证结果至 12580 商城平台。 0116 优选地, 认证平台向 12580 商城平台返回验证结果, 更新消费状态, 由负载平衡器 动态地将消费状态的更新重新分布在与缓存的内容相关联的操作接口上。验证成功, 则商 户向用户提供服务。 0117 优选地, 所述将数。

38、据对象进行归并和分类包括 : 采用队列模式将数据对象进行分 布。 0118 优选地, 所述基于配置的定义管理数据对象包括 : 设定各个数据对象对应存储的 memcached, 根据数据对象的主键值将所述数据对象分发到对应的 memcached。 0119 优选地, 所述将数据对象分发到对应的 memcached 为采用 Hash 算法。 0120 优选地, 12580 商城平台通过 memcached 建立分布式内存对象缓存系统, 用于动态 Web应用以减轻数据库负载。 它通过在内存中缓存数据和对象来减少读取数据库的次数, 从 而提高动态、 数据库驱动网站的速度。 0121 在具体的实施例中,。

39、 memcached 的服务器客户端通信使用简单的基于文本行的协 议。因此, 通过 telnet 也能在 memcached 上保存数据、 取得数据, 例如 : 0122 $telnet localhost 11211 0123 Trying 127.0.0.1. 0124 Connected to localhost.localdomain(127.0.0.1). 说 明 书 CN 104243581 A 9 8/8 页 10 0125 Escape character is. 0126 set foo 003( 发起下发电子券请求 ) 0127 bar( 下发电子券 ) 0128 STOR。

40、ED( 电子券下发结果 ) 0129 get foo( 验证电子券请求 ) 0130 VALUE foo 03( 验证结果 ) 0131 bar( 提供商品 / 服务 ) 0132 本发明的有益效果为 : 0133 第一, 实现高内聚与低耦合, 系统总体架构按照获取业务应用的数据对象的操作 请求进行分层设计, 包括客户层、 服务层与存储层, 层与层之间完全解耦, 通过统一方式进 行调用, 对于内容管理等具有扩展性需要的业务逻辑, 提供基于配置的快速定义开发方式, 支持大多数的数据对象内容发布要求, 减少二次开发需求, 在语义层实施解耦。 0134 第二, 提高用户的访问速度, 采用分布式缓存,。

41、 对用户动态有关的动态内容采用 memcached 进行存储, 通过在内存中缓存数据和对象减少读取数据库的次数, 从而提供动 态、 数据库驱动网站的速度, 另外, 负载平衡器动态地将负载重新分布在与单个缓存相关联 的操作接口上, 减轻了数据库的负担。 0135 第三, 具备数据的无限扩展, 初始的用户和访问量只需要一台服务器就可以承受, 预留的扩展程序接口, 可以方便地扩展数据库服务器, 让系统支撑更多的数据。 克服了现有 技术为了扩展数据库服务器, 大都采用第三方开发的程序来实现所造成的技术缺陷, 有效 地缓解了大量数据存储和高效率的访问。 0136 上述说明示出并描述了本申请的若干优选实施。

42、例, 但如前所述, 应当理解本申请 并非局限于本文所披露的形式, 不应看作是对其他实施例的排除, 而可用于各种其他组合、 修改和环境, 并能够在本文所述申请构想范围内, 通过上述教导或相关领域的技术或知识 进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围, 则都应在本申 请所附权利要求的保护范围内。 说 明 书 CN 104243581 A 10 1/3 页 11 图 1 说 明 书 附 图 CN 104243581 A 11 2/3 页 12 图 2 说 明 书 附 图 CN 104243581 A 12 3/3 页 13 图 3 说 明 书 附 图 CN 104243581 A 13 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1