一种网络服务控制方法及装置制造方法及图纸

技术编号:14701764 阅读:69 留言:0更新日期:2017-02-24 20:13
本发明专利技术实施例公开了一种网络服务控制方法及装置,其中方法的实现包括:向业务线程发送第一业务请求,接收所述业务线程执行所述第一业务请求的业务逻辑返回的数据请求;将所述数据请求转发给I/O线程,保存所述业务逻辑的运行状态;将所述I/O线程返回的业务数据转发给所述业务线程,使所述业务线程从所述运行状态继续执行所述业务逻辑。通过增加网络服务控制的方式,使业务线程和I/O线程都可以保持同步架构时的技术优势,不必使业务线程必须等待I/O线程返回业务数据,从而不会挂死以及因此导致的服务器性能低下。能够兼具同步模型和异步模型优势的网络服务控制方法,在保证服务器稳定运行的前提下,减少故障率,降低维护难度。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种网络服务控制方法及装置
技术介绍
网络服务是指在网络上运行的、面向服务的、基于分布式程序的软件模块。网络服务的框架用于实现网络服务。目前业界存在一些网络服务框架,主要分为两类:一类是同步模型,一类是基于回调的异步模型。其中,在同步模型中网络服务器架构的执行流程如下:1、业务线程在处理业务逻辑过程中有业务数据需求,向网络I/O(输入/输出,Input/Output)模块发送业务线程阻塞请求,用于请求上述业务数据;2、业务线程等待网络I/O模块返回的业务数据,并接收网络I/O模块返回的业务数据;3、直到业务数据返回结束后继续处理业务逻辑。但是以上同步模型需要阻塞业务线程会降低服务器的性能,甚至导致服务器挂死,造成不服务器不稳定。为了解决以上问题,提出了上述基于回调的异步模型的执行流程如下:1、业务线程在处理业务逻辑过程中有业务数据需求,向I/O线程发送数据请求,用于请求上述业务数据;此时,不阻塞业务线程;2、业务线程立刻返回并处理其他业务请求;3、处理其他业务请求的业务逻辑;4、I/O线程在收到数据请求后,会从网络I/O模块获取上述业务数据;当I/O线程的业务数据准备好后,回调通知业务线程;5、业务线程接收上述业务数据,并继续处理需要上述业务数据的业务逻辑。但是,以上异步模型的技术门槛较高,编程比较复杂。从实际测试过程中发现,数据请求的状态难以维护经常出故障,在业务逻辑复杂的情况下,I/O线程会有过多的回调代码导致难以维护。
技术实现思路
本专利技术实施例提供了一种网络服务控制方法及装置,用于提供能够兼具同步模型和异步模型优势的网络服务控制方法,在保证服务器稳定运行的前提下,减少故障率,降低维护难度。一种网络服务控制方法,包括:向业务线程发送第一业务请求,接收所述业务线程执行所述第一业务请求的业务逻辑返回的数据请求;将所述数据请求转发给I/O线程,保存所述业务逻辑的运行状态;将所述I/O线程返回的业务数据转发给所述业务线程,使所述业务线程从所述运行状态继续执行所述业务逻辑。一种网络服务控制装置,包括:第一发送单元,用于向业务线程发送第一业务请求;接收单元,用于接收所述业务线程执行所述第一业务请求的业务逻辑返回的数据请求;第二发送单元,用于将所述数据请求转发给I/O线程;保存单元,用于保存所述业务逻辑的运行状态;所述第一发送单元,还用于将所述I/O线程返回的业务数据转发给所述业务线程,使所述业务线程从所述运行状态继续执行所述业务逻辑。从以上技术方案可以看出,本专利技术实施例具有以下优点:通过增加网络服务控制的方式,使业务线程和I/O线程都可以保持同步架构时的技术优势,而且业务逻辑的运行状态保存了起来,不必使业务线程必须等待I/O线程返回业务数据,从而不会挂死以及因此导致的服务器性能低下。因此本专利技术实施例提供了能够兼具同步模型和异步模型优势的网络服务控制方法,在保证服务器稳定运行的前提下,减少故障率,降低维护难度。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例方法流程示意图;图2为本专利技术实施例网络服务控制架构示意图;图3为本专利技术实施例方法流程示意图;图4为本专利技术实施例装置结构示意图;图5为本专利技术实施例装置结构示意图;图6为本专利技术实施例装置结构示意图;图7为本专利技术实施例服务器结构示意图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述,显然,所描述的实施例仅仅是本专利技术一部份实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。本专利技术实施例提供了一种网络服务控制方法,如图1所示,包括:101:向业务线程发送第一业务请求,接收上述业务线程执行上述第一业务请求的业务逻辑返回的数据请求;业务线程是执行业务逻辑实现业务功能的线程,线程有时也被称为轻量级进程(LightweightProcess,LWP),是程序执行流的最小单元。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。就绪状态是指线程具备运行的所有条件,逻辑上可以运行,在等待处理机;运行状态是指线程占有处理机正在运行;阻塞状态是指线程在等待一个事件(如某个信号量),逻辑上不可执行。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。业务数据是业务线程在执行业务逻辑的过程中所需要的调用的数据资源,通常可以由网络I/O模块一侧提供。在本实施例中采用的架构通过I/O线程从网络I/O模块获取,请参阅图2所示的网络服务控制架构,包括:业务线程、网络服务控制模块、I/O线程,以及网络I/O模块。本实施例控制实现在网络服务控制模块。在本专利技术实施例中出现的“第一”和“第二”用于区分同类的两个不同的技术术语,“第一业务请求”和“第二业务请求”表示两个不同的业务请求,请求业务线程执行不同的业务逻辑从而实现不同的业务功能,“第一”和“第二”不应理解为具有其他的技术含义。102:将上述数据请求转发给I/O线程,保存上述业务逻辑的运行状态;在上述数据请求中会包含业务线程执行上述业务逻辑的过程中所需要业务数据的指示性信息,例如:需要调用的业务资源的标识、地址或者其他信息。该部分属于数据调用/获取的部分,本领域技术人员可以采用其所熟知的方式实现,并不影响本专利技术实施例的实现,因此本专利技术实施例对此不作唯一性限定。本实施例需要保存业务逻辑的运行状态,在技术方案的后续实现过程中需要以业务逻辑当前执行的进度为基础继续执行,属于业务逻辑执行的控制部分,该部分依继续执行的控制方式不同会可能会导致需要保存的信息有所不同,本专利技术实施例对于保存何种具体的数据参数不作唯一性限定。103:将上述I/O线程返回的业务数据转发给上述业务线程,使上述业务线程从上述运行状态继续执行上述业务逻辑。在本实施例中,不仅会向业务线程返回其所请求的业务数据,还会控制业务线程从之前返回数据请求时业务逻辑所处的进度继续执行。本专利技术实施例,通过增加网络服务控制的方式,使业务线程和I/O线程都可以保持同步架构时的技术优势,而且业务逻辑的运行状态保存了起来,不必使业务线程必须等待I/O线程返回业务数据,从而不会挂死以及因此导致的服务器性能低下。因此本专利技术实施例提供了能够兼具同步模型和异步模型优势的网络服务控制方法,在保证服务器稳定运行的前提下,减少故障率,降低维护难度。在本专利技术实施例中,第一业务请求的业务逻辑执行过程中可能存在业务数据需求,此时由网络服务控制的执行主体保存了第一业务请求的业务逻辑的运行状态,在此之后本文档来自技高网...
一种网络服务控制方法及装置

【技术保护点】
一种网络服务控制方法,其特征在于,包括:向业务线程发送第一业务请求,接收所述业务线程执行所述第一业务请求的业务逻辑返回的数据请求;将所述数据请求转发给I/O线程,保存所述业务逻辑的运行状态;将所述I/O线程返回的业务数据转发给所述业务线程,使所述业务线程从所述运行状态继续执行所述业务逻辑。

【技术特征摘要】
1.一种网络服务控制方法,其特征在于,包括:向业务线程发送第一业务请求,接收所述业务线程执行所述第一业务请求的业务逻辑返回的数据请求;将所述数据请求转发给I/O线程,保存所述业务逻辑的运行状态;将所述I/O线程返回的业务数据转发给所述业务线程,使所述业务线程从所述运行状态继续执行所述业务逻辑。2.根据权利要求1所述方法,其特征在于,在接收到所述业务线程执行所述第一业务请求的业务逻辑返回的数据请求之后,所述方法还包括:向所述业务线程发送第二业务请求。3.根据权利要求1所述方法,其特征在于,所述向业务线程发送第一业务请求包括:有限状态机向业务线程发送第一业务请求。4.根据权利要求3所述方法,其特征在于,所述有限状态机包括:协程。5.根据权利要求1至4任意一项所述方法,其特征在于,所述将所述数据请求转发给I/O线程之前,所述方法还包括:通过回调接收所述I/O线程返回的业务数据。6.根据权利要求1至4任意一项所述方法,其特征在于,所述将所述I/O线程返回的业务数据转发给所述业务线程,使所述业务线程从所述运行状态继续执行所述业务逻辑包括:将所述I/O线程返回的业务数据以及保存的所述业务逻辑的运行状态发送给所述业务线程,指示所述业务线程从所述运行状态继续执行所述业务逻辑。7.一种网络服务控制装置,...

【专利技术属性】
技术研发人员:何勇张智泉衡阵王志坤
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1