【技术实现步骤摘要】
基于优先级调度的文件服务方法和系统
[0001]本专利技术实施例涉及文件服务
,尤其涉及一种基于优先级调度的文件服务方法和系统。
技术介绍
[0002]生产环境下的大部分业务系统都能够提供文件导出服务,将用户需要的业务数据导出为文件。
[0003]现有技术中,文件导出功能集成于业务系统内部,业务系统直接调用内部功能来实现文件导出,使业务系统(尤其是核心业务系统)面临着诸多问题,比如导出时间过长,导出数据过多,占据过多内存,从而导致业务系统发生OOM(OutOfMemory,内存溢出)异常等。
技术实现思路
[0004]本专利技术实施例提供一种基于优先级调度的文件服务方法和系统,将文件服务于业务系统隔离并引入文件优先级,减少对业务系统的影响,提高导出效率的同时兼顾优先级。
[0005]第一方面,本专利技术实施例提供了一种基于优先级调度的文件服务方法,包括:
[0006]动态获取业务系统的文件导出任务,并存储于优先级队列中;
[0007]对所述优先级队列周期性执行以下操作,直 ...
【技术保护点】
【技术特征摘要】
1.一种基于优先级调度的文件服务方法,其特征在于,包括:动态获取业务系统的文件导出任务,并存储于优先级队列中;对所述优先级队列周期性执行以下操作,直到所述优先级队列中的任务均执行完毕:S1、提取当前优先级队列中优先级最高的任务;S2、判断线程池中是否存在空闲线程;S3、如果存在,为所述优先级最高的任务分配空闲线程并执行;如果不存在,将已用线程中优先级更低的任务暂停并存入所述优先级队列,将所述已用线程重新分配给所述优先级最高的任务并执行。2.根据权利要求1所述的方法,其特征在于,所述动态获取业务系统的文件导出任务,并存储于优先级队列中,包括:响应于业务系统的文件导出请求,根据所述业务系统和功能模块新增文件导出任务;将所述文件导出任务的标识和优先级,存储于优先级队列中。3.根据权利要求2所述的方法,其特征在于,所述响应于业务系统的文件导出请求,根据所述业务系统和功能模块新增文件导出任务,包括:从业务系统的文件导出请求中提取全局唯一标识,所述全局唯一标识表征发起请求的业务系统功能模块;将所述全局唯一标识作为任务标识,新增文件导出任务。4.根据权利要求3所述的方法,其特征在于,在所述从业务系统的文件导出请求中提取全局唯一标识之前,还包括:以业务系统的功能模块为最小单元,定义各业务系统功能模块的全局唯一标识;根据业务评估,确定各业务系统功能模块的、文件导出任务的优先级;将所述全局唯一标识和优先级存储于Apollo配置中心,完成各业务系统功能模块的文件服务接入。5.根据权利要求1所述的方法,其特征在于,所述提取当前优先级队列中优先级最高的任务,包括:根据Apollo配置中心,动态更新所述优先级队列中各任务的优先级;从更新后的优先级队列中,提取优先级最高的任务。6.根据权利要求5所述的方法,其特征在于,所述任务优先级以权重表示;所述根据Apollo配置中心,动态更新所述优先级队列中各任务的优先级,包括:根据所述优先级队列中...
【专利技术属性】
技术研发人员:刘建华,姚鹏飞,周志祥,
申请(专利权)人:叮当快药科技集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。