CN113590299A - 高并发高可用异构系统的转换调度框架算法 - Google Patents

高并发高可用异构系统的转换调度框架算法 Download PDF

Info

Publication number
CN113590299A
CN113590299A CN202111140804.8A CN202111140804A CN113590299A CN 113590299 A CN113590299 A CN 113590299A CN 202111140804 A CN202111140804 A CN 202111140804A CN 113590299 A CN113590299 A CN 113590299A
Authority
CN
China
Prior art keywords
conversion
task
tasks
algorithm
availability
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.)
Granted
Application number
CN202111140804.8A
Other languages
English (en)
Other versions
CN113590299B (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.)
Nanjing Guorui Xinwei Software Co ltd
Original Assignee
Nanjing Guorui Xinwei Software 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 Nanjing Guorui Xinwei Software Co ltd filed Critical Nanjing Guorui Xinwei Software Co ltd
Priority to CN202111140804.8A priority Critical patent/CN113590299B/zh
Publication of CN113590299A publication Critical patent/CN113590299A/zh
Application granted granted Critical
Publication of CN113590299B publication Critical patent/CN113590299B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种高并发高可用异构文件转换调度框架算法,属于计算机技术领域,包括获取转换任务并收集任务的各项配置信息;结合配置信息的权重比计算任务权重,任务加入任务池;创建新的或获取空闲的转换进程,从任务池中筛选任务,并将任务转递给转换进程;转换进程接收转换任务并根据任务类型调用算法运行实际转换;调整任务队列;收集转换进程的反馈结果,并将转换结果反馈。本发明的调度框架算法将各种转换方法集成到框架中,可以方便替换或组合适用,框架通过算法区分不同文件和任务的优先级别,算出特定的权重,在分配时也会结合各个转换进程的效率来智能地分配转换任务,使得任务效率得到保障的同时还能充分利用系统资源。

Description

高并发高可用异构系统的转换调度框架算法
技术领域
本发明涉及一种高并发高可用异构系统的转换调度框架算法,属于计算机技术领域。
背景技术
现有办公应用系统经常会用到Office文件,针对不同的场合会使用不同的格式,这就涉及到Office文件与各种格式之间的相互转换,现有的Office文件转换方法有多种,但是都存在一定的局限性,例如操作系统限定要求;算法单一,只能进行一种或几种形式的Office文件转换任务;只能进行单进程转换任务等,不能满足不同情况的需求,且难以有效为任务分配合理进程与执行顺序,导致转换任务效率低下。
因此,需要一种能够调用多种算法的多进程高效转换方法。
发明内容
为了解决上述技术问题,本发明提供一种高并发高可用异构系统的转换调度框架算法,其具体技术方案如下:包括以下步骤:
步骤1:获取多个转换任务并收集多个转换任务的各项配置信息;
步骤2:确定各项配置信息的权重,结合各项配置信息的权重比计算任务权重,将任务加入任务池;
步骤3:创建新的或获取空闲的转换进程,从任务池中筛选合适的任务,并将任务传递给转换进程;
步骤4:转换进程接收转换任务,根据任务类型调用算法并运行实际转换;
步骤5:调整任务队列:根据转换进程占用比例调整初始任务权重决定的任务队列;
步骤6:收集转换进程反馈的转换结果,并将转换结果反馈。
进一步的,所述任务的各项配置信息,包括文件类型、目标转换类型、文件大小、来源系统及是否实时转换。
进一步的,所述计算任务权重的过程为:先收集配置因素所占权重比,再结合权重比和任务信息计算权重,并在将任务权重和任务信息放入任务池后,根据任务权重维持队列。
进一步的,所述创建新的或获取空闲的转换进程,当系统进程数未达到进程数负荷阈值,新建转换进程,并在系统初次运行时进行基准转换测试,记录转换效率;当存在空闲进程时,使用空闲进程。
进一步的,所述合适的任务为大小或复杂程度与当前进程转换效率最接近的任务,所述筛选合适的任务从系统进程的相应环境中收集转换效率的统计信息,结合转换效率的统计信息从任务池进行筛选。
进一步的,所述调整任务队列,当前任务队列的待执行转换任务的大小或复杂程度超过转换进程余量大小,或超过进程数负荷阈值,从而大幅降低其它进程整体转换效率时,将下一顺次的符合转换进程余量的任务提至当前任务队列首位。
进一步的,所述转换进程接收的转换任务,当转换任务采用文件形式传递,保存文件;当转换任务采用第三方服务器存储,调度框架将转换任务从第三方服务器上下载到本地。
进一步的,实际转换的具体实现使用WPS引擎MS Office引擎或者其他第三方转换引擎,根据各自要求运行在不同的系统中,转换引擎在统一封装下运行转换进程,转换时,框架收集转换的效率信息,保存汇总。
进一步的,所述步骤6中收集转换进程反馈的转换结果,将结果统计保存,实时反馈的任务定义立刻将文件流写回,暂存第三方的任务定义将文件写入第三方存储中,并返回路径信息或者触发MQ消息,所述MQ为消息服务,用于异步转回结果的通知。
本发明的有益效果是:本发明的调度框架算法将各种转换方法集成到框架中,可以方便替换,同时也可以组合适用,框架通过算法区分不同文件和任务的优先级别,算出特定的权重,并根据权重决定任务队列,在分配时也会结合各个转换进程的效率来智能地分配转换任务,同时能够调整任务队列,使得任务效率得到保障的同时还能充分利用系统资源。
附图说明
图1是调度框架设计图,
图2是本发明的方法过程步骤图,
图3是本发明具体执行流程图,
图4是转换实现和调度框架关系图。
具体实施方式
现在结合附图对本发明作进一步详细的说明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示的转换进程调度框架,和此框架交互的有:
FD和PLM等业务系统:负责发起文件转换,其中FD为数据库系统函数依赖,PLM为产品生命周期管理系统,发起文件转换的方式包括:
直接提交文件给文件转换服务,适合转换小量文件并期待实时返回结果的场景;
将文件存储到第三方的文件存储系统,如mino、jfs以及ftp,然后通知文件转换服务,适用于较大文件的一步转换和批量一步转换场景;
文件存储系统:负责暂存需要转换的文件;
MQ:消息服务,用于异步转回结果的通知;
接收者:负责接收文件转换请求;
调度框架:负责调度转换任务;
转换实现:通过具体转换程序完成,转换方式包括wps、openoffice和MS office,转换实现和调度框架的关系如图4所示。
如图2所示,本发明的高并发高可用异构系统的转换调度框架算法,包括以下步骤:
步骤1:获取多个转换任务并收集任务的各项配置信息,任务的各项配置信息包括文件类型、目标转换类型、文件大小、来源系统及是否实时转换;
步骤2:计算任务权重的过程为:先收集任务配置因素所占权重比,再通过权重比和任务信息计算权重,并在将任务权重和任务信息放入任务池后,根据任务权重维持队列;
转换任务包括A:a→b,B:b→c,C:c→d和D:d→e,数量各100个,根据配置信息计算得出的任务权重排成队列A,B,C和D,并按照一组5个A,3个B,2个C和1个D的比例进行转换操作,当因部分任务完成而出现空闲转换进程时,优先填补转换任务A,当前组的5个转换任务A均进入转换状态中后,按顺次填补转换任务B,依次类推;
步骤3:创建或获取空闲的转换进程,并将对应转换任务类型的算法调用到转换进程中,当系统进程数未达到进程数负荷阈值,新建转换进程,并在系统初次运行时进行基准转换测试,记录转换效率;当存在空闲进程时,使用空闲进程,筛选合适的任务,从系统进程的相应环境中收集转换效率的统计信息,结合转换效率的统计信息从任务池筛选合适任务;
步骤4:如图3所示,接收的转换任务,当转换任务以文件传递,保存文件;当以转换任务第三方存储,调度框架将文件从第三方服务上下载到本地,实际转换的具体实现使用WPS引擎MS Office引擎或者其他第三方转换引擎,根据各自要求运行在不同的系统中,转换引擎在统一封装下运行转换进程,转换时框架收集转换的效率信息保存汇总;
步骤5:根据转换进程占用比例调整初始任务权重决定的任务队列:当剩余进程对任意A均不足执行,或者选择执行A会超过进程数负荷阈值,从而大幅降低其它进程整体转换效率时,则选择进入下一位次权重任务B,若B仍无符合条件对象,则进入C,依次类推,使得进程使用效率最大化;
步骤6:收到转换进程反馈的转换结果后,将结果统计保存,实时反馈的任务定义立刻将文件流协会,暂存第三方的任务定义将文件写入第三方存储中,并返回路径信息或者触发MQ消息。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改,本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

Claims (9)

1.一种高并发高可用异构系统的转换调度框架算法,其特征在于:包括以下步骤:
步骤1:获取多个转换任务并收集多个转换任务的各项配置信息;
步骤2:确定各项配置信息的权重,结合各项配置信息的权重比计算任务权重,将任务加入任务池;
步骤3:创建新的或获取空闲的转换进程,从任务池中筛选合适的任务,并将任务传递给转换进程;
步骤4:转换进程接收转换任务,根据任务类型调用算法,运行实际转换;
步骤5:调整任务队列:根据转换进程占用比例调整初始任务权重决定的任务队列;
步骤6:收集转换进程反馈的转换结果,并将转换结果反馈。
2.根据权利要求1所述的高并发高可用异构系统的转换调度框架算法,其特征在于:所述任务的各项配置信息,包括文件类型、目标转换类型、文件大小、来源系统及是否实时转换。
3.根据权利要求1所述的高并发高可用异构系统的转换调度框架算法,其特征在于:所述计算任务权重的过程为:先收集配置因素所占权重比,再结合权重比和任务信息计算权重,并在将任务权重和任务信息放入任务池后,根据任务权重维持队列。
4.根据权利要求1所述的高并发高可用异构系统的转换调度框架算法,其特征在于:所述创建新的或获取空闲的转换进程,当系统进程数未达到进程数负荷阈值,新建转换进程,并在系统初次运行时进行基准转换测试,记录转换效率;当存在空闲进程时,使用空闲进程。
5.根据权利要求1所述的高并发高可用异构系统的转换调度框架算法,其特征在于:所述合适的任务为大小或复杂程度与当前进程转换效率最接近的任务,所述筛选合适的任务从系统进程的相应环境中收集转换效率的统计信息,结合转换效率的统计信息从任务池进行筛选。
6.根据权利要求1所述的高并发高可用异构系统的转换调度框架算法,其特征在于:所述调整任务队列,当前任务队列的待执行转换任务的大小或复杂程度超过转换进程余量大小,或超过进程数负荷阈值,从而大幅降低其它进程整体转换效率时,将下一顺次的符合转换进程余量的任务提至当前任务队列首位。
7.根据权利要求1所述的高并发高可用异构系统的转换调度框架算法,其特征在于:所述转换进程接收的转换任务,当转换任务采用文件形式传递,保存文件;当转换任务采用第三方服务器存储,调度框架将转换任务从第三方服务器上下载到本地。
8.根据权利要求1所述的高并发高可用异构系统的转换调度框架算法,其特征在于:实际转换的具体实现使用WPS引擎MS Office引擎或者其他第三方转换引擎,根据各自要求运行在不同的系统中,转换引擎在统一封装下运行转换进程,转换时,框架收集转换的效率信息,保存汇总。
9.根据权利要求1所述的高并发高可用异构系统的转换调度框架算法,其特征在于:所述步骤6中收集转换进程反馈的转换结果,将结果统计保存,实时反馈的任务定义立刻将文件流写回,暂存第三方的任务定义将文件写入第三方存储中,并返回路径信息或者触发MQ消息,所述MQ为消息服务,用于异步转回结果的通知。
CN202111140804.8A 2021-09-28 2021-09-28 高并发高可用异构系统的转换调度框架算法 Active CN113590299B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111140804.8A CN113590299B (zh) 2021-09-28 2021-09-28 高并发高可用异构系统的转换调度框架算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111140804.8A CN113590299B (zh) 2021-09-28 2021-09-28 高并发高可用异构系统的转换调度框架算法

Publications (2)

Publication Number Publication Date
CN113590299A true CN113590299A (zh) 2021-11-02
CN113590299B CN113590299B (zh) 2022-03-01

Family

ID=78242206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111140804.8A Active CN113590299B (zh) 2021-09-28 2021-09-28 高并发高可用异构系统的转换调度框架算法

Country Status (1)

Country Link
CN (1) CN113590299B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122302A (zh) * 2011-03-11 2011-07-13 北京神舟航天软件技术有限公司 文档集中处理系统及方法
CN102915254A (zh) * 2011-08-02 2013-02-06 中兴通讯股份有限公司 任务管理方法及装置
CN105488169A (zh) * 2015-11-30 2016-04-13 福建亿榕信息技术有限公司 一种多进程文件转换方法及装置
CN106776504A (zh) * 2016-12-27 2017-05-31 北京致远互联软件股份有限公司 一种文档格式在线转换方法及系统
CN106777179A (zh) * 2016-12-22 2017-05-31 金蝶软件(中国)有限公司 一种文档在线预览方法及系统
CN107085505A (zh) * 2017-04-21 2017-08-22 武汉印链科技有限公司 一种cdr文件自动处理和自动比对方法及系统
CN107679023A (zh) * 2017-09-27 2018-02-09 武汉颂大教育科技股份有限公司 一种联合采用多种转换技术的高兼容性电子文档转换方法
US10073850B2 (en) * 2014-06-12 2018-09-11 Docbyte Nv System and computer program products to transform large amounts of files
CN110582764A (zh) * 2019-07-11 2019-12-17 深圳市鹰硕技术有限公司 一种文件预览方法、装置及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122302A (zh) * 2011-03-11 2011-07-13 北京神舟航天软件技术有限公司 文档集中处理系统及方法
CN102915254A (zh) * 2011-08-02 2013-02-06 中兴通讯股份有限公司 任务管理方法及装置
US10073850B2 (en) * 2014-06-12 2018-09-11 Docbyte Nv System and computer program products to transform large amounts of files
CN105488169A (zh) * 2015-11-30 2016-04-13 福建亿榕信息技术有限公司 一种多进程文件转换方法及装置
CN106777179A (zh) * 2016-12-22 2017-05-31 金蝶软件(中国)有限公司 一种文档在线预览方法及系统
CN106776504A (zh) * 2016-12-27 2017-05-31 北京致远互联软件股份有限公司 一种文档格式在线转换方法及系统
CN107085505A (zh) * 2017-04-21 2017-08-22 武汉印链科技有限公司 一种cdr文件自动处理和自动比对方法及系统
CN107679023A (zh) * 2017-09-27 2018-02-09 武汉颂大教育科技股份有限公司 一种联合采用多种转换技术的高兼容性电子文档转换方法
CN110582764A (zh) * 2019-07-11 2019-12-17 深圳市鹰硕技术有限公司 一种文件预览方法、装置及存储介质

Also Published As

Publication number Publication date
CN113590299B (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
CN106802826B (zh) 一种基于线程池的业务处理方法及装置
CN108845878A (zh) 基于无服务器计算的大数据处理方法及装置
CN113596150B (zh) 消息推送方法、装置、计算机设备和存储介质
CN110928655A (zh) 一种任务处理方法及装置
US11321115B2 (en) Scalable and dynamic data collection and processing
CN109582446A (zh) 准实时异步批量处理系统、方法、装置和存储介质
CN113687956A (zh) 消息路由分发方法、装置、计算机设备及存储介质
CN113342551A (zh) 消息订阅机制跨区服务消息推送方法
CN114095537B (zh) 一种物联网应用中基于Netty的海量数据接入方法及系统
CN102098170B (zh) 一种数据采集优化方法及系统
CN113590299B (zh) 高并发高可用异构系统的转换调度框架算法
CN109756565A (zh) 一种基于统计表的多任务数据推送方法
CN113672335A (zh) 容器调度方法、装置、电子装置和存储介质
US11379694B2 (en) Scalable and dynamic data collection and processing
CN111625414A (zh) 一种数据转换整合软件的自动调度监控系统实现方法
CN116842090A (zh) 一种对账系统、方法、设备及存储介质
CN116346823A (zh) 一种基于消息队列的大数据异构任务调度方法及系统
CN114938376B (zh) 基于优先级处理数据的工业物联网及其控制方法
CN111064586A (zh) 一种分布式并行计费方法
CN115022402A (zh) 一种基于一栈式集成技术的agent采集方法及系统
CN115712572A (zh) 任务的测试方法、装置、存储介质及电子装置
CN115794432A (zh) 一种数据分发对接系统和方法
CN110515989B (zh) 一种基于财务数据管理平台的数据实时统计方法
CN112256418B (zh) 一种大数据任务调度方法
CN114356515A (zh) 一种数据转换任务的调度方法

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
CB03 Change of inventor or designer information

Inventor after: Zhang Dong

Inventor after: Shao Qi

Inventor after: Wu Wengang

Inventor after: Zhang Lei

Inventor before: Shao Qi

Inventor before: Wu Wengang

Inventor before: Zhang Lei

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information

Inventor after: Zhang Dong

Inventor after: Chen Wenhui

Inventor after: Shao Qi

Inventor after: Wu Wengang

Inventor after: Zhang Lei

Inventor before: Zhang Dong

Inventor before: Shao Qi

Inventor before: Wu Wengang

Inventor before: Zhang Lei

CB03 Change of inventor or designer information