业务的处理方法及装置制造方法及图纸

技术编号:11639249 阅读:64 留言:0更新日期:2015-06-24 14:51
本发明专利技术提供一种业务的处理方法及装置。本发明专利技术实施例通过所创建的至少两个进程,能够协同完成应用的业务消息处理和应用所占用的内存的释放处理,由于在任意时刻,所述至少两个进程中始终存在至少一个进程的进程状态为服务状态,使得应用不再会存在不进行任何业务处理的时刻,因此,能够避免现有技术中由于采用单一进程的GC机制对内存进行释放处理时应用不再进行任何业务处理而导致的应用的运行暂停的问题,从而提高了应用的吞吐量。

【技术实现步骤摘要】
【专利说明】
本专利技术涉及通信技术,尤其涉及一种业务的处理方法及装置。【
技术介绍
】在利用编程语言例如,Java语言、Go语言等开发应用的过程中,可以采用垃圾收集(Garbage Collect1n,GC)机制,来控制内存的释放,这样,极大地减轻了开发人员手动控制内存的释放的负担。然而,由于采用GC机制对内存进行释放处理时应用不再进行任何业务处理,因此,可能会造成应用的运行暂停,即应用的响应延迟,例如,几十毫秒甚至数秒等,从而导致了应用的吞吐量的降低。【
技术实现思路
】本专利技术的多个方面提供一种业务的处理方法及装置,用以提高应用的吞吐量。本专利技术的一方面,提供一种业务的处理方法,包括:创建至少两个进程;获取所述至少两个进程中每个进程的至少两个进程状态,所述每个进程的至少两个进程状态包括服务状态和GC状态;获取所述至少两个进程状态中每个进程状态的停留时间,其中,在任意时刻,所述至少两个进程中至少一个进程的进程状态为所述服务状态;根据所述每个进程的所述每个进程状态,在该进程状态的停留时间内,关闭该进程的GC机制,或者开启该进程的GC机制,以使得利用该进程,基于开启的GC机制,进行内存释放处理。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述每个进程的所述每个进程状态,在该进程状态的停留时间内,关闭该进程的GC机制或开启该进程的GC机制,包括:若进程的进程状态为所述服务状态,关闭该进程的GC机制;或者若进程的进程状态为所述GC状态,开启该进程的GC机制。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述关闭该进程的GC机制,之前同时或之后,还包括:利用该进程,对所属应用的业务消息进行处理。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述开启该进程的GC机制,之前同时或之后,还包括:利用该进程,对该进程所占用的内存,进行释放处理。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述每个进程的至少两个进程状态还包括等待状态。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述每个进程的所述每个进程状态,在该进程状态的停留时间内,关闭该进程的GC机制,或者开启该进程的GC机制,以使得利用该进程,基于开启的GC机制,进行内存释放处理,还包括:若进程的进程状态为所述等待状态,利用该进程,利用已经建立的通信连接,对所属应用的业务消息进行处理。本专利技术的另一方面,提供一种业务的处理装置,包括:创建单元,用于创建至少两个进程;状态单元,用于获取所述至少两个进程中每个进程的至少两个进程状态,所述每个进程的至少两个进程状态包括服务状态和GC状态;所述状态单元,还用于获取所述至少两个进程状态中每个进程状态的停留时间,其中,在任意时刻,所述至少两个进程中至少一个进程的进程状态为所述服务状态;执行单元,用于根据所述每个进程的所述每个进程状态,在该进程状态的停留时间内,关闭该进程的GC机制,或者开启该进程的GC机制,以使得利用该进程,基于开启的GC机制,进行内存释放处理。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述执行单元,具体用于若进程的进程状态为所述服务状态,关闭该进程的GC机制;或者若进程的进程状态为所述GC状态,开启该进程的GC机制。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述执行单元,还用于在关闭该进程的GC机制,之前同时或之后,利用该进程,对所属应用的业务消息进行处理。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述执行单元,还用于在开启该进程的GC机制,之前同时或之后,利用该进程,对该进程所占用的内存,进行释放处理。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述每个进程的至少两个进程状态还包括等待状态。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述执行单元,还用于若进程的进程状态为所述等待状态,利用该进程,利用已经建立的通信连接,对所属应用的业务消息进行处理。由上述技术方案可知,本专利技术实施例通过所创建的至少两个进程,能够协同完成应用的业务消息处理和应用所占用的内存的释放处理,由于在任意时刻,所述至少两个进程中始终存在至少一个进程的进程状态为服务状态,使得应用不再会存在不进行任何业务处理的时刻,因此,能够避免现有技术中由于采用单一进程的GC机制对内存进行释放处理时应用不再进行任何业务处理而导致的应用的运行暂停的问题,从而提高了应用的吞吐量。另外,采用本专利技术提供的技术方案,通过预先配置每个进程开始工作的时间,以及每个进程状态的停留时间,使得在特定时间范围之内,例如,某个进程的进程状态由服务状态切换到其他状态的时刻之前的一段时间范围之内,所创建的至少两个进程中至少还存在另一个进程的进程状态为服务状态,因此,能够避免由于其中一个进程的进程状态由服务状态切换到其他状态而导致的业务消息处理失败的问题,从而提高了应用的业务处理的可靠性。【【附图说明】】为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术一实施例提供的业务的处理方法的流程示意图;图2为本专利技术另一实施例提供的业务的处理装置的结构示意图;图3为服务状态和GC状态这两个进程状态的停留时间示意图;图4为服务状态、等待状态和GC状态这三个进程状态的停留时间示意图。【【具体实施方式】】为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本专利技术保护的范围。需要说明的是,本专利技术实施例中所涉及的终端可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、个人电脑(Personal Computer, PC)、MP3播放器、MP4播放器、可穿戴设备(例如,智能眼镜、智能手表、智能手环等)等。另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。图1为本专利技术一实施例提供的业务的处理方法的流程示意图,如图1所示。101、创建至少两个进程。可选地,在本实施例的一个可能的实现方式中,在101中,具体可以通过创建多个进程,共享同一个端口。在创建所述至少两个进程中每个进程的过程中,具体可以根据配置文件,配置每个进程开始工作的时间,以及每个进程的进程状态信息。其中,所述进程状态信息,可以包括但不限于进程状态及其停留时间。在所述至少两个进程的创建完成之后,每个进程都进入一个准备状态。所谓的准备状态,是指进程停留在本文档来自技高网...

【技术保护点】
一种业务的处理方法,其特征在于,包括:创建至少两个进程;获取所述至少两个进程中每个进程的至少两个进程状态,所述每个进程的至少两个进程状态包括服务状态和GC状态;获取所述至少两个进程状态中每个进程状态的停留时间,其中,在任意时刻,所述至少两个进程中至少一个进程的进程状态为所述服务状态;根据所述每个进程的所述每个进程状态,在该进程状态的停留时间内,关闭该进程的GC机制,或者开启该进程的GC机制,以使得利用该进程,基于开启的GC机制,进行内存释放处理。

【技术特征摘要】

【专利技术属性】
技术研发人员:陶春华魏为章淼
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京;11

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

1