一种批量文件智能联机处理方法、装置及可存储介质与流程
未命名
07-26
阅读:108
评论:0
1.本发明涉及任务分配技术领域,具体涉及一种批量文件智能联机处理方法、装置及可存储介质。
背景技术:
2.随着科技与全球经济的发展,我国银行业近年呈业务量暴增、业务种类繁多等特点。激增的业务量对系统的交易处理能力有着严格的要求。因此,越来越多的银行业务倾向于用批量处理的方式处理弱实时性要求的业务。同时,银行推出的各类业务,在对应的报表、账务等方面的处理均需要大量批量任务的支撑。目前关于批量处理任务联机处理的普遍做法为:接受文件;定时触发批量任务;对文件进行拆分;定量分发分片到空闲节点进行联机交易处理;合并结果文件。
3.基于当前场景与现有方案,目前的批量任务转联机交易处理存在如下问题:
4.1、各节点对分片任务的处理能力不同,无法结合节点的实际能力调整联机任务在各节点的分配情况;
5.2、无法避免不同批量任务间各分片在不同节点的热点数据访问问题,使得交易处理时间延长。
技术实现要素:
6.本发明的目的是:提供了一种批量文件智能联机处理方法、装置及可存储介质,以克服现有技术中,无法结合节点的实际能力调整联机任务在各节点的分配情况的缺陷。
7.第一方面:一种批量文件智能联机处理方法,所述方法包括:
8.接收业务系统下发的批量文件;
9.根据预先配置的拆分规则对所述批量文件进行拆分,以得到若干分片文件;
10.获取各处理节点的资源占有数据,以此进行节点分类,识别出节点类型;所述节点类型包括被标记的高能耗节点和未标记为高能耗的节点;
11.根据所述资源占有数据进行各节点的任务量计算;
12.根据计算结果对若干分片文件进行任务派发;
13.按批量任务的配置规则由各节点处理分片文件。
14.通过获取各处理节点的资源占有数据,以此进行节点分类,针对性地得出各节点的任务量;从而克服了现有技术中,无法结合节点的实际能力调整联机任务在各节点分配情况的问题。
15.作为本技术一种可选的实施方式,所述进行任务量计算具体包括:
16.对于未标记为高能耗的节点,查询最近一次分发给各节点的分片数量,并计为mi;
17.将mi*a作为高能耗节点本次分片任务的派发量;其中,a为第一分配系数,a的取值范围为0<a<1;
18.对未标记为高能耗的节点,将mi*b作为本次分片任务的派发量;其中,b为第二分
配系数,b的取值范围为b>a。
19.作为本技术一种可选的实施方式,派发时,取消对高能耗节点的标记,优先选取可被高效处理的高效率分片,避开选取包含热点数据的分片。
20.作为本技术一种可选的实施方式,所述进行任务派发具体包括:
21.各节点从待下发分片文件中,查询各节点所具有的高效率分片;其中,所述高效率分片为本节点已经加载过数据关键字段的分片文件;
22.如果各节点所具有的高效率分片小于对应的派发量,则继续选取其他分片,但需避开选取包含热点数据的分片;
23.将选取好的分片下发到对应的节点中。
24.作为本技术一种可选的实施方式,所述方法还包括:
25.当节点开始进行分片任务的处理后,查看是否还存在未分发的分片文件;若存在,则返回至节点分类步骤进行再次执行。
26.第二方面:一种批量文件智能联机处理装置,所述装置包括:
27.接收模块,用于接收业务系统下发的批量文件;
28.拆分模块,用于根据预先配置的拆分规则对所述批量文件进行拆分,以得到若干分片文件;
29.标记模块,用于获取各处理节点的资源占有数据,以此进行节点分类,识别出节点类型;所述节点类型包括被标记的高能耗节点和未标记为高能耗的节点;
30.计算模块,用于根据所述资源占有数据进行各节点的任务量计算;
31.派发模块,用于:
32.根据计算结果对若干分片文件进行任务派发;
33.按批量任务的配置规则由各节点处理分片文件。
34.作为本技术一种可选的实施方式,所述进行任务量计算具体包括:
35.对于未标记为高能耗的节点,查询最近一次分发给各节点的分片数量,并计为mi;
36.将mi*a作为高能耗节点本次分片任务的派发量;其中,a为第一分配系数,a的取值范围为0<a<1;
37.对未标记为高能耗的节点,将mi*b作为本次分片任务的派发量;其中,b为第二分配系数,b的取值范围为b>a。
38.作为本技术一种可选的实施方式,派发时,取消对高能耗节点的标记,优先选取可被高效处理的高效率分片,避开选取包含热点数据的分片。
39.作为本技术一种可选的实施方式,所述进行任务派发具体包括:
40.各节点从待下发分片文件中,查询各节点所具有的高效率分片;其中,所述高效率分片为本节点已经加载过数据关键字段的分片文件;
41.如果各节点所具有的高效率分片小于对应的派发量,则继续选取其他分片,但需避开选取包含热点数据的分片;
42.将选取好的分片下发到对应的节点中。
43.第三方面:一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如第一方面所述的方法。
44.采用上述技术方案,具有以下优点:本发明提出的一种批量文件智能联机处理方法、装置及可存储介质,通过获取各处理节点的资源占有数据,以此进行节点分类,识别出当前批量的高能耗节点并进行标记,以此针对性地得出各节点的任务量,选取可被高效处理的高效率分片,避开选取包含热点数据的分片,以提升批量任务的处理速度;解决了分布式微服务框架下,节点资源利用不充分、不合理所导致的批量任务处理时间长、故障多等问题;从而克服了现有技术中,无法结合节点的实际能力调整联机任务在各节点的分配情况和热点数据的访问问题。
附图说明
45.图1是本发明实施例所提供的一种批量文件智能联机处理方法的流程图;
46.图2是本发明实施例所提供的一种批量文件智能联机处理方法的方案架构图;
47.图3是本发明实施例所提供的一种任务派发量计算的流程图;
48.图4是本发明实施例所提供的一种任务派发的流程图;
49.图5是本发明实施例所提供的一种批量文件智能联机处理装置的结构示意图。
具体实施方式
50.下面将详细描述本发明的具体实施例,应当注意,这里描述的实施例只用于举例说明,并不用于限制本发明。在以下描述中,为了提供对本发明的透彻理解,阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本发明。在其他实例中,为了避免混淆本发明,未具体描述公知的软件或方法。
51.在整个说明书中,对“一个实施例”、“实施例”、“一个示例”或“示例”的提及意味着:结合该实施例或示例描述的特定特征、结构或特性被包含在本发明至少一个实施例中。因此,在整个说明书的各个地方出现的短语“在一个实施例中”、“在实施例中”、“一个示例”或“示例”不一定都指同一实施例或示例。此外,可以以任何适当的组合和、或子组合将特定的特征、结构或特性组合在一个或多个实施例或示例中。此外,本领域普通技术人员应当理解,在此提供的示图都是为了说明的目的,并且示图不一定是按比例绘制的。
52.下面结合附图,对本发明作详细的说明。
53.参考图1至图4所示,本实施例提供了一种批量文件智能联机处理方法,所述方法包括:
54.s101,接收业务系统下发的批量文件;即图2中的接受文件。
55.具体地,所述批量文件为对应的报表、账务等方面的文件数据。
56.s102,根据预先配置的拆分规则对所述批量文件进行拆分,以得到若干分片文件;即图2中的文件切片。
57.具体地,所述拆分规则可以按数据量、具体字段、其他业务规则等对整体批量文件进行拆分。
58.s103,获取各处理节点的资源占有数据,以此进行节点分类,识别出节点类型;所述节点类型包括被标记的高能耗节点和未标记为高能耗的节点,得出当前批量的高能耗节点;即图2中的检测节点运行参数。
59.具体地,使用集群监控工具对各节点的资源占有状况进行实时监控,并记录;所监
控的资源至少包括内存、cpu、磁盘和load;识别出当前批量的高能耗节点,旨在通过检测当前所有节点的运行参数后,将集群中执行本次批量任务的,cpu占有率较高的节点筛选出来。
60.实施时,所述识别出当前批量的高能耗节点为所述资源占有数据超过设定阈值的全部节点,且过滤掉已经被标记为高能耗的节点;本实施例中,cpu占有率大于80%的标记为高能耗节点;
61.还有小于50%的资源未完全利用节点,介于80%到50%间的最佳资源利用节点,上述两种范围的节点,即为未标记为高能耗的节点;
62.再将三类节点信息分别存入对应文件。
63.s104,根据所述资源占有数据进行各节点的任务量计算。
64.即,根据阶段当前的资源状况计算可承载的分片数量;
65.所述进行任务量计算具体包括:
66.对于未标记为高能耗的节点,查询最近一次分发给各节点的分片数量,并计为mi;
67.将mi*a作为高能耗节点本次分片任务的派发量;其中,a为第一分配系数,a的取值范围为0<a<1;
68.对未标记为高能耗的节点,将mi*b作为本次分片任务的派发量;其中,b为第二分配系数,b的取值范围为b>a。
69.本实施例中,参照附图所示的举例,是针对cpu占有率小于50%的文件中所记录的全部节点,查询各自节点最近一次所接受的本批量任务的分片数mi;
70.令mi*70%作为其中的高能耗节点本次分片任务派发量;即,定义处理能力cap=mi*70%;即,a的取值为0.7;
71.对未标记为高能耗的节点,分片数量上调为mi*110%;即,b的取值为1.1。
72.s105,根据计算结果对若干分片文件进行任务派发。
73.具体地,派发时,取消对高能耗节点的标记,优先选取可被高效处理的高效率分片,避开选取包含热点数据的分片;
74.参照附图所示,所述进行任务派发具体包括:
75.各节点从待下发分片文件中,查询各节点所具有的高效率分片,记数量为amount;其中,所述高效率分片为本节点已经加载过数据关键字段的分片文件;
76.如果各节点所具有的高效率分片小于对应的派发量(这里的派发量,即对应节点的处理能力),则继续选取其他分片,但需避开选取包含热点数据的分片;即,选取其他分片中的关键字段值需避免与其他节点已经加载过的值重合;
77.将选取好的分片下发到对应的节点中。
78.在具体实施时,任务派发还基于如下关系进行判断:
79.不包含热点数据的分片>cap-amount;
80.若是,则下发任务为:高效率分片+(cap-amount)个不包含热点数据的分片;
81.若否,则下发任务为:高效率分片+所有不包含热点数据的分片;并记录下发的实际分片数。
82.需要说明的是,所述的“待下发分片文件”或“待分发分片”指批量文件被拆分后所形成的若干分片中文件中还未被执行过的分片;
83.所述的“可被高效处理的高效率分片”,指当前节点会存在一些已经加载过得数据或者正在处理的数据,当分片中的关键字段包含上述数据时,认为该分片是可以被当前节点高效处理的;
84.所述的“关键字段”指做批量任务逻辑处理时需要被修改或进行其他操作的关键字段;
85.所述的“包含热点数据的分片”指,要求分片一定选取不包含其他节点正在访问的热点数据的分片;其中,所述的“其他节点正在访问的热点数据的分片”指,当前批量任务的某些待分发的分片中存在某些字段正在被其他节点所处理的某个分片任务所访问时,则认为这些待分发分片为包含热点数据的分片。
86.s106,按批量任务的配置规则由各节点处理分片文件。
87.具体地,由于每一个类型的文件对应的任务都是通过规则配置出来的;比如:配置a类型的文件跑结息任务,b类型的文件跑总账处理任务,文件拆分为小文件给到节点,节点就按这个文件类型对应配置的任务去运行任务。
88.进一步地,应用时,所述方法还包括:
89.当节点开始进行分片任务的处理后,查看是否还存在未分发的分片文件;若存在,则返回至节点分类步骤(即图1中的s103)进行再次执行。
90.上述方案,通过获取各处理节点的资源占有数据,以此进行节点分类,识别出当前批量的高能耗节点并进行标记,以此针对性地得出各节点的任务量,选取可被高效处理的高效率分片,避开选取包含热点数据的分片,以提升批量任务的处理速度;解决了分布式微服务框架下,节点资源利用不充分、不合理所导致的批量任务处理时间长、故障多等问题;从而克服了现有技术中,无法结合节点的实际能力调整联机任务在各节点的分配情况和热点数据的访问问题。
91.参照图5所示,本发明实施例还公开了一种批量文件智能联机处理装置,所述装置包括:
92.接收模块,用于接收业务系统下发的批量文件;
93.拆分模块,用于根据预先配置的拆分规则对所述批量文件进行拆分,以得到若干分片文件;所述拆分规则包括按数据量、具体字段和业务规则对整体批量文件进行拆分;
94.标记模块,用于获取各处理节点的资源占有数据,以此进行节点分类,识别出节点类型;所述节点类型包括被标记的高能耗节点和未标记为高能耗的节点;
95.计算模块,用于根据所述资源占有数据进行各节点的任务量计算;
96.派发模块,用于:
97.根据计算结果对若干分片文件进行任务派发;
98.按批量任务的配置规则由各节点处理分片文件。
99.其中,所述进行任务量计算具体包括:
100.对于未标记为高能耗的节点,查询最近一次分发给各节点的分片数量,并计为mi;
101.将mi*a作为高能耗节点本次分片任务的派发量;其中,a为第一分配系数,a的取值范围为0<a<1;
102.对未标记为高能耗的节点,将mi*b作为本次分片任务的派发量;其中,b为第二分配系数,b的取值范围为b>a。
103.进一步地,派发时,取消对高能耗节点的标记,优先选取可被高效处理的高效率分片,避开选取包含热点数据的分片。
104.所述进行任务派发具体包括:
105.各节点从待下发分片文件中,查询各节点所具有的高效率分片;其中,所述高效率分片为本节点已经加载过数据关键字段的分片文件;
106.如果各节点所具有的高效率分片小于对应的派发量,则继续选取其他分片,但需避开选取包含热点数据的分片;即,选取其他分片中的关键字段值需避免与其他节点已经加载过的值重合;
107.将选取好的分片下发到对应的节点中。
108.需要说明的是,本发明实施例所提供的装置实施例为简要描述,实施例部分未提及之处及详细的描述,可参考前述方法实施例中相关的文字内容。
109.整个方案识别出当前批量的高能耗节点并进行标记,以此针对性地得出各节点的任务量,各节点选取可被高效处理的高效率分片,避开选取包含热点数据的分片,以提升批量任务的处理速度;解决了分布式微服务框架下,节点资源利用不充分、不合理所导致的批量任务处理时间长、故障多等问题;从而克服了现有技术中,无法结合节点的实际能力调整联机任务在各节点的分配情况和热点数据的访问问题。
110.本发明实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如前文所述的方法。
111.在本发明实施例中,所称处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
112.其中,所述计算机程序的代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
113.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
114.在本技术所提供的实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连
接,也可以是电的,机械的或其它的形式连接。
115.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
116.所述集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
117.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种批量文件智能联机处理方法,其特征在于,所述方法包括:接收业务系统下发的批量文件;根据预先配置的拆分规则对所述批量文件进行拆分,以得到若干分片文件;获取各处理节点的资源占有数据,以此进行节点分类,识别出节点类型;所述节点类型包括被标记的高能耗节点和未标记为高能耗的节点;根据所述资源占有数据进行各节点的任务量计算;根据计算结果对若干分片文件进行任务派发;按批量任务的配置规则由各节点处理分片文件。2.根据权利要求1所述的一种批量文件智能联机处理方法,其特征在于,所述进行任务量计算具体包括:对于未标记为高能耗的节点,查询最近一次分发给各节点的分片数量,并计为mi;将mi*a作为高能耗节点本次分片任务的派发量;其中,a为第一分配系数,a的取值范围为0<a<1;对未标记为高能耗的节点,将mi*b作为本次分片任务的派发量;其中,b为第二分配系数,b的取值范围为b>a。3.根据权利要求2所述的一种批量文件智能联机处理方法,其特征在于,派发时,取消对高能耗节点的标记,优先选取可被高效处理的高效率分片,避开选取包含热点数据的分片。4.根据权利要求3所述的一种批量文件智能联机处理方法,其特征在于,所述进行任务派发具体包括:各节点从待下发分片文件中,查询各节点所具有的高效率分片;其中,所述高效率分片为本节点已经加载过数据关键字段的分片文件;如果各节点所具有的高效率分片小于对应的派发量,则继续选取其他分片,但需避开选取包含热点数据的分片;将选取好的分片下发到对应的节点中。5.根据权利要求4所述的一种批量文件智能联机处理方法,其特征在于,所述方法还包括:当节点开始进行分片任务的处理后,查看是否还存在未分发的分片文件;若存在,则返回至节点分类步骤进行再次执行。6.一种批量文件智能联机处理装置,其特征在于,所述装置包括:接收模块,用于接收业务系统下发的批量文件;拆分模块,用于根据预先配置的拆分规则对所述批量文件进行拆分,以得到若干分片文件;标记模块,用于获取各处理节点的资源占有数据,以此进行节点分类,识别出节点类型;所述节点类型包括被标记的高能耗节点和未标记为高能耗的节点;计算模块,用于根据所述资源占有数据进行各节点的任务量计算;派发模块,用于:根据计算结果对若干分片文件进行任务派发;按批量任务的配置规则由各节点处理分片文件。
7.根据权利要求6所述的一种批量文件智能联机处理装置,其特征在于,所述进行任务量计算具体包括:对于未标记为高能耗的节点,查询最近一次分发给各节点的分片数量,并计为mi;将mi*a作为高能耗节点本次分片任务的派发量;其中,a为第一分配系数,a的取值范围为0<a<1;对未标记为高能耗的节点,将mi*b作为本次分片任务的派发量;其中,b为第二分配系数,b的取值范围为b>a。8.根据权利要求7所述的一种批量文件智能联机处理装置,其特征在于,派发时,取消对高能耗节点的标记,优先选取可被高效处理的高效率分片,避开选取包含热点数据的分片。9.根据权利要求8所述的一种批量文件智能联机处理装置,其特征在于,所述进行任务派发具体包括:各节点从待下发分片文件中,查询各节点所具有的高效率分片;其中,所述高效率分片为本节点已经加载过数据关键字段的分片文件;如果各节点所具有的高效率分片小于对应的派发量,则继续选取其他分片,但需避开选取包含热点数据的分片;将选取好的分片下发到对应的节点中。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至5任一项所述的方法。
技术总结
本发明实施例公开了一种批量文件智能联机处理方法、装置及可存储介质,所述方法包括:接收业务系统下发的批量文件;根据预先配置的拆分规则对所述批量文件进行拆分,以得到若干分片文件;获取各处理节点的资源占有数据,以此进行节点分类,识别出节点类型;根据所述资源占有数据进行各节点的任务量计算;根据计算结果对若干分片文件进行任务派发;按批量任务的配置规则由各节点处理分片文件;其有益效果是:克服了现有技术中,无法结合节点的实际能力调整联机任务在各节点分配情况的问题。力调整联机任务在各节点分配情况的问题。力调整联机任务在各节点分配情况的问题。
技术研发人员:张俊 邢星 刘金华 刘子煌 单晓晨
受保护的技术使用者:维恩贝特科技有限公司
技术研发日:2023.04.19
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
