本发明专利技术涉及一种数据处理技术,揭露了一种数据分发方法,该方法包括:通过定时任务调度平台启动数据处理任务;查询所述数据处理任务所处理的数据对应的所有机构信息;根据所述机构信息将所述数据处理任务按机构进行划分,生成多个子任务;将所述多个子任务发送至消息队列,从而分发到不同客户端进行并发处理;接收并记录各个客户端对所述多个子任务的处理结果。本发明专利技术还提供一种服务器及计算机可读存储介质。本发明专利技术提供的数据分发方法、服务器及计算机可读存储介质能够按机构将数据处理任务进行合理的划分,分发至不同的客户端并发处理,提高资源利用率和处理效率。
Data distribution method, server and computer readable storage medium
【技术实现步骤摘要】
数据分发方法、服务器及计算机可读存储介质
本专利技术涉及数据处理
,尤其涉及一种数据分发方法、服务器及计算机可读存储介质。
技术介绍
传统的数据库例如oracle,可以通过存储过程进行大量数据的计算与加工,但是会产生复杂、冗余、繁琐的代码,并且后期维护难度较大,同时对人员的技能要求较高,这容易造成无法及时响应业务需求、无法达到快速迭代的目标实现。并且,数据库是串行程序,无法对大量数据进行并发处理,导致资源利用率低、耗时久。另外,数据库服务经过数十年的使用验证,在数据可靠性、事务等方面比较出众,但是高昂的费用使得一般中小企业无法持续使用。目前业界会使用微服务架构结合数据库存储来进行数据处理。对于微服务架构来说,数据分发能力是代表架构能否高可用、服务能否横向扩展的重要衡量指标,如何进行数据分发是目前微服务架构领域需要考虑的重要内容。
技术实现思路
有鉴于此,本专利技术提出一种数据分发方法、服务器及计算机可读存储介质,以解决至少一个上述技术问题。首先,为实现上述目的,本专利技术提出一种数据分发方法,该方法包括步骤:通过定时任务调度平台启动数据处理任务;查询所述数据处理任务所处理的数据对应的所有机构信息;根据所述机构信息将所述数据处理任务按机构进行划分,生成多个子任务;将所述多个子任务发送至消息队列,从而分发到不同客户端进行并发处理;及接收并记录各个客户端对所述多个子任务的处理结果。可选地,该方法还包括步骤:监控所述消息队列的处理进度,当所述消息队列中有消息在客户端的执行出现问题时,针对出现问题的消息对应的单个子任务进行实时调整优化。可选地,该方法还包括步骤:监控已注册的客户端数量,根据所述客户端数量调整所述消息队列的大小。可选地,该方法还包括步骤:记录所述消息队列中每条消息的消费轨迹,作为每个机构数据处理的历史记录,以供后续进行回溯或优化分析。可选地,所述根据所述机构信息将所述数据处理任务按机构进行划分,生成多个子任务的步骤包括:根据所述机构信息将每个机构对应的数据划分为一个子任务。可选地,当所述数据处理任务对应的机构分为多个层次时,按最低层次的机构划分所述数据处理任务。可选地,所述将所述多个子任务发送至消息队列,从而分发到不同客户端进行并发处理的步骤包括:将各个子任务分别作为一个消息,发送至所述消息队列,供客户端集群从所述消息队列上拉取消息进行消费,从而处理所述消息对应的子任务。可选地,所述当所述消息队列中有消息在客户端的执行出现问题时,针对出现问题的消息对应的单个子任务进行实时调整优化的步骤包括:重新将出现问题的子任务发送至所述消息队列,生成新的消息,从而分发到其他未出现问题的客户端进行处理。此外,为实现上述目的,本专利技术还提供一种服务器,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的数据分发系统,所述数据分发系统被所述处理器执行时实现如上述的数据分发方法的步骤。进一步地,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有数据分发系统,所述数据分发系统可被至少一个处理器执行,以使所述至少一个处理器执行如上述的数据分发方法的步骤。相较于现有技术,本专利技术所提出的数据分发方法、服务器及计算机可读存储介质,可以根据所述数据处理任务所需处理的数据所涉及到的机构信息,按机构将所述数据处理任务进行合理的划分,通过MQ消息队列分发至不同的客户端并发处理,充分利用微服务的多实例优势,多台机器并行处理数据,大大减少因串行导致资源利用率低、耗时久的问题,快速响应业务需求。附图说明图1是本专利技术服务器一可选的硬件架构的示意图;图2是本专利技术数据分发系统第一实施例的程序模块示意图;图3是本专利技术数据分发系统第二实施例的程序模块示意图;图4是本专利技术数据分发系统第三实施例的程序模块示意图;图5是本专利技术数据分发方法第一实施例的流程示意图;图6是本专利技术数据分发方法第二实施例的流程示意图;图7是本专利技术数据分发方法第三实施例的流程示意图;本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,在本专利技术中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本专利技术要求的保护范围之内。参阅图1所示,是本专利技术服务器2一可选的硬件架构的示意图。本实施例中,所述服务器2可包括,但不仅限于,可通过系统总线相互通信连接存储器11、处理器12、网络接口13。需要指出的是,图1仅示出了具有组件11-13的服务器2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,所述服务器2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备,该服务器2可以是独立的服务器,也可以是多个服务器所组成的服务器集群。所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述服务器2的内部存储单元,例如该服务器2的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述服务器2的外部存储设备,例如该服务器2上配备的插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器11还可以既包括所述服务器2的内部存储单元也包括其外部存储设备。本实施例中,所述存储器11通常用于存储安装于所述服务器2的操作系统和各类应用软件,例如数据分发系统200的程序代码等。此外,所述存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。所述处理器12在一些实施例中可以是中央处理器(CentralProcessingUnit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述服务器2的总本文档来自技高网...
【技术保护点】
1.一种数据分发方法,其特征在于,所述方法包括步骤:/n通过定时任务调度平台启动数据处理任务;/n查询所述数据处理任务所处理的数据对应的所有机构信息;/n根据所述机构信息将所述数据处理任务按机构进行划分,生成多个子任务;/n将所述多个子任务发送至消息队列,从而分发到不同客户端进行并发处理;及/n接收并记录各个客户端对所述多个子任务的处理结果。/n
【技术特征摘要】
1.一种数据分发方法,其特征在于,所述方法包括步骤:
通过定时任务调度平台启动数据处理任务;
查询所述数据处理任务所处理的数据对应的所有机构信息;
根据所述机构信息将所述数据处理任务按机构进行划分,生成多个子任务;
将所述多个子任务发送至消息队列,从而分发到不同客户端进行并发处理;及
接收并记录各个客户端对所述多个子任务的处理结果。
2.如权利要求1所述的数据分发方法,其特征在于,该方法还包括步骤:
监控所述消息队列的处理进度,当所述消息队列中有消息在客户端的执行出现问题时,针对出现问题的消息对应的单个子任务进行实时调整优化。
3.如权利要求2所述的数据分发方法,其特征在于,该方法还包括步骤:
监控已注册的客户端数量,根据所述客户端数量调整所述消息队列的大小。
4.如权利要求1-3任一项所述的数据分发方法,其特征在于,该方法还包括步骤:
记录所述消息队列中每条消息的消费轨迹,作为每个机构数据处理的历史记录,以供后续进行回溯或优化分析。
5.如权利要求1所述的数据分发方法,其特征在于,所述根据所述机构信息将所述数据处理任务按机构进行划分,生成多个子任务的步骤包括:
根据所述机构信息将每个机构对应的数据划分为一个子任务。<...
【专利技术属性】
技术研发人员:任练,
申请(专利权)人:中国平安人寿保险股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。