一种多线程处理数据的方法及装置的制造方法

文档序号:9921905阅读:497来源:国知局
一种多线程处理数据的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及计算机领域,特别涉及一种多线程处理数据的方法及装置。
【背景技术】
[0002] 企业年金,是指企业及其职工在依法参加基本养老保险的基础上,自愿建立的补 充养老保险制度。随着企业年金业务的发展,越来越多的企业开始参加企业年金项目,企业 年金的业务量也开始逐年增多。
[0003] 目前,在企业年金账户管理业务运营过程中,一般采用单线程数据处理方式,以对 各待处理业务数据进行依次处理。
[0004] 但是,由于单线程数据处理方式的时效性较低,尤其是当待处理业务数据的数量 较多时,难免会影响数据处理的整体工作效率。

【发明内容】

[0005] 本发明提供了一种多线程处理数据的方法及装置,能够提高数据处理的效率。
[0006] 为了达到上述目的,本发明是通过如下技术方案实现的:
[0007] -方面,本发明提供了一种多线程处理数据的方法,预先确定线程池的大小和线 程的第一数量,其中,所述线程的第一数量不大于所述线程池的大小,还包括:
[0008] 初始化所述线程池,创建所述第一数量的线程;
[0009] 针对所述第一数量的线程中的每一个目标线程,均执行:记录所述目标线程的状 态ig息;
[0010] 将待处理的至少一个数据分配至所述目标线程,以使所述目标线程处理所述至少 一个数据中的每一个目标数据;
[0011] 监控所述目标线程中是否存在处理失败的所述目标数据,若存在,则记录所述目 标数据的处理状态,更新所述目标线程的状态信息,并结束所述目标线程。
[0012] 进一步地,在所述确定线程池的大小和线程的第一数量之前,还包括:首次创建线 程参数配置规则,确定服务器的配置;
[0013] 所述确定线程池的大小和线程的第一数量,包括:根据所述服务器的配置,利用所 述线程参数配置规则,确定线程池的大小和线程的第一数量。
[0014] 进一步地,所述确定线程池的大小和线程的第一数量,包括:确定所述线程池的大 小等于所述服务器的CPU核心数再加1,所述线程的第一数量等于所述服务器的CPU核心数 再减1。
[0015] 进一步地,在所述记录所述目标线程的状态信息之前,还包括:首次创建线程状态 记录规则;
[0016] 所述记录所述目标线程的状态信息,包括:根据所述线程状态记录规则,记录所述 目标线程的状态信息。
[0017] 进一步地,所述将待处理的至少一个数据分配至所述目标线程,包括:根据所述线 程的第一数量和企业实际应用需求,将待处理的至少一个数据分配至所述目标线程。
[0018] 进一步地,所述目标数据,包括:企业年金账户管理系统中用于交易申购的业务单 据。
[0019] 另一方面,本发明提供了一种多线程处理数据的装置,包括:
[0020] 第一确定单元,用于确定线程池的大小和线程的第一数量,其中,所述线程的第一 数量不大于所述线程池的大小;
[0021 ]处理单元,用于初始化所述线程池,创建所述第一数量的线程,并向第一记录单元 输出第一触发信号;在接收到由所述第一记录单元输出的第二触发信号之后,将待处理的 至少一个数据分配至所述目标线程,以使所述目标线程处理所述至少一个数据中的每一个 目标数据;监控所述目标线程中是否存在处理失败的所述目标数据,若存在,则向第二记录 单元输出第三触发信号,以使所述第二记录单元记录所述目标数据的处理状态,向所述第 一记录单元输出第四触发信号,以使所述第一记录单元更新所述目标线程的状态信息,并 结束所述目标线程;
[0022]所述第一记录单元,用于在接收到由所述处理单元输出的第一触发信号之后,针 对所述第一数量的线程中的每一个目标线程,均执行:记录所述目标线程的状态信息,并向 所述处理单元输出第二触发信号;在接收到由所述处理单元输出的第四触发信号之后,更 新所述目标线程的状态信息;
[0023]所述第二记录单元,用于在接收到由所述处理单元输出的第三触发信号之后,记 录所述目标数据的处理状态。
[0024] 进一步地,该装置还包括:
[0025] 创建单元,用于首次创建线程参数配置规则;
[0026] 第二确定单元,用于确定服务器的配置;
[0027] 所述第一确定单元,具体用于根据所述服务器的配置,利用所述线程参数配置规 贝1J,确定线程池的大小和线程的第一数量。
[0028] 进一步地,所述创建单元,还用于首次创建线程状态记录规则;
[0029] 所述第一记录单元,具体用于根据所述线程状态记录规则,记录所述目标线程的 状态信息。
[0030] 进一步地,所述处理单元,具体用于根据所述线程的第一数量和企业实际应用需 求,将待处理的至少一个数据分配至所述目标线程。
[0031] 本发明提供了一种多线程处理数据的方法及装置,首先确定用于处理数据的线程 的数量,并创建相应数量的线程,以及记录创建的每一个线程的状态信息;通过将待处理的 数据分配至所述每一个线程,以使各线程处理与之相对应的数据;监控数据处理过程,以在 监控到任一线程中存在处理失败的数据时,记录该数据的处理状态,同时对该线程的状态 信息进行更新,并结束该线程。因此,本发明通过多线程的方式以处理数据,能够提高数据 处理的效率。
【附图说明】
[0032] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 这些附图获得其他的附图。
[0033] 图1是本发明一实施例提供的一种多线程处理数据的方法的流程图;
[0034] 图2是本发明一实施例提供的另一种多线程处理数据的方法的流程图;
[0035] 图3是本发明一实施例提供的一种多线程处理数据的装置的示意图;
[0036]图4是本发明一实施例提供的另一种多线程处理数据的装置的示意图。
【具体实施方式】
[0037]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员 在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。 [0038]如图1所示,本发明实施例提供了一种多线程处理数据的方法,可以包括以下步 骤:
[0039] 步骤101:预先确定线程池的大小和线程的第一数量,其中,所述线程的第一数量 不大于所述线程池的大小。
[0040] 步骤102:初始化所述线程池,创建所述第一数量的线程。
[0041 ]步骤103:针对所述第一数量的线程中的每一个目标线程,均执行:记录所述目标 线程的状态信息。
[0042] 步骤104:将待处理的至少一个数据分配至所述目标线程,以使所述目标线程处理 所述至少一个数据中的每一个目标数据。
[0043]步骤105:监控所述目标线程中是否存在处理失败的所述目标数据,若存在,则记 录所述目标数据的处理状态,更新所述目标线程的状态信息,并结束所述目标线程。
[0044]本发明实施例提供了一种多线程处理数据的方法,首先确定用于处理数据的线程 的数量,并创建相应数量的线程,以及记录创建的每一个线程的状态信息;通过将待处理的 数据分配至所述每一个线程,以使各线程处理与之相对应的数据;监控数据处理过程,以在 监控到任一线程中存在处理失败的数据时,记录该数据的处理状态,同时对该线程的状态 信息进行更新,并结束该线程。因此,本发明实施例通过多线程的方式以处理数据,能够提 高数据处理的效率。
[0045] 在一种可能的实现方式中,为了能够在不改变系统程序的情况下,根据不同的实 际应用需求,灵活设置合适的线程参数配置信息,所以,在所述确定线程池的大小和线程的 第一数量之前,进一步包括:首次创建线程参数配置规则,确定服务器的配置;
[0046] 所述确定线程池的大小和线程的第一数量,包括:根据所述服务器的配置,利用所 述线程参数配置规则,确定线程池的大小和线程的第一数量。
[0047] 在一种可能的实现方式中,为了能够最大限度的利用服务器的CPU资源,所以,所 述确定线程池的大小和线程的第一数量,包括:确定所述线程池的大小等于所述服务器的 CPU核心数再加1,所述线程的第一数量等于所述服务器的CPU核心数再减1。
[0048] 在一种可能的实现方式中,为了使系统程序能够规范的记录各线程的状态信息, 所以
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1