CN106681819B - 一种线程的处理方法及装置 - Google Patents
一种线程的处理方法及装置 Download PDFInfo
- Publication number
- CN106681819B CN106681819B CN201611250008.9A CN201611250008A CN106681819B CN 106681819 B CN106681819 B CN 106681819B CN 201611250008 A CN201611250008 A CN 201611250008A CN 106681819 B CN106681819 B CN 106681819B
- Authority
- CN
- China
- Prior art keywords
- thread
- written
- processing
- value
- numerical value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种线程的处理方法及装置,所述方法包括:当处理待查询线程时,判断当前是否存在待写入线程;当存在所述待写入线程时,停止处理所述待查询线程,处理所述待写入线程。应用本发明实施例优先处理待写入线程,解决了日志存储存在延时,系统对存储的日志进行数据分析时,数据分析结果误差大的问题。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种线程的处理方法及装置。
背景技术
随着互联网数据通信技术的高速发展,用户利用互联网进行交付的应用越来越多,通常需要将网络中生成的日志进行存储,以便于管理人员基于存储的日志对网络环境进行维护。
现有技术中,日志服务器对日志的待写入线程及待查询线程进行并行处理,当对待查询线程进行处理时,占用系统资源大,导致日志的待写入线程无法及时得到处理,日志存储存在延时,系统对存储的日志进行数据分析时,数据分析结果误差大。
发明内容
有鉴于此,本发明提供一种线程的处理方法及装置,优先处理待写入线程,以解决日志存储存在延时,系统对存储的日志进行数据分析时,数据分析结果误差大的问题。
为实现上述目的,本发明提供技术方案如下:
根据本发明的第一方面,提出了一种线程的处理方法,所述方法包括:
当处理待查询线程时,判断当前是否存在待写入线程;
当存在所述待写入线程时,停止处理所述待查询线程,处理所述待写入线程。
根据本发明的第二方面,提出了一种线程的处理装置,包括:
线程存在判断模块,用于当处理待查询线程时,判断当前是否存在待写入线程;
线程处理模块,用于当存在所述待写入线程时,停止处理所述待查询线程,处理所述待写入线程。
由以上技术方案可见,当日志服务器处理待查询线程时,判断当前是否存在待写入线程,当存在待写入线程时,日志服务器停止处理待查询线程,优先处理待写入线程,解决了日志存储存在延时,系统对存储的日志进行数据分析时,数据分析结果误差大的问题。
附图说明
图1是本发明提供的一个线程的处理方法的实施例流程图;
图2是本发明提供的另一个线程的处理方法的实施例流程图;
图3是本发明提供的再一个线程的处理方法的实施例流程图;
图4是本发明提供的一种日志服务器的硬件结构图;
图5是本发明提供的一个线程的处理的装置的实施例框图;
图6是本发明提供的另一个线程的处理的装置的实施例框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本发明实施例可以应用在日志服务器上,日志服务器为具有日志存储及日志查询功能的服务器,本领域技术人员可以理解的是,本发明实施例应用在日志服务器上仅为示例性说明,其并不能形成对本发明的限制。通常,当日志服务器处理的线程为待查询线程时,日志服务器判断当前进程中是否存在待写入线程,当进程中存在待写入线程时,日志服务器停止处理待查询线程,日志服务器继续处理待写入线程。通过本发明实施例,日志服务器优先处理待写入线程,解决了日志存储存在延时,系统对存储的日志进行数据分析时,数据分析结果误差大的问题。
为对本发明进行进一步说明,提供下列实施例:
图1是本发明提供的一个线程的处理方法的实施例流程图,如图1所示,包括如下步骤:
步骤101:当处理待查询线程时,判断当前是否存在待写入线程。
步骤102:当存在待写入线程时,停止处理待查询线程,处理待写入线程。
在步骤101中,在一实施例中,待查询线程为需要执行日志查询任务的线程;待写入线程为执行写入日志任务的线程。日志服务器的进程中可能同时包含至少一个待查询线程及至少一个待写入线程,当日志服务器处理一个待查询线程时,日志服务器判断当前进程中是否存在待写入线程,具体的,日志服务器如何确定进程中是否存在待写入线程的具体描述可参考下述图2所示步骤,在此先不作详述。
在步骤102中,在一实施例中,当进程中存在待写入线程时,日志服务器停止处理待查询线程,优先处理待写入线程。在另一实施例中,当进程中不存在待写入线程时,日志服务器继续处理待查询线程。
本发明实施例中,当日志服务器处理待查询线程时,判断当前是否存在待写入线程,当存在待写入线程时,日志服务器停止处理待查询线程,优先处理待写入线程,解决了日志存储存在延时,系统对存储的日志进行数据分析时,数据分析结果误差大的问题。
图2是本发明提供的另一个线程的处理方法的实施例流程图,本发明实施例结合图1、图2,在步骤101-步骤102的基础上,对日志服务器如何确定进程中是否存在待写入线程的,进行示例性说明,如图2所示,包括如下步骤:
步骤201:判断计数值是否为预设的第一数值,计数值用于记录当前处理中的待写入线程的数量。当计数值不为预设的第一数值时,执行步骤202;当计数值为预设的第一数值时,执行步骤203。
步骤202:确定当前存在待写入线程。
步骤203:确定当前不存在待写入线程。
在步骤201中,日志服务器判断计数值是否为预设的第一数值,计数值用于记录当前处理中的待写入线程的数量,具体的,计数值可以为全局变量或者信号量,第一数值例如为“0”。当计数值不为第一数值“0”时,执行步骤202;当计数值为第一数值“0”时,执行步骤203。
在步骤202中,日志服务器确定当前存在待写入线程。
在步骤203中,日志服务器确定当前不存在待写入线程。
本发明实施例中,日志服务器判断计数值是否为预设的第一数值,当计数值不为预设的第一数值时,日志服务器确定当前存在待写入线程;当计数值为预设的第一数值时,日志服务器确定当前不存在待写入线程,通过计数值,可以使当前处理中的待写入线程的数量的表示方式更直观,便于管理人员查看,掌握进程中待写入线程的数量。
图3是本发明提供的再一个线程的处理方法的实施例流程图,本发明实施例结合图1、图2、图3,在步骤201-步骤203的基础上,进行示例性说明,如图3所示,包括如下步骤:
步骤301:当执行处理待写入线程的步骤时,以预设步长累加计数值,得到第二数值。
步骤302:当待写入线程处理完成时,基于预设步长将第二数值变更为第三数值。
步骤303:判断第三数值与第一数值是否相同。
步骤304:当第三数值与第一数值相同时,通过待写入线程向待查询线程发送进程间通信,进程间通信用于通知待查询线程解除停止处理的状态。
在步骤301中,当执行处理待写入线程的步骤时,日志服务器以预设步长累加计数值,得到第二数值。具体的,以预设步长为“1”、计数值当前为“2”进行示例性说明:日志服务器以预设步长“1”累加计数值“2”,得到第二数值“3”,第二数值“3”表示当前进程中有3个正在处理的待写入线程。
在步骤302中,当待写入线程处理完成时,日志服务器基于预设步长与第二数值进行减运算,得到第三数值。结合步骤301,日志服务器基于预设步长“1”与第二数值“3”进行减运算,得到第三数值“2”,第三数值“2”表示当前进程中剩余2个正在处理的待写入线程。
在步骤303中,日志服务器判断第三数值与第一数值是否相同。
在步骤304中,以第三数值为“0”、第一数值为“0”进行示例性说明:当第三数值“0”与第一数值“0”相同时,表示当前进程中没有正在处理的待写入线程,日志服务器通过待写入线程向待查询线程发送进程间通信,进程间通信用于通知待查询线程解除停止处理的状态。本领域技术人员可以理解的是,此处日志服务器通过待写入线程向待查询线程发送进程间通信的相关描述可参见现有技术,此处不做详述。
本发明实施例中,当日志服务器处理待写入线程时,日志服务器以预设步长累加计数值,得到第二数值;当待写入线程处理完成时,日志服务器基于预设步长将第二数值变更为第三数值,当第三数值与第一数值相同时,日志服务器解除待查询线程的停止处理的状态,使得日志服务器可以继续对待查询线程进行处理。
对应于上述线程的处理方法,本发明还提出了图4所示的日志服务器的硬件结构图。请参考图4,在硬件层面,该日志服务器包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成线程的处理装置。当然,除了软件实现方式之外,本发明并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
图5是本发明提供的一个线程的处理的装置的实施例框图,如图5所示,该线程的处理装置可以包括:线程存在判断模块51、线程处理模块52,其中:
线程存在判断模块51,用于当处理待查询线程时,判断当前是否存在待写入线程;
线程处理模块52,用于当存在待写入线程时,停止处理待查询线程,处理待写入线程。
图6是本发明提供的另一个线程的处理的装置的实施例框图,如图6所示,在上述图5所示实施例的基础上,线程存在判断模块包括:
数值判断子模块511,用于判断计数值是否为预设的第一数值,计数值用于记录当前处理中的待写入线程的数量;
第一线程确定子模块512,用于当计数值不为预设的第一数值时,确定当前存在待写入线程;
第二线程确定子模块513,用于当计数值为预设的第一数值时,确定当前不存在待写入线程。
在一实施例中,线程的处理装置还包括:
线程累加模块53,用于当执行处理待写入线程的步骤时,以预设步长累加计数值,得到第二数值;
数值变更模块54,用于当待写入线程处理完成时,基于预设步长将第二数值变更为第三数值。
在一实施例中,线程的处理装置还包括:
数值判断模块55,用于判断第三数值与第一数值是否相同;
解除停止状态模块56,用于当第三数值与第一数值相同时,通过待写入线程向待查询线程发送进程间通信,进程间通信用于通知待查询线程解除停止处理的状态。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,本发明实施例中,当日志服务器处理待查询线程时,判断当前是否存在待写入线程,当存在待写入线程时,日志服务器停止处理待查询线程,优先处理待写入线程,解决了日志存储存在延时,系统对存储的日志进行数据分析时,数据分析结果误差大的问题。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种线程的处理方法,其特征在于,应用于日志服务器,用于对日志的待写入线程及待查询线程进行处理,所述方法包括:
当处理待查询线程时,判断当前是否存在待写入线程;
当存在所述待写入线程时,停止处理所述待查询线程,处理所述待写入线程,当不存在待写入线程时,继续处理待查询线程。
2.根据权利要求1所述的方法,其特征在于,所述判断当前是否存在待写入线程,包括:
判断计数值是否为预设的第一数值,所述计数值用于记录当前处理中的待写入线程的数量;
当所述计数值不为预设的第一数值时,确定当前存在所述待写入线程;
当所述计数值为预设的第一数值时,确定当前不存在所述待写入线程。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当执行所述处理所述待写入线程的步骤时,以预设步长累加所述计数值,得到第二数值;
当所述待写入线程处理完成时,基于所述预设步长将所述第二数值变更为第三数值。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
判断所述第三数值与所述第一数值是否相同;
当所述第三数值与所述第一数值相同时,通过所述待写入线程向所述待查询线程发送进程间通信,所述进程间通信用于通知所述待查询线程解除所述停止处理的状态。
5.一种线程的处理的装置,其特征在于,应用于日志服务器,用于对日志的待写入线程及待查询线程进行处理,所述装置包括:
线程存在判断模块,用于当处理待查询线程时,判断当前是否存在待写入线程;
线程处理模块,用于当存在所述待写入线程时,停止处理所述待查询线程,处理所述待写入线程,当不存在待写入线程时,继续处理待查询线程。
6.根据权利要求5所述的装置,其特征在于,所述线程存在判断模块,包括:
数值判断子模块,用于判断计数值是否为预设的第一数值,所述计数值用于记录当前处理中的待写入线程的数量;
第一线程确定子模块,用于当所述计数值不为预设的第一数值时,确定当前存在所述待写入线程;
第二线程确定子模块,用于当所述计数值为预设的第一数值时,确定当前不存在所述待写入线程。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
线程累加模块,用于当执行所述处理所述待写入线程的步骤时,以预设步长累加所述计数值,得到第二数值;
数值变更模块,用于当所述待写入线程处理完成时,基于所述预设步长将所述第二数值变更为第三数值。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
数值判断模块,用于判断所述第三数值与所述第一数值是否相同;
解除停止状态模块,用于当所述第三数值与所述第一数值相同时,通过所述待写入线程向所述待查询线程发送进程间通信,所述进程间通信用于通知所述待查询线程解除所述停止处理的状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611250008.9A CN106681819B (zh) | 2016-12-29 | 2016-12-29 | 一种线程的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611250008.9A CN106681819B (zh) | 2016-12-29 | 2016-12-29 | 一种线程的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106681819A CN106681819A (zh) | 2017-05-17 |
CN106681819B true CN106681819B (zh) | 2020-11-06 |
Family
ID=58872564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611250008.9A Active CN106681819B (zh) | 2016-12-29 | 2016-12-29 | 一种线程的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106681819B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101261592A (zh) * | 2007-03-07 | 2008-09-10 | 国际商业机器公司 | 用于对任务请求进行调度的方法和设备 |
CN102110167A (zh) * | 2011-03-01 | 2011-06-29 | 上海奈凯电子科技有限公司 | 数控系统中实现日志信息管理的方法 |
CN103309858A (zh) * | 2012-03-06 | 2013-09-18 | 深圳市腾讯计算机系统有限公司 | 一种多线程日志管理的方法及装置 |
CN103677971A (zh) * | 2012-09-21 | 2014-03-26 | 上海斐讯数据通信技术有限公司 | 多线程处理系统及方法 |
CN105117284A (zh) * | 2015-09-09 | 2015-12-02 | 厦门雅迅网络股份有限公司 | 一种基于优先级比例队列的工作线程的调度方法 |
CN105339897A (zh) * | 2013-05-31 | 2016-02-17 | 微软技术许可有限责任公司 | 高效的优先级感知线程调度 |
CN105843559A (zh) * | 2016-03-28 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种磁盘缓存系统的读写优化方法及系统 |
-
2016
- 2016-12-29 CN CN201611250008.9A patent/CN106681819B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101261592A (zh) * | 2007-03-07 | 2008-09-10 | 国际商业机器公司 | 用于对任务请求进行调度的方法和设备 |
CN102110167A (zh) * | 2011-03-01 | 2011-06-29 | 上海奈凯电子科技有限公司 | 数控系统中实现日志信息管理的方法 |
CN103309858A (zh) * | 2012-03-06 | 2013-09-18 | 深圳市腾讯计算机系统有限公司 | 一种多线程日志管理的方法及装置 |
CN103677971A (zh) * | 2012-09-21 | 2014-03-26 | 上海斐讯数据通信技术有限公司 | 多线程处理系统及方法 |
CN105339897A (zh) * | 2013-05-31 | 2016-02-17 | 微软技术许可有限责任公司 | 高效的优先级感知线程调度 |
CN105117284A (zh) * | 2015-09-09 | 2015-12-02 | 厦门雅迅网络股份有限公司 | 一种基于优先级比例队列的工作线程的调度方法 |
CN105843559A (zh) * | 2016-03-28 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种磁盘缓存系统的读写优化方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106681819A (zh) | 2017-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107145489B (zh) | 一种基于云平台的客户端应用的信息统计方法和装置 | |
CN106406987B (zh) | 一种集群中的任务执行方法及装置 | |
EP3129880B1 (en) | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system | |
CN107783734B (zh) | 一种基于超融合存储系统的资源分配方法、装置及终端 | |
CN110232010A (zh) | 一种告警方法、告警服务器及监控服务器 | |
US20170206462A1 (en) | Method and apparatus for detecting abnormal contention on a computer system | |
CN106713396B (zh) | 服务器调度方法和系统 | |
CN104503887A (zh) | 计算设备状态展示方法及装置 | |
CN111090502B (zh) | 一种流数据任务调度方法和装置 | |
CN111324427B (zh) | 一种基于dsp的任务调度方法及装置 | |
WO2017031837A1 (zh) | 磁盘容量的预测方法、装置及设备 | |
US10002075B1 (en) | Managing memory resources in a network environment in order to handle querying of logical data structures | |
CN104410671A (zh) | 一种快照抓取方法和数据监控工具 | |
CN106020984B (zh) | 电子设备中进程的创建方法及装置 | |
US20130167124A1 (en) | Detection of custom parameters in a request url | |
CN108022028B (zh) | 一种资源处理方法及装置 | |
US20170097831A1 (en) | Classifying application protocol interfaces (apis) as affecting user experience | |
CN109586989A (zh) | 一种状态检查方法、装置及集群系统 | |
CN109634524A (zh) | 一种数据处理守护进程的数据分区配置方法、装置及设备 | |
CN106681819B (zh) | 一种线程的处理方法及装置 | |
US9251028B2 (en) | Managing code instrumentation in a production computer program | |
CN106571935B (zh) | 一种资源调度的方法与设备 | |
CN105574008A (zh) | 应用于分布式文件系统的任务调度方法和设备 | |
CN110928941A (zh) | 一种数据分片抽取方法及装置 | |
US9430338B2 (en) | Method and computing device for recording log entries |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |