CN109828834A - 批处理的方法与系统、及其计算器可读介值与电子设备 - Google Patents
批处理的方法与系统、及其计算器可读介值与电子设备 Download PDFInfo
- Publication number
- CN109828834A CN109828834A CN201811533002.1A CN201811533002A CN109828834A CN 109828834 A CN109828834 A CN 109828834A CN 201811533002 A CN201811533002 A CN 201811533002A CN 109828834 A CN109828834 A CN 109828834A
- Authority
- CN
- China
- Prior art keywords
- data
- batch processing
- lock
- processing method
- keywords
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 227
- 238000000034 method Methods 0.000 title description 28
- 238000003672 processing method Methods 0.000 claims abstract description 57
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 13
- 239000012141 concentrate Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000007639 printing Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000002860 competitive effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000008602 contraction Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种批处理方法、批处理系统、及其相关计算器可读介值与电子设备。本发明公开一种针对数据的批处理方法,其特征在于,包括:读取集中储存在共享高速缓存中的数据;检查所述数据是否与关键词列表匹配;及当所述数据与关键词列表不匹配,对所述数据执行数据锁加锁服务,所述数据锁加锁服务包括:检查所述数据是否存在数据锁;及当所述数据不存在数据锁,对所述数据设置数据锁。
Description
技术领域
本公开涉及数据处理领域,特别是涉及针对数据的批处理方法、相关系统、 相关计算器可读介质及相关电子设备。
背景技术
传统业务系统的批处理业务为单机处理,即使用一台独立的服务器或复用 应用服务器,通过定时任务启动数据处理进程,一次性批量完成数据处理。其 处理性能受服务器性能限制存在上限,且可能与应用服务器存在资源竞争问题。
为打破服务器性能瓶颈,避免资源竞争问题,出现了分布式数据批量处理 方案。分布式方案采用集中式管理,通常由一台中心管理服务器或主服务器负 责数据准备和分配,再分发给从服务器进行处理,对整个批处理执行进行调度。 在主服务器出现故障时,某一台从服务器可以主动或被动升级为主服务器,代 替原主服务器功能。但此方案实现较为复杂,运行与维护成本高。在新业务的 微服务架构和多数据源场景下,此类方案实现复杂度大幅度增加,且受主服务 器的集中式调度限制,无法实现快速弹性扩展。
发明内容
本发明的目的之一在于提供一种在微服务架构下,面向多个作为数据源的 共享高速缓存可快速弹性扩展的数据批处理方法。透过将数据统一配置于共享 高速缓存提供,各服务器独立部署,本发明实现去中心化、可弹性扩展的针对 数据的批处理方法。本发明微服务框架提供了多台应用服务器,在高业务压力 时,应用服务器可进行快速弹性扩展,在此过程中,对所配套的批处理数据模 块要求有同样的快速弹性扩展能力。
本发明一实施例公开一种数据的批处理方法,其包括读取集中储存在共享 高速缓存中的数据;检查所述数据是否与关键词列表匹配;及当所述数据与关 键词列表不匹配,对所述数据执行数据锁加锁服务;所述数据锁加锁服务包括: 检查所述数据是否存在数据锁;及当所述数据不存在数据锁,对所述数据设置 数据锁。
在本发明的一实施例中,数据批处理方法还包括在读取所述数据前,设定 阈值,并按所述阈值读取所述数据。
在本发明的一实施例中,当所述数据与关键词列表匹配,增加一个阈值跨 度的偏移量,重新读取集中储存的数据。
在本发明的一实施例中,数据批处理方法还包括对设置数据锁的所述数据 进行数据处理;及执行数据锁解锁服务,包括:进行数据处理后,校验所述数据 是否被所述数据锁锁定;及当所述数据被所述数据锁锁定时,将完成数据处理 的所述数据提交;及将所述数据锁删除。
在本发明的一实施例中,所述执行数据锁解锁服务的步骤还包括当所述数 据未被所述数据锁锁定时,放弃所述数据。
在本发明的一实施例中,数据批处理方法还包括接续所述执行数据锁解锁 服务,在删除所述数据锁后,对下一笔与关键词列表不匹配的数据执行数据锁 加锁服务。
在本发明的一实施例中,数据批处理方法还包括在读取所述数据前,设定 运行时间,并按所述运行时间实施所述数据的批处理方法。
本发明一实施例公开一种数据处理系统,其包括数据库,用于储存数据; 多个服务器,用于进行数据批处理,所述数据批处理的步骤包括;读取集中储 存在共享高速缓存中的数据;检查该数据是否与关键词列表匹配;及当所述数 据与关键词列表不匹配,对所述数据执行数据锁加锁服务;所述数据锁加锁服 务包括:检查所述数据是否存在数据锁;及当所述数据不存在数据锁,对所述数 据设置数据锁;及共享高速缓存,用于储存所述数据。
本发明一实施例公开一种计算机可读介质,其上存储有计算机程序,其特 征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的 数据批处理方法。
本发明一实施例公开一种电子设备,其包括一个或多个处理器;及存储装 置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理 器执行时,使得所述一个或多个处理器实现如权利要求1至7中任一项所述的 数据批处理方法。
附图说明
图1为本发明一实施例的针对数据的批处理方法流程图;
图2为本发明一实施例的针对数据的批处理系统示意图;
图3为本发明一实施例的针对数据的批处理方法流程图;
图4为本发明一实施例的针对数据的批处理方法示意图;及
图5为本发明针对数据的批处理方法实施例。
具体实施方式
为更好的理解本发明的精神,以下结合本发明的部分优选实施例对其作进 一步说明。
为了使本技术领域中具有通常知识者能制造并使用本发明的实施例,以下 描述是针对一个特别的应用及其条件的情况。各种针对本发明的实施例所进行 的修改方式,对本技术领域中具有通常知识者是显而易见的。而在此所定义的 一般原理,在不偏离本发明的实施例的精神与范围下,可用于其他的实施方式 和应用。因此,本发明的实施方式并不局限于已显示的实施例,而可得到与在 此所揭示内容的原理与特征相符的最宽广范围。
如本文中所使用,"批处理中心"是一种可以独立运行的应用软件,是作为一 个静态模板。当批处理中心运行时,此运行的批处理中心被称为"批处理实例"。 "批处理任务"则指批处理实例所处理的数据。
新一代核心业务系统面向互联网或各类业务场景,具有业务量并发峰值高, 数据总量大,处理时效快的特点。系统采用基于springboot的微服务架构搭建, 基于业务场景,设计了多个服务中心提供核心系统各类功能服务,直接或组合 后提供业务服务。后端搭配了mysql关系型数据和mongodb非关系型数据库, 组合提供数据服务。批处理功能可根据业务场景,集中处理数据库中的各类业 务数据。
传统核心业务系统中的批量数据处理方案,在新业务场景下实施,需要基 于新核心业务系统的架构和应用特点进行改造,适配并跟随实时业务数据处理 模块进行弹性扩展,满足高峰值,大数据量下的快速批量数据处理要求。
图1为本发明一实施例的针对数据的批处理方法100的流程图,倘若大体上 能得到相同的结果,本发明并不限定完全依照图1中的步骤顺序执行。针对数 据的批处理方法100可归纳为以下步骤。
在步骤101中,读取集中储存在共享高速缓存中的数据。
在一实施例中,所述数据是一个或多个保单,但本发明并不以此为限。在 一实施例中,在开机后,首先读取一配置表,并将所述配置表的信息内容或任 何预设的信息内容写入所述共享高速缓存。在一实施例中,按阈值读取集中储 存在共享高速缓存中的数据。须说明的是,所述阈值可以是每次每个批处理实 例可处理的最大数据量,但不限于此。在一实施例中,多数个批处理实例仅读 取集中储存在共享高速缓存中统一配置的数据,不做任何数据更新。因此,批 处理实例由过去的被动调度变成主动去获取数据,从而解决过去中心化调度的 限制问题。
在步骤102中,判断所述数据是否与关键词列表匹配,若是,则进入步骤 103;若否,则进入步骤104。
在一实施例中,所述关键词列表是缓存于所述共享高速缓存中。在一实施 例中,所述关键词是经处理的数据的关键词。在一实施例中,所述关键词列表 是保单号码列表。在一实施例中,判断述数据是否匹配是整批数据与关键词列 表比对是否匹配。在一实施例中,判断所述数据是否匹配是逐笔与关键词列表 比对是否匹配。
在步骤103中,当所述数据与所述关键词列表匹配,增加一个阈值跨度的 偏移量,并重新进行步骤204。
在一实施例中,以数据量阈值为100为例,若所述数据包含序号1至100 的数据项目,则增加一个阈值跨度的偏移量,重新自共享高速缓存获取序号为 101至200的数据项目。此时,重新获取的数据不同于前次所获取的所述数据, 且所述重新获取的数据的数据量是依据阈值大小所决定,确实达到避免重复获 取相同数据的功效。
当所述数据与关键词列表不匹配,对所述数据执行数据锁加锁服务。所述 数据锁加锁服务的步骤107包含步骤104至106。
在步骤104中,当所述数据与关键词列表不匹配,则取所述数据新一笔或 下一笔数据,并进入步骤105。
在一实施例中,步骤102至104的目的在于,透过判断所述数据是否与关键 词列表匹配,防止所述批处理方法反复读取相同数据。
在步骤105中,判断所述数据是否存在数据锁。若存在数据锁,则重回步 骤104继续处理下一笔数据,若不存在数据锁,则进入步骤106。
在一实施例中,所述数据已被设置数据锁,则在步骤105判断所述数据已 设置数据锁,重回步骤104。
在步骤106中,将所述数据设置数据锁。
根据图1所示的针对数据的批处理方法100,可取消中心化控制节点,当有 多个批处理实例时,各批处理实例可自主运行,主动去读取数据,因此能达到 弹性快速扩展,实现自主批处理实例的统一调度。
图2为本发明一实施例的数据批处理系统200示意图。需说明的是,图2 的数据处理系统可用于执行图1的数据处理方法。如图2所示,数据处理系统包 括共享高速缓存201,用于数据批处理的应用服务器202,以及数据库203。所 述共享高速缓存201包括配置表211,以及数据锁及关键词列表212,所述配置 表211包含各批处理实例的配置表,配置表211的内容可例如但不限于各批处理 实例的运行时间窗口及数据量阈值等。所述运行窗口限制指定批处理可以运行 的起止时间,所述阈值的定义与前述相同,在此不再赘述。所述应用服务器202 可包括一或多个批处理实例,例如批处理实例1(202_1)、批处理实例2(202_2), 至批处理实例n 202_n。所述数据库203可包括多一或个批处理实例,例如数据库实例1(203-1)、数据库实例2(203-2),至数据库实例n(203-n)。在一实施例中, n为正整数。在一实施例中,批处理实例1(202_1)对应数据库实例1(203-1),批 处理实例2(202_2)对应数据库实例2(203-2),依此类推。在一实施例中,批处理 实例2(202_2)对应数据库实例2(203-2)及其他数据库实例。
本发明数据处理系统200透过将配置表211、数据锁及关键词列表212存放 在共享高速缓存201中统一共享,可以提高服务能力和处理速度,并且搭配图1 实施例中的数据处理方法100,各应用服务器202独立部署批处理实例,实现去 中心化,可弹性扩展的针对数据的批处理方法100。批处理实例202-n与业务应 用包可部署在同一个服务器或容器中,实现批处理实例同步弹性扩展。
上述方案应用场景主要可分为二种:第一种为使用非关系型数据库,因为 非关系型数据库通常可以提供非常高的查询服务能力,抵消此方案中多个批处 理实例竞争式查询带来的压力;第二种为每个应用独占数据库,同样可以降低 竞争式查询的负面影响。
详言之,配置表211为静态信息,各批处理实例主动读取数据库203的数据, 但仅仅是依据统一配置的配置表211到数据库203读取数据,不做任何配置表 211或数据库203更新,实现所谓去中心化,解决中心化调度的限制问题。同时, 所述数据处理系统200仍然保留了集中式的管理功能,但由实时方式更换为异 步方式。在一实施例中,配置表211为统一配置且提供对应的配置界面,可以 实时对配置信息进行修改,各批处理实例则在下一次运行时重新获取到最新的 配置内容,按最新的配置表211内容执行。在一实施例中,各批处理实例在运 行时,不会去变更共享高速缓存201中的配置表211,配置表211可由人工适时通过接口去修改。
图3为本发明一实施例的针对数据的批处理方法300的流程图,倘若大体上 能得到相同的结果,本发明并不限定完全依照图3中的步骤顺序执行。针对数 据的批处理方法300可归纳为以下步骤。
在步骤301中,批处理流程根据定时配置启动。在一实施例中,一或多个 批处理实例根据自己的预定时刻启动批处理流程。
在一实施例中,多个批处理实例可根据各自的定时配置启动批处理流程, 并同时进行所述针对数据的批处理方法300。在一实施例中,,所述多个批处理 实例可例如但不限于图2所示的批处理实例1(202_1)、批处理实例2(202_2),至 批处理实例n(202_n)。
在步骤302中,读取配置表。
在一实施例中,所述批处理实例从如图2所示的共高速缓存201中,根据配 置表211获取运行时间窗口和数据量阈值。在一实施例中,各批处理实例会根 据同一个统一的配置表211获取运行时间窗口和数据量阈值。在一实施例中, 配置表中的信息主要包括运行时间窗口和数据量阈值。所述运行窗口限制指定 批处理可以运行的起止时间,所述阈值的定义与前述相同,在此不再赘述。所 述统一配置表的配置内容可由公式计算而得,例如可由公式计算阈值,所述公 式可例如:阈值=时间窗口秒数×批处理单实例每秒处理数量÷分批数量K,其 中分批数量K为常量,且K>1。所述常量K控制的是,在一个时间窗口内,批处理实例分批运行的次数。在一实施例中,当所述常量K的数值越大,批处理 实例检查统一配置及数据库等预加工的频率越高,相应的批处理实例消耗在启 停等非数据处理时间越多,导致批处理实例效率越低。在一实施例中,相反地, 常量K的数值越小,批处理实例检查统一配置及数据库等预加工的频率越低, 相应的批处理实例消耗在启停等非数据处理时间越少,批处理效率越高,但刷 新配置和更新数据的频率越低,使得运行中的灵活性和调整能力下降。在一实 施例中,常量K默认统一配置为3,可再根据批处理实例的特点和实际情况做 调整。
在一实施例中,某批处理实例预估运行窗口为5分钟(即300秒),每个时间窗 口期间待处理数据平均为3000笔。已知单个批处理实例处理的能力为4笔/秒, 在应用服务器上部署了4个批处理实例。根据上述参数,常量K为3,即预设 每个批处理实例在一个时间窗口内至少可以运行3次,则单个批处理实例的处 理阈值为时间窗口秒数×批处理单实例每秒处理数量÷分批数量K=400。所述 批处理实例的实际处理容量为阈值×K×批处理实例数=4800,所述批处理实例 的能力有37.5%的冗余配置。在一实施例中,在实际正常情况下,每个批处理启 动两次即可完成日常数据处理。
在步骤303中,确认当前时间是否符合运行时间窗口。若是,则进入步骤 304;若否,则进入步骤314。
在一实施例中,如果当前时间在所述运行时间窗口内,则所述批处理实例 继续执行后续步骤304;如果当前时间不在运行时间窗口内,则所述批处理实例 退出本次运行。
在步骤304中,按所述阈值读取集中储存在共享高速缓存中的数据。
在一实施例中,所述数据是一个或多个保单,但本发明并不以此为限。在 一实施例中,所述批处理实例根据数据准备规则,从数据库中获取数据,所述 数据的量不超过数据量阈值。在一实施例中,读取的数据可例如但不限于图2 所示的数据库实例1(203-1)、数据库实例2(203-2),至数据库实例n(203-n)。
在步骤305中,判断所述数据是否与关键词列表匹配,若是,则进入步骤 306;若否,则进入步骤307。
在一实施例中,所述关键词列表是储存在如图2所示的共享高速缓存201。
在步骤306中,当所述数据与所述关键词列表匹配,增加一个阈值跨度的 偏移量并重新进行步骤304。
在一实施例中,批处理方法300还定期更新储存在共享高速缓存201中的关 键词列表,并重复步骤304至306,直至全部数据处理完毕。
当所述数据与关键词列表不匹配,对所述数据执行数据锁加锁服务。所述 数据锁加锁服务的步骤315包含步骤307及308,且大致与前述图1的批处理方 法100的数据锁加锁服务的步骤107相同。
在步骤307中,当所述数据与关键词列表不匹配,则取新一笔或下一笔待 处理数据,并进入步骤308。
在一实施例中,步骤304至306的目的在于,透过判断所述数据是否与关键 词列表匹配,防止所述批处理方法反复读取相同数据。
在步骤308中,判对是否对所述数据设置数据锁。若所述数据已设置数据 锁,则不需设置数据锁,重回步骤307,若所述数据未设置数据锁,则对所述数 据设置数据锁,并进入步骤309。
在一实施例中,取单笔待处理数据,判断是否设置此笔数据对应的数据锁。
在一实施例中,当所述针对数据的批处理方法300同时进行多个批处理实 例,所述多个批处理实例可例如但不限于图2所示的批处理实例1(202_1)、批处 理实例2(202_2),至批处理实例n(202_n),各批处理实例可具有不同的优先级, 优先级较高的批处理实例可以对已经设置数据锁的数据重复设置数据锁。
在步骤309中,对在步骤308设置数据锁成功的所述数据进行数据处理。
在一实施例中,根据批处理应用逻辑,对设置数据锁成功的单笔待处理数 据进行数据处理,所述数据处理包括待处理数据读取标志的更新。在一实施例 中,步骤309仅完成数据处理,但暂不将处理完成的数据提交到数据库。
在一实施例中,若多个批处理实例对同一笔数据前后重复设置数据锁,则 所述批处理实例都会对所述数据进行数据处理。
所述批处理方法300在对设置数据锁的所述数据进行数据处理的后,执行 数据锁解锁服务。所述数据锁解锁服务包括步骤310至312。
在步骤310中,校验数据锁。当所述数据被步骤308设置的所述数据锁锁定 时,进入步骤311。当所述数据未被步骤308设置的所述数据锁锁定时,重回步 骤307。
在一实施例中,步骤310校验所述数据锁是否属于所述批处理实例。在一 实施例中,当存在多个批处理实例,可例如但不限于如图2所示的批处理实例1(202_1)、批处理实例2(202_2),至批处理实例n(202_n),且各批处理实例具有 不同的优先级,优先级较高的批处理实例可直接覆盖优先级较低的批处理实例 的数据锁。
在有多个批处理实例且各批处理实例可具有不同优先级的情况下,步骤310 需校验所述数据锁是否由步骤308所设置,若有数据锁变更,或者所述处理数 据对象出现异常等状况,都会造成数据锁校验失败。在一实施例中,步骤310 校验所述数据在数据处理完成后的数据锁不是为步骤308所设置的数据锁,则 校验失败,放弃经处理的所述数据,重回步骤307继续处理下一笔数据。
在步骤311中,提交数据至数据库203。
在一实施例中,当所述数据被步骤308设置的所述数据锁锁定时,将经步 骤309完成数据处理的所述数据提交。
在步骤312中,删除数据锁。
在一实施例中,删除步骤308设置的所述数据锁。在一实施例中,所述批 处理实例在删除所述数据锁后,对下一笔与关键词列表不匹配的数据进行步骤 307至313,执行数据锁设置、校验及解锁服务。在一实施例中,所述解锁是将 所述数据锁删除。
在步骤313中,检查是否完成全部数据,若是,进入步骤314,若否,重回 步骤307继续处理下一笔数据。
在一实施例中,所述数据库中的全部数据可以由多个批处理实例完成处理。 所述多个批处理实例可例如但不限于如图2所示的批处理实例1(202_1)、批处理 实例2(202_2),至批处理实例n(202_n)。
在步骤314中,结束所述批处理方法。
通过图2所示的数据处理系统200以及图1及图3所示的批处理方法100、 300,可以实现基于微服务架构的批处理快速弹性扩展。其中配置表的内容可以 根据管理便利性选择集中存储共享模式。可选的,如果配置表的内容比较固定, 也可以选择单机模式,即存储在每个批处理中心中,各个批处理中心除共享的 数据锁外,无其他数据交互。
图4为本发明一实施例的批处理中心的系统示意图。图4显示本发明批处理 方法100、300,当存在多个批处理实例时,各批处理实例间的关系。在一实施 例中,,图4可用于说明图1或图3的所示的数据批处理方法能实现快速弹性扩 展、收缩删除与集中解锁。如图4所示,批处理中心400包括批处理实例1至3(401_1、401_2、401_3),各批处理实例401_1、401_2、401_3皆受共享高速缓 存402配置,并自数据库403交付或提取数据,而数据库403可以将数据提供给 商务应用404及商务服务405,也可自商务应用404及商务服务405获得数据。
在一实施例中,各批处理实例401_1、401_2、401_3间可弹性扩展、收缩 删除与集中解锁。在一实施例中,,批处理实例1(401_1)可镜像扩展出批处理实 例2(401_2),批处理实例2(401_2)可镜像扩展出批处理实例3(401_3)。相对的, 批处理实例3(401_3)可收缩删除及集中解锁,留下批处理实例2(401_2)及批处理 实例1(401_1),批处理实例2(401_2)可收缩删除及集中解锁,留下批处理实例 1(401_1)。
在扩展过程中,不论是共享配置还是单机配置模式,由于本发明批处理中 心400的设计可实现自主运行,无中心控制节点,不需要修改配置表,即可以 上线参与批处理应用的数据作业。所述批处理中心400在扩展时仅需克隆复制 即可,即以镜像模式快速创建新的批处理实例。扩展后,批处理实例经启动后 即自动参与当前批处理任务。新的批处理实例由于步骤308设置数据锁时会和 运行中的批处理实例重叠,而会回到步骤307取下一笔待处理数据。本发明透 过数据锁的控制,处理性能的增长是一个渐变的线性过程,且当配置的数据量 阈值越小,增长的过程越快。
同理,本发明批处理中心400在收缩删除时,也不用像传统批处理中心一 样考虑复杂的数据处理问题。所述批处理实例不论是在步骤308设置数据锁失 败或在步骤310校验数据锁失败,对于未提交的数据,直接放弃即可,然后会 在共享高速缓存402中执行一次批量解锁操作,将被删除的批处理实例锁定的 数据进行集中释放,其他批处理实例将会自动重新拾取被释放的数据并完成数 据处理。在一实施例中,采用的是虚拟机镜像复制半自动扩展。
图5为本发明针对数据的批处理方法实施例,说明由图4所示批处理中心 400的数据处理场景A至E。在一实施例中,图5所示的流程是依序发生
图5的场景A要说明的情况是,当所述批处理中心400仅有一个批处理实 例1,则所述批处理中心400的对于待处理数据1的处理场景依序为:批处理实 例1读取待处理数据1,批处理实例1处理待处理数据1,以及批处理实例1提 交待处理数据1。
图5的场景B要说明的情况是,所述批处理中心400有批处理实例1及新 扩展的批处理实例2,批处理实例1读取并处理待处理数据2,新扩展的批处理 实例2重复读取待处理数据2。在此情况下,所述批处理中心400的处理场景为: 批处理实例1读取待处理数据2,批处理实例1处理待处理数据2,以及批处理 实例1提交待处理数据2;以及,批处理实例2读取待处理数据2,批处理实例2 判断待处理数据2已被锁,以及批处理实例2放弃待处理数据2。
图5的场景C要说明的情况是,所述批处理中心400有批处理实例1及优 先级较高的批处理实例2,批处理实例1先读取待处理数据3,新扩展的批处理 实例2重复读取待处理数据3并抢占处理。在此情况下,所述批处理中心400 的处理场景为:批处理实例1读取处理数据3,批处理实例1判断待处理数据3 已被锁,批处理实例1放弃处理数据3;以及,批处理实例2读取处理数据3,批 处理实例2处理处理数据3,以及批处理实例2提交处理数据3。
图5的场景D要说明的情况是,当所述批处理中心400有批处理实例1及 新扩展的批处理实例2,待处理数据4由新扩展的批处理实例2完成处理。批处 理实例1并未介入处理待处理数据4。在此情况下,所述批处理中心400的处理 场景为:批处理实例2读取待处理数据4,批处理实例2处理待处理数据4,以及 批处理实例2提交待处理数据4。
图5的场景E要说明的情况是,当所述批处理中心400有批处理实例1及新 收缩的批处理实例2,待处理数据4被新收缩的批处理实例2放弃,由批处理实 例1完成数据处理。在此情况下,如图5所示,所述批处理中心400的处理场景 为:批处理实例2读取待处理数据4,批处理实例2放弃待处理数据4,及批处理 实例2解除数据锁;以及,批处理实例1读取待处理数据4,批处理实例1处理待 处理数据4,以及批处理实例1提交待处理数据4。
在一实施例中,前述图5的场景A至E的所述批处理实例1及所述批处理 实例2可以如图1所示的批处理方法100或图3所示的批处理方法300进行数据 的批处理。
在一实施例中,所述针对数据的批处理方法可用于新契约客户数据更新。 新一代核心需要对接已有的统一客户管理系统,每张保单的投保过程中,为了 降低投保处理时间消耗,除客户信息是与客户管理系统实时交互外,客户与客 户关系,客户与保单关系均是通过所述针对数据的批处理方法异步推送给统一 客户管理系统。在一实施例中,,每个新契约服务器均部署了一个客户数据更 新批处理实例,配置运行窗口为24小时运行,阈值为200,每个批处理实例10 秒启动一次,实现数据准实时推送。批处理实例从新契约中心的Mysql关系型 数据库获取数据,以保单号为关键字设置数据锁,处理成功的结果推送到统一 客户管理系统提供的消息队列中。在一实施例中,所述针对数据的批处理方法 100、300可用于保单打印。在保单签发处理完成后,由所述针对数据的批处理 方法异步推送保单数据至打印平台完成纸质和电子化保单打印。打印批处理配 置运行窗口为24小时运行,阈值为1500,每个批处理实例1分钟启动一次,实 现打印数据的准实时推送。批处理实例从保单中心的Mongodb非关系型数据库 获取数据,以保单号为关键字设置数据锁,处理成功的结果推送到打印平台提 供的消息队列中。
以下介绍本发明的装置实施例,可用于执行本发明前述的批处理方法100、 300。
在一实施例中,本发明数据批处理系统可用于执行图1及图3的批处理方法 100、300。批处理系统包含数据库,用于储存数据,以及包含多个服务器,用 于进行如图1及图3的批处理方法100、300,及共享高速缓存,用于储存所述 关键词列表及所述数据锁。在一实施例中,数据库用于储存保单信息。
在一实施例中,本发明计算机可读介质,其上存储有计算机程序,所述计 算机程序可被处理器执行如图1及图3的批处理方法100、300。在一实施例中, 如上所述的接口处理方法方法和计算机程序可以代码和/或数据加以实施,其可 存储在非暂时性计算机可读取存储媒介中。当计算机(或处理器)读取并执行存储 的代码和/或数据时,计算机执行具体化为数据结构和代码且存储在媒介中的方 法和程序,进而实现软件测试用例质量评分方法和计算机程序。
需要说明的是,所述计算机可读介质可以是计算机可读存储介质。所述计 算机可读存储介质可例如但不限于电、磁、光、电磁、红外线、或半导体的系 统、装置或器件,或上述的任意组合。所述计算机可读存储介质的更具体的例 子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬 盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器 (EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、 磁存储器件、或上述的任意组合。在一实施例中,所述计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者 器件使用或者与其结合使用。在一实施例中,所述计算机可读介质可以发送、 传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程 序。在一实施例中,所述计算机可读介质上包含的程序代码可以用任何适当的 介质传输,包括但不限于:无线、电线、光缆、RF等等,或上述的任意组合。
此外,所描述的方法和程序可以包含在硬件模块中。例如,所述硬件模块, 可包括但不限于,特定应用集成电路(ASIC)芯片、可程序逻辑门阵列(FPGA)、 以及其它现在已知的或以后开发的可程序化逻辑设备。当所述硬件模块被启动 时,所述硬件模块执行内含于所述硬件模块中的方法和程序。
在一实施例中,本发明电子设备包括一个或多个处理器及存储装置。存储 装置存储一个或多个数据处理程序,当一个或多个数据处理程序被一个或多个 处理器执行时,执行一个或多个数据批处理方法。
本发明针对数据的批处理方法解决了微服务模式多中心架构下的批处理部 署问题。通过去中心化控制节点,部署自主批处理实例的方法,可以实现单批 处理实例到多批处理实例的灵活部署选择,支持高业务压力下的快速弹性扩展。 可以复用已有的开源批处理组件构建批处理实例,降低实施成本,提高了代码 复用度,降低项目资源消耗,加快项目建设速度。
本发明的技术内容及技术特点已揭示如上,然而熟悉本领域的技术人员仍 可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰。因此, 本发明的保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明 的替换及修饰,并为本专利申请权利要求书所涵盖。
Claims (10)
1.一种针对数据的批处理方法,其特征在于,包括:
读取集中储存在共享高速缓存中的数据;
检查所述数据是否与关键词列表匹配;及
当所述数据与关键词列表不匹配,对所述数据执行数据锁加锁服务,所述数据锁加锁服务包括:
检查所述数据是否存在数据锁;及
当所述数据不存在数据锁,对所述数据设置数据锁。
2.根据权利要求1所述的批处理方法,其特征在于,还包括:
在读取所述数据前,设定批处理量的阈值,并按所述阈值读取所述数据。
3.根据权利要求1-2任意一项所述的批处理方法,其特征在于:
当所述数据与关键词列表匹配,增加一个阈值跨度的偏移量,重新读取集中储存在共享高速缓存中的数据。
4.根据权利要求1所述的批处理方法,其特征在于,还包括:
对设置数据锁的所述数据进行数据处理及执行数据锁解锁服务,包括:
进行数据处理后,校验所述数据是否被所述数据锁锁定;及
当所述数据被所述数据锁锁定时,将完成数据处理的所述数据提交;及
将所述数据锁删除。
5.根据权利要求4所述的批处理方法,其特征在于:
所述执行数据锁解锁服务还包括:当所述数据未被所述数据锁锁定时,放弃所述数据。
6.根据权利要求4所述的批处理方法,其特征在于,还包括:
接续所述执行数据锁解锁服务,在删除所述数据锁后,对下一条与关键词列表不匹配的数据执行数据锁加锁服务。
7.根据权利要求1所述的批处理方法,其特征在于,还包括:
在读取所述数据前,设定运行时间,并按所述运行时间实施所述数据的批处理方法。
8.一种针对数据的批处理系统,其特征在于,包括:
数据库,用于储存数据;
多个服务器,用于进行数据批处理,所述数据批处理包括;
读取集中储存在共享高速缓存中的数据;
检查所述数据是否与关键词列表匹配;及
当所述数据与关键词列表不匹配,对所述数据执行数据锁加锁服务;
所述数据锁加锁服务包括:
检查所述数据是否存在数据锁;及
当所述数据不存在数据锁,对所述数据设置数据锁;及
共享高速缓存,用于储存所述关键词列表及所述数据锁。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的针对数据的批处理方法。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;及
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至7中任一项所述的针对数据的批处理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811533002.1A CN109828834A (zh) | 2018-12-14 | 2018-12-14 | 批处理的方法与系统、及其计算器可读介值与电子设备 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811533002.1A CN109828834A (zh) | 2018-12-14 | 2018-12-14 | 批处理的方法与系统、及其计算器可读介值与电子设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN109828834A true CN109828834A (zh) | 2019-05-31 |
Family
ID=66859629
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201811533002.1A Pending CN109828834A (zh) | 2018-12-14 | 2018-12-14 | 批处理的方法与系统、及其计算器可读介值与电子设备 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN109828834A (zh) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1527536A (zh) * | 2003-03-03 | 2004-09-08 | 华为技术有限公司 | 一种电信网管系统中对被管对象加锁的方法 |
| CN1588865A (zh) * | 2004-09-03 | 2005-03-02 | 杭州恒生电子股份有限公司 | 关联数据批处理的方法 |
| US20080215817A1 (en) * | 2007-02-21 | 2008-09-04 | Kabushiki Kaisha Toshiba | Memory management system and image processing apparatus |
| CN103020151A (zh) * | 2012-11-22 | 2013-04-03 | 用友软件股份有限公司 | 大数据量批处理系统和大数据量批处理方法 |
| CN104199869A (zh) * | 2014-08-18 | 2014-12-10 | 中国建设银行股份有限公司 | 一种业务批处理方法、业务服务器以及系统 |
| CN106790442A (zh) * | 2016-12-06 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种防止表单重复提交的处理方法 |
-
2018
- 2018-12-14 CN CN201811533002.1A patent/CN109828834A/zh active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1527536A (zh) * | 2003-03-03 | 2004-09-08 | 华为技术有限公司 | 一种电信网管系统中对被管对象加锁的方法 |
| CN1588865A (zh) * | 2004-09-03 | 2005-03-02 | 杭州恒生电子股份有限公司 | 关联数据批处理的方法 |
| US20080215817A1 (en) * | 2007-02-21 | 2008-09-04 | Kabushiki Kaisha Toshiba | Memory management system and image processing apparatus |
| CN103020151A (zh) * | 2012-11-22 | 2013-04-03 | 用友软件股份有限公司 | 大数据量批处理系统和大数据量批处理方法 |
| CN104199869A (zh) * | 2014-08-18 | 2014-12-10 | 中国建设银行股份有限公司 | 一种业务批处理方法、业务服务器以及系统 |
| CN106790442A (zh) * | 2016-12-06 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种防止表单重复提交的处理方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN107239335B (zh) | 分布式系统的作业调度系统及方法 | |
| CN105701159B (zh) | 一种数据同步装置和方法 | |
| US20170134526A1 (en) | Seamless cluster servicing | |
| CN112598525A (zh) | 一种智能合约分簇并行的区块链实现方法及装置 | |
| US11641312B2 (en) | Consolidating manufacturing intelligence event queue items | |
| CN107679822A (zh) | Erp系统中订单状态自动更新方法、存储介质和计算机设备 | |
| CN111324630B (zh) | 基于mpi的神经网络架构搜索并行化方法和设备 | |
| CN110134505A (zh) | 一种集群系统的分布式计算方法、系统及介质 | |
| US10387454B2 (en) | Method for creating efficient application on heterogeneous big data processing platform | |
| CN116820717A (zh) | 一种微服务架构下分布式任务调度系统及实现方法 | |
| CN109189431A (zh) | 一种客户端升级方法、装置、设备及可读存储介质 | |
| CN113377503A (zh) | 一种协作式ai的任务调度方法、装置与系统 | |
| CN104468722A (zh) | 一种航管训练系统中训练数据分类存储的方法 | |
| CN110162532A (zh) | 交易数据处理方法和设备 | |
| WO2015124668A1 (en) | Tree-structure storage method for managing computation offloading data | |
| CN105703941B (zh) | 配置事务的处理方法及装置 | |
| CN110134533B (zh) | 一种可批量调度数据的系统及方法 | |
| CN120031699B (zh) | 一种航班串节点序列确定方法 | |
| CN109828834A (zh) | 批处理的方法与系统、及其计算器可读介值与电子设备 | |
| CN111209332B (zh) | 一种基于自制序列化算法的数据库同步方法 | |
| CN110442434A (zh) | 一种任务调度方法、装置、存储介质和服务器 | |
| CN115688906A (zh) | 一种面向超参训练的数据自动编排加载方法和系统 | |
| CN113379061A (zh) | 一种协作式ai的模型训练方法、装置与系统 | |
| CN112506991A (zh) | 并行处理的方法、系统、电子装置和存储介质 | |
| CN115460077B (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 | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190531 |
|
| RJ01 | Rejection of invention patent application after publication |