一种业务处理方法和装置制造方法及图纸

技术编号:14807567 阅读:91 留言:0更新日期:2017-03-15 01:23
本发明专利技术实施例提供了一种业务处理方法和装置,所述的方法包括:当接收到业务请求时,为所述业务请求创建线程缓存;在所述业务请求下,发起针对一服务请求的处理时,将所述服务请求的处理结果存储在所述线程缓存中,以便再次发起所述服务请求的处理时,从所述线程缓存调用所述服务请求的处理结果。本发明专利技术实施例从线程缓存中提取处理结果,就不必再次调用外部的服务系统,大大减少了外部的服务系统的调用次数,减少系统资源开销,并且,处理结果不依赖任何其他存储,也不占用应用的内存空间,是轻量级的线程缓存实现方案,避免合并业务接口,保持了接口的单一职责,保证了系统的扩展性和维护性。

【技术实现步骤摘要】

本申请涉及缓存
,特别是涉及一种业务处理方法和一种业务处理装置。
技术介绍
在诸如SOA(Service-OrientedArchitecture,面向服务的体系结构)架构部署的高可用高并发的集群中,用户的一次页面点击行为可能涉及到多个系统之间服务交互。以用户登录网站的场景举例如下:在一次用户登录网站过程中,登录中心系统接收用户的登录请求后,首先需要确认用户是否是会员,此时在登录中心系统的页面展现层需要查询用户的身份信息以确认该用户是否存在,需要通过业务接口向会员核心系统发起一次远程服务调用查询用户的身份信息。在确认用户是会员的身份后,进入登录业务处理层时,又需要确认该用户某些属性或状态(如会员等级、是否接受过处罚等),此时又需要通过业务接口发起一次相同的服务调用去查询用户的身份信息。这样在一次登录请求中对会员核心系统的同一个服务发起了至少两次相同的调用。在高可用高并发的集群中,每天日均高达4000万次登录请求,就对会员核心系统新增了至少4000万次的服务调用,给会员核心系统带来巨大的资源开销。为了减少系统的资源开销,一般会尽量合并某些业务接口,在同一个业务接口完成所有的业务逻辑,公用所有的、服务调用的结果。但是这样的做法违背了接口定义的单一职责的原则,让原本不应该合并在一起的业务逻辑人为合并在一处,后续的接口可扩展性和维护性都比较差。因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何提出一种业务处理的机制,以保证系统的扩展性和维护性,减少系统资源开销。
技术实现思路
本申请实施例所要解决的技术问题是提供一种业务处理方法,用以保证系统的扩展性和维护性,减少系统资源开销。相应的,本申请实施例还提供了一种业务处理装置,用以保证系统的扩展性和维护性,减少系统资源开销。为了解决上述问题,本申请公开了一种业务处理方法,包括:当接收到业务请求时,为所述业务请求创建线程缓存;在所述业务请求下,发起针对一服务请求的处理时,将所述服务请求的处理结果存储在所述线程缓存中,以便再次发起所述服务请求的处理时,从所述线程缓存调用所述服务请求的处理结果。优选地,所述在所述业务请求下,发起针对一服务请求的处理时,将所述服务请求的处理结果存储在所述线程缓存中,以便再次发起所述服务请求的处理时,从所述线程缓存调用所述服务请求的处理结果的步骤包括:在所述业务请求下,发起针对一服务请求的处理时,判断所述业务线程缓存中是否存储有所述服务请求对应的处理结果;若是,则从所述线程缓存中调用所述处理结果;若否,则调用对应的服务系统对所述服务请求进行处理,获得对应的处理结果,将处理结果存储在所述线程缓存中。优选地,所述线程缓存继承至线程局部变量。优选地,还包括:将所述线程缓存在预置的清理工具中注册。优选地,在所述将所述线程缓存在预置的清理工具中注册的步骤之后,所述的方法还包括:调用所述清洁工具清理已注册的线程缓存。优选地,还包括:当所述业务请求处理完成时,调用所述清洁工具清理已注册的线程缓存。本申请实施例还公开了一种业务处理装置,包括:创建模块,用于在接收到业务请求时,为所述业务请求创建线程缓存;处理模块,用于在所述业务请求下,发起针对一服务请求的处理时,将所述服务请求的处理结果存储在所述线程缓存中,以便再次发起所述服务请求的处理时,从所述线程缓存调用所述服务请求的处理结果。优选地,所述处理模块包括:判断子模块,用于在所述业务请求下,发起针对一服务请求的处理时,判断所述业务线程缓存中是否存储有所述服务请求对应的处理结果;若是,则调用第一调用子模块;若否,则调用第二调用子模块和存储子模块;第一调用子模块,用于从所述线程缓存中调用所述处理结果;第二调用子模块,用于调用对应的服务系统对所述服务请求进行处理,获得对应的处理结果;存储子模块,用于将处理结果存储在所述线程缓存中。优选地,所述线程缓存继承至线程局部变量。优选地,还包括:注册模块,用于将所述线程缓存在预置的清理工具中注册。优选地,还包括:第一清理模块,用于调用所述清洁工具清理已注册的线程缓存。优选地,还包括:第二清理模块,用于在所述业务请求处理完成时,调用所述清洁工具清理已注册的线程缓存。与
技术介绍
相比,本申请实施例包括以下优点:本申请实施例在接收到业务请求时,为该业务请求创建线程缓存,在该业务请求下,发起针对一服务请求的处理时,将该服务请求的处理结果存储在线程缓存中,以便再次发起服务请求的处理时,从线程缓存调用服务请求的处理结果,由于对于一次业务请求,有可能发起多次的服务请求,从线程缓存中提取处理结果,就不必再次调用外部的服务系统,大大减少了外部的服务系统的调用次数,减少系统资源开销,并且,处理结果不依赖任何其他存储,也不占用应用的内存空间,是轻量级的线程缓存实现方案,避免合并业务接口,保持了接口的单一职责,保证了系统的扩展性和维护性。本申请实施例配备一套线程缓存的清理机制,可以调用清洁工具清理单一线程缓存,也可以调用清洁工具清理已注册的线程缓存,提高了清理操作的灵活性和简便性,避免了由于线程变量没有被及时清理而产生的系统内存泄露,从而引发系统宕机的故障,保证了线程缓存的实用性。附图说明图1是本申请的一种业务处理方法实施例的步骤流程图;图2是本申请的另一种业务处理方法实施例的步骤流程图图3是本申请的一种业务处理装置实施例的结构框图;图4是本申请的另一种业务处理装置实施例的结构框图。具体实施方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。参照图1,示出了本申请的一种业务处理方法实施例的步骤流程图,具体可以包括如下步骤:步骤101,当接收到业务请求时,为所述业务请求创建线程缓存;需要说明的是,本申请实施例可以应用于分层体系架构的业务系统中。在业务系统的开发中,为了更加合理高效的完成业务系统的开发,通常使用分层体系结构来设计系统。例如,一个典型的示例为四层体系架构,具体可以包括:表示层,负责向用户提供用户操作接口;业务层,负责处理各个模块之间的业务需求;持久化层,对业务层提供服务,负责将数据对象持久化到数据层;数据层,负责存储业务对象数据。其中,底层可以对高层进行服务,高层对底层进行请本文档来自技高网
...

【技术保护点】
一种业务处理方法,其特征在于,包括:当接收到业务请求时,为所述业务请求创建线程缓存;在所述业务请求下,发起针对一服务请求的处理时,将所述服务请求的处理结果存储在所述线程缓存中,以便再次发起所述服务请求的处理时,从所述线程缓存调用所述服务请求的处理结果。

【技术特征摘要】
1.一种业务处理方法,其特征在于,包括:
当接收到业务请求时,为所述业务请求创建线程缓存;
在所述业务请求下,发起针对一服务请求的处理时,将所述服务请求的
处理结果存储在所述线程缓存中,以便再次发起所述服务请求的处理时,从
所述线程缓存调用所述服务请求的处理结果。
2.根据权利要求1所述的方法,其特征在于,所述在所述业务请求下,
发起针对一服务请求的处理时,将所述服务请求的处理结果存储在所述线程
缓存中,以便再次发起所述服务请求的处理时,从所述线程缓存调用所述服
务请求的处理结果的步骤包括:
在所述业务请求下,发起针对一服务请求的处理时,判断所述业务线程
缓存中是否存储有所述服务请求对应的处理结果;
若是,则从所述线程缓存中调用所述处理结果;
若否,则调用对应的服务系统对所述服务请求进行处理,获得对应的处
理结果,将处理结果存储在所述线程缓存中。
3.根据权利要求1所述的方法,其特征在于,所述线程缓存继承至线
程局部变量。
4.根据权利要求1或2或3所述的方法,其特征在于,还包括:
将所述线程缓存在预置的清理工具中注册。
5.根据权利要求4所述的方法,其特征在于,在所述将所述线程缓存
在预置的清理工具中注册的步骤之后,所述的方法还包括:
调用所述清洁工具清理已注册的线程缓存。
6.根据权利要求4所述的方法,其特征在于,还包括:
当所述业务请求处理完成时,调用所述清洁工具清理已注册的线程缓
存...

【专利技术属性】
技术研发人员:龚磊
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1