本发明专利技术实施例公开了一种服务的调用方法,服务器包括业务接口层和功能接口层,所述业务接口层采用单线程异步的工作机制,所述功能接口层采用多线程异步的工作机制,所述方法包括:所述服务器通过所述业务接口层接收业务请求;所述服务器识别所述业务请求的类型;如果所述业务请求为服务请求,向所述功能接口层发送功能调用请求,所述功能调用请求用于在所述功能接口层中调用所述业务请求对应的至少一个原子操作;在所述至少一个原子操作全部调用成功之后,向所述业务接口层返回调用结果。本发明专利技术实施例还公开了一种服务器。采用本发明专利技术,提供后台的服务器的处理消息,易于维护。
【技术实现步骤摘要】
本专利技术涉及互联网领域,尤其涉及一种服务的调用方法和服务器。
技术介绍
在配置后台的服务器的网络框架时,开发者会根据业务的类型确定一个网络框架,网络框架分为多线程或单线程,例如,在应对多客户机的网络应用中,开发者会在服务器使用多线程的网络框架。多线程的目的是让每个连接都拥有独立的线程,防止一个连接的阻塞而影响其他的连接。在配置服务器的网络框架时具体使用多线程还是单线程,开发者会根据服务器运行的业务灵活的选择其中的一种。目前这种单一的网络框架的服务器在无法在处理用户的业务请求时,无法根据业务特点来区分运行,导致服务器的处理效率低下。同时,服务器的程序结构单一,功能不清晰,难以维护。
技术实现思路
本专利技术实施例所要解决的技术问题在于,提供一种服务的调用方法和服务器。可解决现有技术中服务器的处理效率低和难以维护的问题。为了解决上述技术问题,本专利技术实施例提供了一种服务的调用方法,服务器包括业务接口层和功能接口层,所述业务接口层采用单线程异步的工作机制,所述功能接口层采用多线程异步的工作机制,所述方法包括:所述服务器通过所述业务接口层接收业务请求;所述服务器识别所述业务请求的类型;如果所述业务请求为服务请求,向所述功能接口层发送功能调用请求,所述功能调用请求用于在所述功能接口层中调用所述业务请求对应的至少一个原子操作;在所述至少一个原子操作全部调用成功之后,向所述业务接口层返回调用
结果。相应地,本专利技术实施例还提供了一种服务器,包括:接收模块、识别模块、调用模块和返回模块,其中,所述接收模块、所述识别模块和所述调用模块位于业务接口层中,所述返回模块位于功能接口层中,所述业务接口层采用单线程异步的工作机制,所述功能接口层采用多线程异步的工作机制;所述接收模块,用于通过所述业务接口层接收业务请求;所述识别模块,用于识别所述业务请求的类型;所述调用模块,用于如果所述业务请求为服务请求,向所述功能接口层发送功能调用请求,所述功能调用请求用于在所述功能接口层中调用所述业务请求对应的至少一个原子操作;所述返回模块,用于在所述至少一个原子操作全部调用成功之后,向所述业务接口层返回调用结果。实施本专利技术实施例,具有如下有益效果:通过业务接口层接收业务请求,如果业务请求的类型为服务请求,向功能接口层调用业务请求对应的至少一个原子操作,接收功能接口层返回的调用接口。这样通过对服务器的层次的划分和工作机制的配置,使服务器的系统结构清晰,不同类型的业务请求交给对应的层去处理,优化了服务器的处理效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种服务的调用方法的流程示意图;图2是本专利技术实施例提供的一种服务的调用方法的另一流程示意图;图3是本专利技术实施例提供的一种服务器的一种网络框架的结构示意图;图4是本专利技术实施例提供的一种服务器的结构示意图;图5是本专利技术实施例提供的一种服务器的另一结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本专利技术实施例中,服务器用于响应前端的业务请求,服务器划分为3个层次,业务接口层(Service)、功能接口层(Server)和任务作业层(Mon),其中业务接口层采用单线程异步的工作机制,功能接口层采用多线程异步的工作机制,任务作业层采用多线程同步的工作机制。业务接口层用于向外部提供事务性的接口,用户可以通过事务性的接口调用功能接口层中的原子操作,功能接口层中包含多个原子操作,原子操作为服务器中功能单一的操作,一般为慢速操作,任务作业层用于响应用户触发的作业任务,作业任务为一个非实时性的任务,处理过程需要耗费很长的时间。通过对服务器的层次的划分和工作机制的配置,用作后台的服务器的系统结构清晰,特定的业务请求交给对应的层去处理,优化了服务器的处理效率。参见图1,为本专利技术实施例提供的一种服务的调用方法的流程示意图,在本专利技术实施例中,所述方法包括:S101、服务器通过业务接口层接收业务请求。具体的,用户通过前端系统向服务器的业务接口层发送业务请求,服务器通过业务接口层接收业务请求。业务接口层采用单线程异步的工作方式处理业务请求,即业务接口层采用单线程工作机制,即业务接口层每次只能处理一个业务请求,业务接口层每接收到一个业务请求就发往功能接口层,业务接口层同时又采用异步的工作机制,即业务接口层向功能接口层发送完功能调用请求后,又可以重新处理另一个业务请求,并不会等到功能接口层返回调用结果后才开始处理另一业务请求。其中,另一个业务请求可能来自同一用户的业务请求或不同用户的业务请求。S102、所述服务器识别所述业务请求的类型。具体的,业务请求中可携带表示其类型的类型字段,服务器接收到业务请求后提取类型字段,根据类型字段识别业务请求的类型,其中业务请求的类型根据执行时间的长短分为服务请求和作业任务,服务请求的执行时间通常比较
段,作业任务的执行时间通常比较长。例如,获取用户状态的业务请求为服务请求,转账操作的请求为作业任务,一个业务请求具体属于服务请求还是作业任务可以预先根据执行时间的长短来确定。S103、如果所述业务请求为服务请求,向所述功能接口层发送功能调用请求,所述功能调用请求用于在所述功能接口层中调用所述服务请求对应的至少一个原子操作。具体的,根据S102识别的业务请求的类型,如果业务请求为服务请求,服务器的业务接口层查询业务请求对应的至少一个原子操作,向功能接口层发送携带对应的至少一个原子操作的函数名的功能调用请求,功能接口层接收功能调用请求,执行功能调用请求中的至少一个原子操作。功能接口层采用多线程异步的工作机制处理接收到的功能调用请求,具体的处理过程为:功能接口层包含多个原子操作,每个原子操作的功能是单一为解耦的,业务接口层采用的单线程异步的工作机制,这样会导致业务接口层会不断的向功能接口层发送功能调用请求,以调用功能接口层的原子操作,不同的功能调用请求调用的原子操作可能会相同,这样功能接口层采用多线程的工作机制才能处理同时调用多个相同的原子操作的要求。功能接口层中的原子操作为慢速的操作,执行过程耗时非常长,为了减少服务器的CPU资源的消耗,功能接口层在执行原子操作的过程中利用自身的硬件能力来执行,并不消耗服务器的CPU资源,只是在开始执行和结束原子操作的时候通知CPU该原子操作的执行状态,因此功能接口层采用的是异步的工作机制。其中,功能接口层可以采用Leader/Follow的工作机制来处理业务接口层的功能调用请求。S104、在所述至少一个原子操作全部调用成功之后,向所述业务接口层返回调用结果。具体的,业务请求是事务性的,在业务请求对应的至少一个原子操作全部调用成功后,功能接口层向业务接口层返回调用结果,由业本文档来自技高网...
【技术保护点】
一种服务的调用方法,其特征在于,服务器包括业务接口层和功能接口层,所述业务接口层采用单线程异步的工作机制,所述功能接口层采用多线程异步的工作机制,所述方法包括:所述服务器通过所述业务接口层接收业务请求;所述服务器识别所述业务请求的类型;如果所述业务请求为服务请求,向所述功能接口层发送功能调用请求,所述功能调用请求用于在所述功能接口层中调用所述业务请求对应的至少一个原子操作;在所述至少一个原子操作全部调用成功之后,向所述业务接口层返回调用结果。
【技术特征摘要】
1.一种服务的调用方法,其特征在于,服务器包括业务接口层和功能接口层,所述业务接口层采用单线程异步的工作机制,所述功能接口层采用多线程异步的工作机制,所述方法包括:所述服务器通过所述业务接口层接收业务请求;所述服务器识别所述业务请求的类型;如果所述业务请求为服务请求,向所述功能接口层发送功能调用请求,所述功能调用请求用于在所述功能接口层中调用所述业务请求对应的至少一个原子操作;在所述至少一个原子操作全部调用成功之后,向所述业务接口层返回调用结果。2.如权利要求1所述的方法,其特征在于,所述服务器还包括任务作业层,所述任务作业层采用多线程同步的工作机制;所述方法还包括:如果所述业务请求为作业任务,将所述业务请求写入所述任务作业层的任务表中;当满足所述业务请求的执行条件时,确定所述业务请求对应的至少一个作业阶段,并控制所述任务作业层依次执行所述至少一个作业阶段。3.如权利要求1所述的方法,其特征在于,所述服务器识别所述业务请求的类型包括:获取所述业务请求中携带的类型字段,根据所述类型字段识别所述业务请求的类型。4.如权利要求2所述的方法,其特征在于,所述当满足所述业务请求的执行条件时,确定所述业务请求对应的至少一个作业阶段,并控制所述任务作业层依次执行所述至少一个作业阶段包括:控制所述任务作业层根据预设周期读取所述作业表中的所述业务请求的状态值;如果读取的状态值为预设值,确定所述业务请求对应的至少一个作业阶段,并控制所述任务作业层依次执行所述至少一个作业阶段。5.如权利要求1-4任意一项所述的方法,其特征在于,还包括:如果所述至少一个原子操作中没有全部调用成功,向所述业务接口层返回失败消息。6.如权利要求5任意一项所述的方法,其特征在于,所述功能接口层中的原子操作包括:文件读写操作、数据库操作和支付操作。7.一种服务器,其特征在于,包括:接收模块、识别模块、调用模块和返回模块,其中...
【专利技术属性】
技术研发人员:孙子荀,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。