• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 15
    • 下载费用:30 金币  

    重庆时时彩后一直选技巧: 一种基于线程池的业务处理方法及装置.pdf

    摘要
    申请专利号:

    重庆时时彩单双窍门 www.4mum.com.cn CN201611209613.1

    申请日:

    2016.12.23

    公开号:

    CN106802826A

    公开日:

    2017.06.06

    当前法律状态:

    实审

    有效性:

    审中

    法律详情: 实质审查的生效IPC(主分类):G06F 9/48申请日:20161223|||公开
    IPC分类号: G06F9/48; G06F9/50; G06F17/30 主分类号: G06F9/48
    申请人: 中国银联股份有限公司
    发明人: 吴文昊; 吕伊蒙; 冯哲
    地址: 200135 上海市浦东新区含笑路36号
    优先权:
    专利代理机构: 北京同达信恒知识产权代理有限公司 11291 代理人: 黄志华
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201611209613.1

    授权公告号:

    |||

    法律状态公告日:

    2017.06.30|||2017.06.06

    法律状态类型:

    实质审查的生效|||公开

    摘要

    本发明公开了一种基于线程池的业务处理方法及装置,用以使线程池处理系统处理业务时能够具备优先级功能,包括:接收待处理业务并解析待处理业务为N个任务;N大于等于1;根据待处理业务的业务类型,获取待处理业务的配置文件;配置文件中包含了待处理业务的任务队列信息和待处理业务解析的各任务的任务优先级;根据各任务的任务优先级,将N个任务放入待处理业务所对应的任务队列中;任务队列具有优先级;根据任务队列优先级,依次将N个任务放入线程池中。由于任务队列具有优先级,会对优先级较高的业务进行优先处理,此外,任务队列中的任务也具有优先级,使得重要任务能够被优先处理。

    权利要求书

    1.一种基于线程池的业务处理方法,其特征在于,包括:
    接收待处理业务并解析所述待处理业务为N个任务;N大于等于1;
    根据所述待处理业务的业务类型,获取所述待处理业务的配置文件;所述配置文件中
    包含了所述待处理业务的任务队列信息和所述待处理业务解析的各任务的任务优先级;
    根据所述各任务的任务优先级,将所述N个任务放入所述待处理业务所对应的任务队
    列中;所述任务队列具有优先级;
    根据所述任务队列优先级,依次将所述N个任务放入线程池中。
    2.如权利要求1所述的方法,其特征在于,所述配置文件中还包含所述待处理业务的线
    程池信息,
    根据所述任务队列优先级,依次将所述N个任务放入线程池中之前,还包括:
    根据所述待处理业务的线程池信息,确定所述线程池中所述待处理业务对的M个线程;
    所述M个线程用于处理所述N个任务。
    3.如权利要求2所述的方法,其特征在于,所述配置文件中还包含了数据库信息,
    根据所述任务队列优先级,依次将所述N个任务放入线程池中之前,还包括:
    根据所述数据库信息,将所述M个线程与所述数据库信息中记载的数据库相连接。
    4.如权利要求1所述的方法,其特征在于,所述任务队列按优先级从高到低共分为先入
    先出FIFO队列、权重队列、后入先出LIFO队列以及外置队列;
    所述外置队列用于保存关键任务,所述关键任务为所述N个任务中的部分或全部;
    根据所述任务队列优先级,依次将所述N个任务放入线程池中之后,还包括:
    针对所述N个任务中的每一个任务,接收所述任务的回调信息;
    根据所述回调信息,判断所述任务是否执行成功;
    若所述任务为执行失败,则确定所述任务在所述外置队列中对应的关键任务,并返回
    执行所述关键任务。
    5.如权利要求1至4任一项所述的方法,其特征在于,
    所述线程池为线程池系统中的任一个线程池;所述线程池系统中的任一线程池能够获
    取其它线程池对应的数据库资源;
    根据所述任务队列优先级,依次将所述N个任务放入线程池中之后,还包括:
    根据所述N个任务的执行情况,判断所述线程池的执行效率;
    若所述线程池的执行效率低于预设阈值,则从所述线程池系统中获取替代线程池;所
    述替代线程池为所述线程池系统中处理速度高于所述线程池的线程池;
    将所述N个任务中的未处理任务全部或部分调至所述替代线程池对应的任务队列中。
    6.一种基于线程池的业务处理装置,其特征在于,包括:
    解析???,用于接收待处理业务并解析所述待处理业务为N个任务;N大于等于1;
    获取???,用于根据所述待处理业务的业务类型,获取所述待处理业务的配置文件;所
    述配置文件中包含了所述待处理业务的任务队列信息和所述待处理业务解析的各任务的
    任务优先级;
    配置???,用于根据所述各任务的任务优先级,将所述N个任务放入所述待处理业务所
    对应的任务队列中;所述任务队列具有优先级;
    调度???,用于根据所述任务队列优先级,依次将所述N个任务放入线程池中。
    7.如权利要求6所述的装置,其特征在于,所述配置文件中还包含所述待处理业务的线
    程池信息,
    所述配置??榛褂糜冢?br />根据所述待处理业务的线程池信息,确定所述线程池中所述待处理业务对的M个线程;
    将所述待处理业务所对应的任务队列中的任务与所述M个线程关联。
    8.如权利要求7所述的装置,其特征在于,所述配置文件中还包含了数据库信息,
    所述配置???,还用于:
    根据所述数据库信息,将所述M个线程与所述数据库信息中记载的数据库相连接。
    9.如权利要求6所述的装置,其特征在于,所述任务队列按优先级从高到低共分为先入
    先出FIFO队列、权重队列、后入先出LIFO队列以及外置队列;
    所述外置队列用于保存关键任务,所述关键任务为所述N个任务中的部分或全部;
    所述调度??榛褂糜冢?br />针对所述N个任务中的每一个任务,接收所述任务的回调信息;
    根据所述回调信息,判断所述任务是否执行成功;
    若所述任务为执行失败,则确定所述任务在所述外置队列中对应的关键任务,并返回
    执行所述关键任务。
    10.如权利要求6至9任一项所述的装置,其特征在于,
    所述线程池为线程池系统中的任一个线程池;所述线程池系统中的任一线程池能够获
    取其它线程池对应的数据库资源;
    所述调度??榛褂糜冢?br />根据所述N个任务的执行情况,判断所述线程池的执行效率;
    若所述线程池的执行效率低于预设阈值,则从所述线程池系统中获取替代线程池;所
    述替代线程池为所述线程池系统中处理速度高于所述线程池的线程池;
    将所述N个任务中的未处理任务全部或部分调至所述替代线程池对应的任务队列中。

    说明书

    一种基于线程池的业务处理方法及装置

    技术领域

    本发明涉及计算机技术领域,尤其涉及一种基于线程池的业务处理方法及装置。

    背景技术

    如今,随着金融业的蓬勃发展,金融系统中无论是实时处理系统或是批量处理系
    统面对的数据压力越来越大。而随着数据的爆发式的增长,大部分金融系统都已经完成分
    布式储存数据,相关技术也越来越成熟。业务处理中常常伴随着复杂的数据库操作,为了实
    现对分布式数据库的管理,提高业务处理效率,线程池是一种非常有效的业务处理机制。

    目前,基于线程池业务处理系统主要有同步单数据库线程池系统和异步多数据线
    程池系统两种。其中,异步多数据线程池系统因其不需等待,异步处理等高效率处理特征而
    被越来越广泛的使用。然而,异步多数据线程池没有权重功能,不能支持优先级的线程处
    理,使得异步多数据线程池不能优先处理紧急任务和重要任务。

    综上所述,目前的线程池处理系统在处理业务时不具备优先级功能。

    发明内容

    本发明提供一种基于线程池的业务处理方法及装置,用以使线程池处理系统处理
    业务时能够具备优先级功能。

    本发明实施例提供一种基于线程池的业务处理方法,包括:

    接收待处理业务并解析待处理业务为N个任务;N大于等于1;

    根据待处理业务的业务类型,获取待处理业务的配置文件;配置文件中包含了待
    处理业务的任务队列信息和待处理业务解析的各任务的任务优先级;

    根据各任务的任务优先级,将N个任务放入待处理业务所对应的任务队列中;任务
    队列具有优先级;

    根据任务队列优先级,依次将N个任务放入线程池中。

    可选地,配置文件中还包含待处理业务的线程池信息,

    根据任务队列优先级,依次将N个任务放入线程池中之前,还包括:

    根据所述待处理业务的线程池信息,确定所述线程池中所述待处理业务对的M个
    线程;

    将待处理业务所对应的任务队列中的任务与M个线程关联。

    可选地,配置文件中还包含了数据库信息,

    根据任务队列优先级,依次将N个任务放入线程池中之前,还包括:

    根据数据库信息,将M个线程与数据库信息中记载的数据库相连接。

    可选地,任务队列按优先级从高到低共分为先入先出FIFO队列、权重队列、后入先
    出LIFO队列以及外置队列;

    外置队列用于保存关键任务,关键任务为N个任务中的部分或全部;

    根据任务队列优先级,依次将N个任务放入线程池中之后,还包括:

    针对N个任务中的每一个任务,接收任务的回调信息;

    根据回调信息,判断任务是否执行成功;

    若任务为执行失败,则确定任务在外置队列中对应的关键任务,并返回执行关键
    任务。

    可选地,线程池为线程池系统中的任一个线程池;线程池系统中的任一线程池能
    够获取其它线程池对应的数据库资源;

    根据任务队列优先级,依次将N个任务放入线程池中之后,还包括:

    根据N个任务的执行情况,判断线程池的执行效率;

    若线程池的执行效率低于预设阈值,则从线程池系统中获取替代线程池;替代线
    程池为线程池系统中处理速度高于线程池的线程池;

    将N个任务中的未处理任务全部或部分调至替代线程池对应的任务队列中。

    本发明实施例提供一种基于线程池的业务处理装置,包括:

    解析???,用于接收待处理业务并解析待处理业务为N个任务;N大于等于1;

    获取???,用于根据待处理业务的业务类型,获取待处理业务的配置文件;配置文
    件中包含了待处理业务的任务队列信息和待处理业务解析的各任务的任务优先级;

    配置???,用于根据各任务的任务优先级,将N个任务放入待处理业务所对应的任
    务队列中;任务队列具有优先级;

    调度???,用于根据任务队列优先级,依次将N个任务放入线程池中。

    可选地,配置文件中还包含待处理业务的线程池信息,

    配置??榛褂糜冢?br />

    根据所述待处理业务的线程池信息,确定所述线程池中所述待处理业务对的M个
    线程;

    将待处理业务所对应的任务队列中的任务与M个线程关联。

    可选地,配置文件中还包含了数据库信息,

    配置??榛褂糜诟菔菘庑畔?,将M个线程与数据库信息中记载的数据库相连
    接。

    可选地,任务队列按优先级从高到低共分为先入先出FIFO队列、权重队列、后入先
    出LIFO队列以及外置队列;

    外置队列用于保存关键任务,关键任务为N个任务中的部分或全部;

    调度??榛褂糜冢?br />

    针对N个任务中的每一个任务,接收任务的回调信息;

    根据回调信息,判断任务是否执行成功;

    若任务为执行失败,则确定任务在外置队列中对应的关键任务,并返回执行关键
    任务。

    可选地,线程池为线程池系统中的任一个线程池;线程池系统中的任一线程池能
    够获取其它线程池对应的数据库资源;

    调度??榛褂糜冢?br />

    根据N个任务的执行情况,判断线程池的执行效率;

    若线程池的执行效率低于预设阈值,则从线程池系统中获取替代线程池;替代线
    程池为线程池系统中处理速度高于线程池的线程池;

    将N个任务中的未处理任务全部或部分调至替代线程池对应的任务队列中。

    综上所述,本发明实施例提供了一种基于线程池的业务处理方法及装置,包括:接
    收待处理业务并解析待处理业务为N个任务;N大于等于1;根据待处理业务的业务类型,获
    取待处理业务的配置文件;配置文件中包含了待处理业务的任务队列信息和待处理业务解
    析的各任务的任务优先级;根据各任务的任务优先级,将N个任务放入待处理业务所对应的
    任务队列中;任务队列具有优先级;根据任务队列优先级,依次将N个任务放入线程池中。根
    据待处理业务的业务类型,将由待处理业务解析来的N个任务放入待处理业务对应的任务
    队列中,由于任务队列具有优先级,因此在任务调度时,会对优先级较高的业务解析而来的
    任务进行优先处理,此外,任务队列中的任务也会根据优先级进行排列,使得业务中的重要
    任务能够被优先处理,所以,采用本发明所述的业务处理方法处理业务,不仅能够按优先级
    处理业务,还能对业务拆分来的任务也进行优先级处理。

    附图说明

    为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使
    用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本
    领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其
    他的附图。

    图1为本发明实施例提供的一种基于线程池的业务处理方法流程示意图;

    图2为本发明实施例提供的一种业务类型、权重值以及任务队列之间的关系;

    图3为本发明实施例提供的一种动态调度示意图;

    图4为本发明实施例提供的一种分布式线程池系统架构;

    图5为本发明实施例提供的一种基于线程池的业务处理装置结构示意图。

    具体实施方式

    为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进
    一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施
    例?;诒痉⒚髦械氖凳├?,本领域普通技术人员在没有做出创造性劳动前提下所获得的
    所有其它实施例,都属于本发明?;さ姆段?。

    图1为本发明实施例提供的一种基于线程池的业务处理方法流程示意图,如图1所
    示,包括以下步骤:

    S101:接收待处理业务并解析待处理业务为N个任务;N大于等于1;

    S102:根据待处理业务的业务类型,获取待处理业务的配置文件;配置文件中包含
    了待处理业务的任务队列信息和待处理业务解析的各任务的任务优先级;

    S103:根据各任务的任务优先级,将N个任务放入待处理业务所对应的任务队列
    中;任务队列具有优先级;

    S104:根据任务队列优先级,依次将N个任务放入线程池中。

    在步骤S101的具体实施过程中,一般通过一个应用程序编程接口(Application
    Programming Interface,API)接收待处理业务,待处理业务由多个任务组合而成,可以被
    解析为多个任务,对于待处理业务的处理也就是对解析出的多个任务的处理。

    在步骤S102的具体实施过程中,每一种业务类型都对应着一个预先设置的配置文
    件,根据待处理业务的业务类型获取待处理业务对应的配置文件,例如,查询业务对应着配
    置文件1,交易业务对应着配置文件2,配置文件1和配置文件2都是预先设置的配置文件,当
    待处理业务为查询业务时,则获取配置文件1,当待处理业务为交易业务时,则获取配置文
    件2??裳〉?,线程池中具有多个任务队列,配置文件中包含了待处理业务的任务队列信息,
    以及待处理业务解析的各任务的任务优先级。例如,查询业务的配置文件为配置文件1,则,
    配置文件1中记录了查询业务对应的任务队列A,以及,查询业务解析出的各任务的任务优
    先级,可选地,这里的任务优先级以权重值区分,对于普通任务,其权重值为正,权重值越
    大,优先级越高,对于重要任务,其权重值为负,权重值越大,优先级越高,通过正负将待处
    理业务解析出的任务划分为两类,方便后续优先级处理。

    在步骤S103的具体实施过程中,待处理业务对应的配置文件中包含了待处理业务
    解析出的N个任务的优先级,将N个任务放入任务队列时,需根据N个任务各自的优先级信息
    放入。用来接纳N个任务的任务队列也具有优先级区分,线程池中具有多个任务队列,每个
    队列间具有不同的优先级,配置文件中记载着待处理业务对应的任务队列信息,也就意味
    着根据业务类型为待处理业务配置了不同的优先级。例如,配置文件1中记录了查询业务对
    应的任务队列A,配置文件2中记录了交易业务对应的任务队列B,任务队列B的优先级高于
    任务队列A,则任务队列B中的任务将会先于任务队列A中的任务被处理,也即,优先处理交
    易业务解析出的多个任务,而查询业务解析出的多个任务将会在处理完交易业务解析出的
    多个任务之后才会被处理。对于一个待处理业务解析出的N个任务,也具任务优先级区分,
    在放置入对于的任务队列时,需按优先级顺序放入,例如,交易业务B解析出了N个任务,在
    将这N个任务放入任务队列B时,需按照优先级顺序放入以使优先级高的任务可以被优先处
    理。

    可选地,配置文件中还包含待处理业务的线程池信息,根据任务队列优先级,依次
    将N个任务放入线程池中之前,还包括:根据待处理业务的线程池信息,确定线程池中待处
    理业务对的M个线程;M个线程用于处理N个任务。在正式处理N个任务之前,还需对处理任务
    的线程池进行配置??裳〉?,线程池有可能是一个独立线程池,也可能是隶属于分布式线程
    池系统的一个线程池??裳〉?,对于一个具有多个线程池的分布式线程池系统,可以先遍历
    每一个线程池的运行状态,选择其中运行速度和资源状况等综合条件最优的线程池作为处
    理这N个任务的线程池。配置文件中包含了待处理业务的线程池信息,线程池信息记录了处
    理该待处理业务所需的线程数量M,当确定线程池之后,根据线程池信息从线程池中划分出
    M个线程,这M个线程将被单独用于处理该待处理业务解析出的任务。例如,线程池中共有
    1000个线程,交易业务对应的配置文件2中线程池信息为100个线程,则需从线程池中划分
    出100个线程来处理交易业务,这100个线程即可满足交易业务解析出的多个任务的处理需
    求。根据配置文件中的线程池信息来为待处理业务配置线程,使得配置的线程即可以满足
    待处理业务的需求,又不会浪费线程池的资源,从而可以提高线程池中的线程利用率,优化
    线程池的内存规划,提高线程池的处理效率??裳〉?,根据实际应用需求或经验设置默认线
    程个数,当配置文件中不包含线程池信息时,按默认个数为待处理业务配置线程池中的线
    程。

    可选地,配置文件中还包含了数据库信息,根据任务队列优先级,依次将N个任务
    放入线程池中之前,还包括:根据数据库信息,将M个线程与数据库信息中记载的数据库相
    连接。线程池处理任务需要调度数据库中的数据资源,因此,配置文件中还包含了数据库信
    息,数据库信息为处理该待处理业务所需的数据库信息,例如,处理交易业务需要调度数据
    库1和数据库2的资源,则交易业务对应的配置文件2中的数据库信息为数据库1和数据库2。
    将M个线程与数据库中记载的数据库向连接,指的是,将数据库信息保存于线程池中,当进
    行任务处理时,M个线程将根据数据库信息从指定的数据库中调度资源,如交易业务的数据
    库信息为数据库1和数据库2,则线程池在处理交易业务解析出的任务时,将从数据库1和数
    据库2调度数据资源。配置文件中加入数据库信息可以实现同时操作分布式多数据库,当需
    要增加新的数据库以支撑业务处理时,只需在配置文件中增加相应的数据库信息即可。

    在步骤S104的具体实施过程中,每个任务队列具有不同的优先级,可选地,优先将
    先级高的任务队列中的任务放入线程池中。

    可选地,任务队列按优先级从高到低共分为先入先出FIFO队列、权重队列、后入先
    出LIFO队列以及外置队列;外置队列用于保存关键任务,关键任务为N个任务中的部分或全
    部;根据任务队列优先级,依次将N个任务放入线程池中之后,还包括:针对N个任务中的每
    一个任务,接收任务的回调信息;根据回调信息,判断任务是否执行成功;若任务为执行失
    败,则确定任务在外置队列中对应的关键任务,并返回执行关键任务。外置队列用于保存关
    键任务,一般情况下,外置队列中的任务并不会执行,关键任务是待处理业务中解析出的N
    个任务中的部分或全部??裳〉?,当待处理业务具有极高的重要性,且解析出的任务并不多
    时,将所有解析出的任务都保存于外置队列中??裳〉?,当待处理业务的重要性一般或解析
    出的任务过多时,将其中的部分任务作为关键任务保存于外置队列中,可选地,关键任务可
    以根据表示任务优先级的权重进行划分,如,将权重为负值的任务作为关键任务保存于外
    置队列中。将每一个任务调度进线程池进行处理,都会获得一个回调信息用来表示任务的
    完成情况。

    图2为本发明实施例提供的一种业务类型、权重值以及任务队列之间的关系,如图
    2所示,以权重表示各种业务的优先级,对于普通业务,权重值为正,权重值越大,优先级越
    高,对于重要业务,权重值为负,权重值越大,优先级越高。对于查询类业务一般具有较低的
    权重值,因此其解析出的多个任务被放入优先级最低的FIFO队列,金融类业务较查询类业
    务更为重要,因此被放入内置队列中,当内置队列内存不足时,也会被放入外置队列,对于
    秒杀类操作,其优先级最高,被放入LIFO队列。

    具体实施时,针对N个任务中的每一个任务,接收任务的回调信息;根据回调信息,
    判断任务是否执行成功;若任务为执行失败,则确定任务在外置队列中对应的关键任务,并
    返回执行关键任务。任务执行失败存在两种情况,一种情况是执行失败的任务为关键任务,
    此时,只需直接从外置队列中提取保存的此任务并返回执行即可,另一种情况是执行失败
    的任务为普通任务,外置队列中并未保存,则应从外置队列中提取距离此普通任务最近的
    已执行的关键任务,并返回处理??裳〉?,当其它队列内存不够用时,外置队列也会参与任
    务调度。

    在外置队列中保存关键任务为系统提供了一种快照功能,使得任务处理发生错误
    时,可通过恢复关键任务的方式返回重新处理,增强了系统的可用性。此外,只需提取外置
    队列中的关键任务即可返回,而不需根据错误类型和处理结果返回不同的API接口,因此,
    本实施例还提供了一种极其友好简单的API接口。

    可选地,线程池为线程池系统中的任一个线程池;线程池系统中的任一线程池能
    够获取其它线程池对应的数据库资源;根据任务队列优先级,依次将N个任务放入线程池中
    之后,还包括:根据N个任务的执行情况,判断线程池的执行效率;若线程池的执行效率低于
    预设阈值,则从线程池系统中获取替代线程池;替代线程池为线程池系统中处理速度高于
    线程池的线程池;将N个任务中的未处理任务全部或部分调至替代线程池对应的任务队列
    中。分布式线程池系统中具有多个线程池,每个线程池对任务的处理效率会存在差异,资源
    压力也会有所不同,当处理该待处理业务的线程池的处理效率低于预设阈值时,可以将该
    待处理业务解析出的任务分散给其它线程池处理。分布式线程池系统的各个线程池中,含
    有调用其它线程池对应的数据库资源的线程,使得每一个线程池都有处理其它线程池业务
    的能力。图3为本发明实施例提供的一种动态调度示意图,如图3所示,业务APP1和业务APP2
    都解析出了300个任务,分别由线程池a和线程池b处理,由于线程池a的数据库资源充足,任
    务处理效率高,一段时间后,业务APP1还剩30个任务,而业务APP2还剩200个任务,线程池b
    的处理速度低于预设阈值,此时,将业务APP2剩下的200个任务中的部分或者全部调度到业
    务APP1对应的任务队列中,由业务APP1对应的线程池a协助线程池b处理业务APP2剩余的任
    务。采用这种动态调度的方法,可以加速业务处理过程,充分利用线程池资源。此外,还可以
    横向扩展和部署,对于复杂业务,可以将解析出的任务分散于多个线程池中,减轻了单个线
    程池的工作压力,提高了业务处理过程。

    图4为本发明实施例提供的一种分布式线程池系统架构,如图4所示,APP1、
    APP2、…、APPN代表该分布式线程池系统的N种待处理业务类型,线程池1、…、线程池N为本
    线程池具有的N个线程池,每一个线程池都有四种队列,图4中示例性示出了一个线程池具
    有的任务队列:LIFO队列、内置队列队列、FIFO队列和外置队列,管理器负责根据待处理业
    务的执行语句,将待处理业务解析为多个任务,确定并解析待处理业务对应的配置文件,并
    根据配置文件中的信息配置任务队列、线程池以及数据库,调度器按照队列优先级依次将
    任务调度至线程池,节点1、节点2、…、节点N为该分布式线程池系统具有的N个数据库节点,
    为该分布式线程池系统提供数据资源。

    综上所述,本发明实施例提供了一种基于线程池的业务处理方法,包括:接收待处
    理业务并解析待处理业务为N个任务;N大于等于1;根据待处理业务的业务类型,获取待处
    理业务的配置文件;配置文件中包含了待处理业务的任务队列信息和待处理业务解析的各
    任务的任务优先级;根据各任务的任务优先级,将N个任务放入待处理业务所对应的任务队
    列中;任务队列具有优先级;根据任务队列优先级,依次将N个任务放入线程池中。根据待处
    理业务的业务类型,将由待处理业务解析来的N个任务放入待处理业务对应的任务队列中,
    由于任务队列具有优先级,因此在任务调度时,会对优先级较高的业务解析而来的任务进
    行优先处理,此外,任务队列中的任务也会根据优先级进行排列,使得业务中的重要任务能
    够被优先处理,所以,采用本发明所述的业务处理方法处理业务,不仅能够按优先级处理业
    务,还能对业务拆分来的任务也进行优先级处理。

    基于相同的技术构思,本发明实施例提供一种基于线程池的业务处理装置,该装
    置可以实现上述技术方法。图5为本发明实施例提供的一种基于线程池的业务处理装置结
    构示意图,如图5所示,处理装置500包括解析???01、获取???02、配置???03和调度模
    块504,其中,

    解析???01,用于接收待处理业务并解析待处理业务为N个任务;N大于等于1;

    获取???02,用于根据待处理业务的业务类型,获取待处理业务的配置文件;配
    置文件中包含了待处理业务的任务队列信息和待处理业务解析的各任务的任务优先级;

    配置???03,用于根据各任务的任务优先级,将N个任务放入待处理业务所对应
    的任务队列中;任务队列具有优先级;

    调度???04,用于根据任务队列优先级,依次将N个任务放入线程池中。

    可选地,配置文件中还包含待处理业务的线程池信息,

    配置???03还用于:

    根据待处理业务的线程池信息,确定线程池中待处理业务对的M个线程;

    将待处理业务所对应的任务队列中的任务与M个线程关联。

    可选地,配置文件中还包含了数据库信息,

    配置???03,还用于:

    根据数据库信息,将M个线程与数据库信息中记载的数据库相连接。

    可选地,任务队列按优先级从高到低共分为先入先出FIFO队列、权重队列、后入先
    出LIFO队列以及外置队列;

    外置队列用于保存关键任务,关键任务为N个任务中的部分或全部;

    调度???04还用于:

    针对N个任务中的每一个任务,接收任务的回调信息;

    根据回调信息,判断任务是否执行成功;

    若任务为执行失败,则确定任务在外置队列中对应的关键任务,并返回执行关键
    任务。

    可选地,线程池为线程池系统中的任一个线程池;线程池系统中的任一线程池能
    够获取其它线程池对应的数据库资源;

    调度???04还用于:

    根据N个任务的执行情况,判断线程池的执行效率;

    若线程池的执行效率低于预设阈值,则从线程池系统中获取替代线程池;替代线
    程池为线程池系统中处理速度高于线程池的线程池;

    将N个任务中的未处理任务全部或部分调至替代线程池对应的任务队列中。

    综上所述,本发明实施例提供了一种基于线程池的业务处理方法及装置,包括:接
    收待处理业务并解析待处理业务为N个任务;N大于等于1;根据待处理业务的业务类型,获
    取待处理业务的配置文件;配置文件中包含了待处理业务的任务队列信息和待处理业务解
    析的各任务的任务优先级;根据各任务的任务优先级,将N个任务放入待处理业务所对应的
    任务队列中;任务队列具有优先级;根据任务队列优先级,依次将N个任务放入线程池中。根
    据待处理业务的业务类型,将由待处理业务解析来的N个任务放入待处理业务对应的任务
    队列中,由于任务队列具有优先级,因此在任务调度时,会对优先级较高的业务解析而来的
    任务进行优先处理,此外,任务队列中的任务也会根据优先级进行排列,使得业务中的重要
    任务能够被优先处理,所以,采用本发明所述的业务处理方法处理业务,不仅能够按优先级
    处理业务,还能对业务拆分来的任务也进行优先级处理。

    本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程
    图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
    程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合??商峁┱庑┘扑慊绦?br />指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
    生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实
    现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

    这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特
    定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
    令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
    多个方框中指定的功能。

    这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计
    算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
    其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
    个方框或多个方框中指定的功能的步骤。

    尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造
    性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优
    选实施例以及落入本发明范围的所有变更和修改。

    显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精
    神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围
    之内,则本发明也意图包含这些改动和变型在内。

    关 键 词:
    一种 基于 线程 业务 处理 方法 装置
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:一种基于线程池的业务处理方法及装置.pdf
    链接地址://www.4mum.com.cn/p-6000650.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03