CN106407197B - 遍历数据的方法及装置 - Google Patents

遍历数据的方法及装置 Download PDF

Info

Publication number
CN106407197B
CN106407197B CN201510450945.8A CN201510450945A CN106407197B CN 106407197 B CN106407197 B CN 106407197B CN 201510450945 A CN201510450945 A CN 201510450945A CN 106407197 B CN106407197 B CN 106407197B
Authority
CN
China
Prior art keywords
execution
thread
thread pool
threads
traversal
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
Application number
CN201510450945.8A
Other languages
English (en)
Other versions
CN106407197A (zh
Inventor
徐贤军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201510450945.8A priority Critical patent/CN106407197B/zh
Publication of CN106407197A publication Critical patent/CN106407197A/zh
Application granted granted Critical
Publication of CN106407197B publication Critical patent/CN106407197B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出了一种遍历数据的方法,包括:对编码选择器的多个参数进行设置,并将执行编码分配给所述编码选择器,其中,多个参数包括:运行状态、运行时间以及多种遍历格式;对线程池的执行线程数以及执行步长进行设置;以及在线程池中的线程分别向编码选择器申请执行编码,若申请成功,则线程通过处理器执行遍历操作,并对遍历操作次数进行统计;若申请失败,则线程通过处理器执行退出操作。本发明还公开了一种遍历数据的装置。

Description

遍历数据的方法及装置
技术领域
本发明涉及计算机技术领域,特别地涉及一种遍历数据的方法及装置。
背景技术
目前的电子商务领域中,随着互联网及电商的发展,第三方商家商品数量激增,数据量大,操作频繁等特点日益突出,对系统数据处理能力的要求也越来越高,根据政策规定的变化,经常需要对上亿商品数据进行批量操作,例如,对商品进行7天无理由退货打标、清理违规品牌商品等。
现有技术针对上述情况,采用的具体方式为:系统先查询确认数据总量,并根据单次查询的查询数量,计算查询次数,根据查询次数循环查询数据;或者在数据库查询并按某种条件进行排序,截取指定区段,即根据当前查询次数及单次查询记录数将数据返回,再执行相应的业务操作。上述操作方式对系统产生了很大的影响,即一方面,从系统处理大数据的稳定性来说,执行效率低、消耗数据库资源大,在查询越后,查询遍历性能越来越慢,即处理速度缓慢且易导致死机状态,另一个方面,从系统处理大数据的灵活性来说,不能有效的实现在系统压力大的情况下,限制执行速度或暂停,在系统空闲情况下,调整执行速度,控制执行效率,避免影响系统业务正常运行的处理。
发明内容
有鉴于此,本发明提供一种遍历数据的方法及装置,可以遍历上亿的海量数据,通过控制遍历运行速度、数据编码自增特性、线程池内执行线程在运行时可动态增加以及执行步长可在运行时修改,实现了遍历海量数据的可伸缩性与高效性;通过提供暂停及恢复功能,实现了在系统空闲时,通过增加执行线程以及调高执行步长来提高遍历速度;当系统繁忙时,可以通过缩减执行线程以及调低步长来减轻系统压力,也可以进入暂停状态,在系统稳定时,再次恢复执行运行。从而有效的协调了根据线程不同状态调整系统执行线程数,进一步有效地提高了大数据处理效率与可控性。
为实现上述目的,根据本发明的一个方面,提供了一种遍历数据的方法,包括:
对编码选择器的多个参数进行设置,并将执行编码分配给所述编码选择器,其中,多个参数包括:运行状态、运行时间以及多种遍历格式;对线程池的执行线程数以及执行步长进行设置;以及在所述线程池中的线程分别向所述编码选择器申请所述执行编码,若申请成功,则线程通过处理器执行遍历操作,并对遍历操作次数进行统计;若申请失败,则线程通过处理器执行退出操作。
可选地,对线程池的执行线程数以及执行步长进行设置具体包括:通过控制器对所述线程池已设置的所述执行线程数以及所述执行步长进行验证。
可选地,在所述线程池中的线程分别向所述编码选择器申请所述执行编码具体包括:检测在所述线程池中的线程是否接收到退出操作,并退出执行。
可选地,若申请成功,则线程通过处理器进行遍历操作具体包括:若所述线程池内增加执行线程时,处理器对所述线程池新增启动线程,并根据所述执行编码遍历;若所述线程池内缩减执行线程时,处理器从所述线程池中获取第一个执行线程,对所述第一个执行线程发出退出信号,并执行退出操作;以及若所述线程池内无执行线程时,控制器变更为暂停状态,等待增加遍历线程操作。
为实现上述目的,根据本发明的另一个方面,提供了一种遍历数据的装置,包括:
编码选择器设置模块,用于对编码选择器的多个参数进行设置,并将执行编码分配给所述编码选择器,其中,多个参数包括:运行状态、运行时间以及多种遍历格式;线程池设置模块,用于对线程池的执行线程数以及执行步长进行设置;以及遍历模块,用于在所述线程池中的线程分别向所述编码选择器申请所述执行编码,若申请成功,则线程通过处理器进行遍历操作,并对遍历操作次数进行统计;若申请失败,则线程通过处理器进行退出操作。
可选地,所述线程池设置模块具体包括:验证单元,用于通过控制器对所述线程池已设置的所述执行线程数以及所述执行步长进行验证。
可选地,所述遍历模块具体包括:退出检测单元,用于检测在所述线程池中的线程是否接收到退出操作,并退出执行。
可选地,所述遍历模块具体包括:线程执行单元,用于若所述线程池内增加执行线程时,处理器对所述线程池新增启动线程,并根据所述执行编码遍历;线程退出单元,用于若所述线程池内缩减执行线程时,处理器从所述线程池中获取第一个执行线程,对所述第一个执行线程发出退出信号,并执行退出操作;以及暂停等待单元,用于若所述线程池内无执行线程时,控制器变更为暂停状态,等待增加遍历线程操作。
为实现上述目的,根据本发明的再一方面,提供了一种电子设备。
本发明的电子设备包括:一个或多个处理器;以及,存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明的遍历数据的方法。
为实现上述目的,根据本发明的又一方面,提供了一种计算机可读介质。
本发明的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明的遍历数据的方法。
根据本发明的技术方案,本发明提供一种遍历数据的方法,可以遍历上亿的海量数据,通过控制遍历运行速度、数据编码自增特性、线程池内执行线程在运行时可动态增加以及执行步长可在运行时修改,实现了遍历海量数据的可伸缩性与高效性;通过提供暂停及恢复功能,实现了在系统空闲时,通过增加执行线程以及调高执行步长来提高遍历速度;当系统繁忙时,可以通过缩减执行线程以及调低步长来减轻系统压力,也可以进入暂停状态,在系统稳定时,再次恢复执行运行。从而有效的协调了根据线程不同状态调整系统执行线程数,进一步有效地提高了大数据处理效率与可控性。本发明还公开了一种遍历数据的装置。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种遍历数据的方法的步骤流程图;以及
图2是根据本发明实施例的一种遍历数据的装置的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施方式做出说明,其中包括本发明实施方式的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施方式做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
传统中通过数据库分页方式查询遍历只能应用于小数据量情形,其中,经典的数据分页方法为:ADO记录集分页法,也就是利用ADO自带的分页功能,即游标来实现分页,但是这种分页方法仅适用于小数据量的情形,因为游标本身有缺点;因为游标为存放在内存中,很浪费内存。游标一旦建立,就会将相关的记录锁住,直到取消游标为止。游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出的数据条件的不同进行不同的操作,而对于多表和大表中定义的游标,即大的数据集合循环很容易使程序进入一个漫长的等待甚至死机状态。
更重要的是,对于非常大的数据模型而言,通过数据库分页方式查询遍历,如果按照传统的每次都加载整个数据源的方式是非常浪费资源的,进而在POP商品中心系统中采用了本发明提出的一种遍历数据的方法可以应用于大数据量情形,使商品中心更简便处理商品。例如,对商品进行设置标识、商品缓存刷新等操作,全量对商品遍历所耗时由原来100多小时,缩短至5小时,极大减轻数据库压力,同时原本只能遍历200万的商品数据,现可遍历近3亿商品数据量。
如图1所示,本发明实施例的一种遍历数据的方法的步骤流程图。遍历数据的方法,包括以下具体步骤:
步骤S1:对编码选择器的多个参数进行设置,并将执行编码分配给编码选择器,其中,多个参数包括:运行状态、运行时间以及多种遍历格式,且本发明可以将上述参数通过状态显示装置对其进行显示,由此达到了遍历参数及遍历执行状态的实时可监控性。
具体地,编码选择器根据初始化信息,分配执行编码,即每条线程都对应一个商品编码。同时,编码选择器还用于统计分配的商品编码数以及已经执行的商品数,且通过对运行状态、运行时间以及多种遍历格式参数的设置与存储,完成编码选择器记录运行状态、运行时间以及通过多种遍历格式进行遍历方式解析的功能。其中,遍历方式为以下三种:指定商品编号(参数CSV格式:1,2,3);指定区间内商品编号(参数格式:[1-1000000]);所有商品编号(参数格式:*)。
进一步地,编码选择器的多个参数还包括:任务类型,即用于确定编码选择器初始化遍历商品执行任务类型。由此,通过编码选择器多种参数的设置,实现了执行线程的灵活性与可调性。
步骤S2:对线程池的执行线程数以及执行步长进行设置。其中,我们可将线程池看作执行器资源池,即其内存储多个线程。线程池中运行的线程数直接影响着执行任务的运行速度,线程都是直接向编码选择器获取所需执行的执行编码,具体实务操作中可以将执行编码具象理解为商品编码,且线程池中的线程可以通过手动增加或者减少运行线程,由此实现对线程池中的线程可伸缩、可控遍历的目的。
具体地,通过对线程池的执行线程数以及执行步长的设置可以计算出单次取线程数,即单次取任务数且可以动态修改单次取线程数,即实现在一定程度上控制线程执行速度的目的。
进一步地,对线程池的执行线程数以及执行步长进行设置具体包括:通过控制器对线程池已设置的执行线程数以及执行步长进行验证。由此,提高了线程池参数设置的准确性。其中,本发明中的控制器具有以下几个功能,即停止对线程池中的线程进行遍历执行;修改执行线程数;修改单次取线程数;初始化时确认任务具体执行对象;检测线程退出状态,防止任务异常中止;校验线程池参数的正确性以及计算线程池中需要遍历的线程数。由此,提高了线程池通过控制器进行线程遍历的灵活性与可控性。通过控制器对线程池已设置的执行线程数以及执行步长进行验证,控制器主要对线程池中设置的执行线程数的范围以及执行步长不为负值进行验证。由此,提高了通过执行线程数以及执行步长构建线程池的准确性。
步骤S3:在线程池中的线程分别向编码选择器申请执行编码,若申请成功,则线程通过处理器执行遍历操作,并对遍历操作次数进行统计。
具体地,控制器根据不同的遍历方式计算运行需要遍历线程数量,即遍历商品数量,对于csv格式根据规则解析出具体需要遍历的编码列表,向申请执行编码的线程逐个返回列表中的编码,并从列表中移除,若编码列表为空,表示运行结束;对于区间格式会记录需要遍历最小编码(minId)及最大编码(maxId),设置初始值为minId参数,且currentId参数,用于记录正在进行线程遍历的执行编码,向申请执行编码的线程返回currentId,并对currentId增加执行步长数生成下一申请执行编码,直到currentId大于maxId,表示运行结束;针对所有商品(*)格式装置会先向所执行的线程系统查询当前最小的商品编码(minId)及最大商品编码(maxId),并安区间编码处理。
进一步地,在线程池中的线程分别向编码选择器申请执行编码,若申请成功,则线程通过处理器进行遍历操作进一步包括:若线程池内增加执行线程时,处理器对线程池新增启动线程,并根据执行编码遍历,并对遍历操作次数进行统计,线程执行完成后,线程池中的线程通过执行步长自增循环向编码选择器申请所需的执行编码进行执行,其中,处理器对遍历的线程可以通过单个线程执行方式或批量线程执行方式,由此,提高了执行线程的多样性与高效性。
若线程池内缩减执行线程时,处理器从线程池中获取第一个执行线程,对第一个执行线程发出退出信号,并执行退出操作;以及若线程池内无执行线程时,控制器变更为暂停状态,等待增加遍历线程操作,并根据线程池内增加的执行线程,再次启动执行。
综上所述,本发明提出的一种遍历数据的方法通过参数修改指令实时的增加线程池内的执行线程以及缩减线程池内的执行线程,且还可以通过变更线程池中每个线程之间的执行步长对线程实现可伸缩、可控的灵活操作。
更进一步地,在线程池中的线程分别向编码选择器申请执行编码具体包括:检测在线程池中的线程是否接收到退出操作,并退出执行。
步骤S4:在线程池中的线程分别向编码选择器申请执行编码,若申请失败,则线程通过处理器执行退出操作。
根据本发明的技术方案,本发明提供一种遍历数据的方法,可以遍历上亿的海量数据,通过控制遍历运行速度、数据编码自增特性、线程池内执行线程在运行时可动态增加以及执行步长可在运行时修改,实现了遍历海量数据的可伸缩性与高效性;通过提供暂停及恢复功能,实现了在系统空闲时,通过增加执行线程以及调高执行步长来提高遍历速度;当系统繁忙时,可以通过缩减执行线程以及调低步长来减轻系统压力,也可以进入暂停状态,在系统稳定时,再次恢复执行运行。从而有效的协调了根据线程不同状态调整系统执行线程数,进一步有效地提高了大数据处理效率与可控性。
如图2所示,本发明实施例的一种遍历数据的装置的结构示意图。遍历数据的装置10,包括:编码选择器设置模块101、线程池设置模块102以及遍历模块103。
具体地,编码选择器设置模块101用于对编码选择器的多个参数进行设置与存储,并将执行编码分配给编码选择器,其中,多个参数包括:运行状态、运行时间以及多种遍历格式。
线程池设置模块102用于对线程池的执行线程数以及执行步长进行设置。具体地,线程池设置模块102具体包括:验证单元1021(图中未示出)用于通过控制器对线程池已设置的执行线程数以及执行步长进行验证。由此,提高了线程池参数设置的准确性。
遍历模块103用于在线程池中的线程分别向编码选择器申请执行编码,若申请成功,则线程通过处理器执行遍历操作,并对遍历操作次数进行统计;若申请失败,则线程通过处理器执行退出操作。具体地,遍历模块103包括:退出检测单元1031(图中未示出)用于检测在线程池中的线程是否接收到退出操作,并退出执行;线程执行单元1032(图中未示出)用于若线程池内增加执行线程时,处理器对线程池新增启动线程,并根据执行编码遍历;线程退出单元1033(图中未示出)用于若线程池内缩减执行线程时,处理器从线程池中获取第一个执行线程,对第一个执行线程发出退出信号,并执行退出操作;以及暂停等待单元1034(图中未示出)用于若线程池内无执行线程时,控制器变更为暂停状态,等待增加遍历线程操作。
根据本发明的技术方案,本发明提供一种遍历数据的装置,可以遍历上亿的海量数据,通过控制遍历运行速度、数据编码自增特性、线程池内执行线程在运行时可动态增加以及执行步长可在运行时修改,实现了遍历海量数据的可伸缩性与高效性;通过提供暂停及恢复功能,实现了在系统空闲时,通过增加执行线程以及调高执行步长来提高遍历速度;当系统繁忙时,可以通过缩减执行线程以及调低步长来减轻系统压力,也可以进入暂停状态,在系统稳定时,再次恢复执行运行。从而有效的协调了根据线程不同状态调整系统执行线程数,进一步有效地提高了大数据处理效率与可控性。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(POM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现;具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性标书不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求极其等同限定。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种遍历数据的方法,其特征在于,包括:
对编码选择器的多个参数进行设置,并将执行编码分配给所述编码选择器,其中,多个参数包括:运行状态、运行时间以及多种遍历格式;所述执行编码为执行遍历操作所对应的数据编码;
对线程池的执行线程数以及执行步长进行设置;以及
在所述线程池中的线程分别向所述编码选择器申请所述执行编码,若申请成功,则线程通过处理器执行遍历操作,并对遍历操作次数进行统计;若申请失败,则线程通过处理器执行退出操作;其中,所述线程通过处理器执行遍历操作时采用所述多种遍历格式中的一种。
2.根据权利要求1所述的方法,其特征在于,对线程池的执行线程数以及执行步长进行设置具体包括:
通过控制器对所述线程池已设置的所述执行线程数以及所述执行步长进行验证。
3.根据权利要求1所述的方法,其特征在于,在所述线程池中的线程分别向所述编码选择器申请所述执行编码具体包括:检测在所述线程池中的线程是否接收到退出操作,并退出执行。
4.根据权利要求1所述的方法,其特征在于,若申请成功,则线程通过处理器进行遍历操作具体包括:
若所述线程池内增加执行线程时,处理器对所述线程池新增启动线程,并根据所述执行编码遍历;
若所述线程池内缩减执行线程时,处理器从所述线程池中获取第一个执行线程,对所述第一个执行线程发出退出信号,并执行退出操作;以及
若所述线程池内无执行线程时,控制器变更为暂停状态,等待增加遍历线程操作。
5.一种遍历数据的装置,其特征在于,包括:
编码选择器设置模块,用于对编码选择器的多个参数进行设置,并将执行编码分配给所述编码选择器,其中,多个参数包括:运行状态、运行时间以及多种遍历格式;所述执行编码为执行遍历操作所对应的数据编码;
线程池设置模块,用于对线程池的执行线程数以及执行步长进行设置;以及
遍历模块,用于在所述线程池中的线程分别向所述编码选择器申请所述执行编码,若申请成功,则线程通过处理器执行遍历操作,并对遍历操作次数进行统计;若申请失败,则线程通过处理器执行退出操作;其中,所述线程通过处理器执行遍历操作时采用所述多种遍历格式中的一种。
6.根据权利要求5所述的装置,其特征在于,所述线程池设置模块具体包括:
验证单元,用于通过控制器对所述线程池已设置的所述执行线程数以及所述执行步长进行验证。
7.根据权利要求5所述的装置,其特征在于,所述遍历模块具体包括:退出检测单元,用于检测在所述线程池中的线程是否接收到退出操作,并退出执行。
8.根据权利要求5所述的装置,其特征在于,所述遍历模块具体包括:
线程执行单元,用于若所述线程池内增加执行线程时,处理器对所述线程池新增启动线程,并根据所述执行编码遍历;
线程退出单元,用于若所述线程池内缩减执行线程时,处理器从所述线程池中获取第一个执行线程,对所述第一个执行线程发出退出信号,并执行退出操作;以及
暂停等待单元,用于若所述线程池内无执行线程时,控制器变更为暂停状态,等待增加遍历线程操作。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;以及,
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至4任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至4中任一所述的方法。
CN201510450945.8A 2015-07-28 2015-07-28 遍历数据的方法及装置 Active CN106407197B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510450945.8A CN106407197B (zh) 2015-07-28 2015-07-28 遍历数据的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510450945.8A CN106407197B (zh) 2015-07-28 2015-07-28 遍历数据的方法及装置

Publications (2)

Publication Number Publication Date
CN106407197A CN106407197A (zh) 2017-02-15
CN106407197B true CN106407197B (zh) 2020-06-30

Family

ID=58008595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510450945.8A Active CN106407197B (zh) 2015-07-28 2015-07-28 遍历数据的方法及装置

Country Status (1)

Country Link
CN (1) CN106407197B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116257365B (zh) * 2023-05-15 2023-08-22 建信金融科技有限责任公司 数据入库方法、装置、设备、存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526948A (zh) * 2009-04-23 2009-09-09 山东中创软件商用中间件股份有限公司 多线程文件遍历技术
CN101739293A (zh) * 2009-12-24 2010-06-16 航天恒星科技有限公司 一种基于多线程的卫星数据产品生产任务并行调度方法
CN103473138A (zh) * 2013-09-18 2013-12-25 柳州市博源环科科技有限公司 基于线程池的多任务队列调度方法
CN103543987A (zh) * 2012-07-11 2014-01-29 Sap股份公司 用于高效并行运行的反馈驱动调节
CN103902361A (zh) * 2014-04-04 2014-07-02 浪潮电子信息产业股份有限公司 一种可动态调节尺寸的线程池

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071841A1 (en) * 2003-09-30 2005-03-31 Hoflehner Gerolf F. Methods and apparatuses for thread management of mult-threading
CN101261722A (zh) * 2008-01-17 2008-09-10 北京航空航天大学 电子警察后台智能管理和自动实施系统
CN103473129B (zh) * 2013-09-18 2017-01-18 深圳前海大数金融服务有限公司 线程数目可伸缩的多任务队列调度系统及其实现方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526948A (zh) * 2009-04-23 2009-09-09 山东中创软件商用中间件股份有限公司 多线程文件遍历技术
CN101739293A (zh) * 2009-12-24 2010-06-16 航天恒星科技有限公司 一种基于多线程的卫星数据产品生产任务并行调度方法
CN103543987A (zh) * 2012-07-11 2014-01-29 Sap股份公司 用于高效并行运行的反馈驱动调节
CN103473138A (zh) * 2013-09-18 2013-12-25 柳州市博源环科科技有限公司 基于线程池的多任务队列调度方法
CN103902361A (zh) * 2014-04-04 2014-07-02 浪潮电子信息产业股份有限公司 一种可动态调节尺寸的线程池

Also Published As

Publication number Publication date
CN106407197A (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
KR102333341B1 (ko) 마이크로프로세서 시스템에서의 예외 처리
US10810051B1 (en) Autoscaling using file access or cache usage for cluster machines
US8935698B2 (en) Management of migrating threads within a computing environment to transform multiple threading mode processors to single thread mode processors
US20190303200A1 (en) Dynamic Storage-Aware Job Scheduling
CN108829610B (zh) 一种神经网络前向计算过程中的内存管理方法及设备
US10157155B2 (en) Operating system-managed interrupt steering in multiprocessor systems
US10496434B2 (en) Elastic scaling job thread pool in a cloud event process infrastructure
WO2013104961A1 (en) Triggering window conditions in stream computing applications
US10496659B2 (en) Database grouping set query
US20140101668A1 (en) Adaptive Auto-Pipelining for Stream Processing Applications
US10469616B2 (en) Data driven bin packing implementation for data centers with variable node capabilities
US9772928B2 (en) Distributed kernel thread list processing for kernel patching
US20160125009A1 (en) Parallelized execution of window operator
CN106407197B (zh) 遍历数据的方法及装置
US11184418B2 (en) Stream processing utilizing virtual processing agents
US12086706B2 (en) Processing sequential inputs using neural network accelerators
US20170357569A1 (en) System and method for automatic root cause detection
CN106708481B (zh) 一种控制任务执行的方法
US20200356297A1 (en) Method of storage control based on log data types
US20190258510A1 (en) Processor starvation detection
US9940207B2 (en) Failing back block objects in batch
CN111198689A (zh) 一种代码执行方法、装置及计算机可读存储介质
US20240160451A1 (en) Dynamic thread count optimizations
US10747446B2 (en) Computer system and storage device activation control method
CN118051308A (zh) 基于线程的中断方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
C06 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