CN111447255A - 基于分布式的数据分发方法、电子装置及存储介质 - Google Patents
基于分布式的数据分发方法、电子装置及存储介质 Download PDFInfo
- Publication number
- CN111447255A CN111447255A CN202010141100.1A CN202010141100A CN111447255A CN 111447255 A CN111447255 A CN 111447255A CN 202010141100 A CN202010141100 A CN 202010141100A CN 111447255 A CN111447255 A CN 111447255A
- Authority
- CN
- China
- Prior art keywords
- service node
- service
- data
- distributed
- level
- 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
- 238000009826 distribution Methods 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 title claims abstract description 45
- 229920006395 saturated elastomer Polymers 0.000 claims description 12
- 238000012545 processing Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000012423 maintenance Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000009827 uniform distribution Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于分布式的数据分发方法、电子装置以及存储介质,该方法包括:接收上一级服务节点分发的第一业务数据;其中,上一级服务节点为待分发的服务节点或者后台服务器;当上一级服务节点为后台服务器时,则根据预设的每页执行的业务数据量及第一业务数据的数据量,以获得需分发至下一级服务节点的页数,以将第一业务数据根据所需分发的页数将第二业务数据分发至下一级服务节点;当上一级服务节点为待分发的服务节点时,则对第一业务数据按预设规则进行均匀切片后,分发至下一级服务节点。本发明通过至少二级服务节点将业务数据均匀分发至下一级服务节点,保障数据均匀分散在不同服务节点,避免了单个节点负荷高缓解了服务器并发的压力。
Description
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种基于分布式的数据分发方法、电子装置及计算机可读存储介质。
背景技术
目前,随着业务越来越复杂,特别是随着微服务架构和容器技术的兴起,现有的财务核算系统对系统架构的设计、性能优化和服务器并发要求越来越高,已明显无法满足公司日益增长的业务变化及数据规模。
其中,随着日益增长的业务规模,随之产生海量数据,但是,由于现有的财务核算系统的架构陈旧,使其扩展性差,无法支持横向扩展,当面对海量数据时,容易形成性能瓶颈,特别是数据处理服务器以及存储服务器成为系统性能的主要瓶颈,这样单机单线程的数据分发方式,在面对海量数据处理效率较低。
发明内容
本发明提供一种基于分布式的数据分发方法、装置及计算机可读存储介质,其主要目的在于解决单个设备负荷高,缓解了存储服务器并发的压力,提高数据接收的可靠性。
为实现上述目的,本发明提供一种基于分布式的数据分发方法,包括:
接收上一级服务节点分发的第一业务数据;其中,所述上一级服务节点为待分发的服务节点或者后台服务器;
当所述上一级服务节点为后台服务器时,则根据预设的每页执行的业务数据量以及第一业务数据的数据量,以获得需分发至下一级服务节点的页数,以将第一业务数据根据所需分发的页数将第二业务数据分发至下一级服务节点;
当所述上一级服务节点为待分发的服务节点时,则对所述第一业务数据按预设规则进行均匀切片后,分发至下一级服务节点。
可选地,当所述上一级服务节点为后台服务器时,则所述第一业务数据为后台服务器根据业务类型对待处理业务数据进行分组后获得;
当所述上一级服务节点为后台服务器时,还包括:
将第二业务数据发送至下一级服务节点,以使得下一级服务节点对第二业务数据按预设规则进行均匀切片,并分发至再下一级服务节点。
可选地,若判断当前的接收的业务数据的数据量超出自身的负载,则排队等候或者延时接收所述上一级服务节点分发的业务数据;
若判断当前服务节点自身奔溃,则停止接收所述上一级服务节点的下发的业务数据。
可选地,当所述上一级服务节点为待分发的服务节点时,则对所述第一业务数据按预设规则进行均匀切片后,分发至下一级服务节点器,具体为:
当所述上一级服务节点为待分发的服务节点时,则根据预设时间范围对所述第一业务数据进行均匀切片处理,并分发至下一级服务节点。
可选地,还包括:
判断当前服务节点是否空闲;
当判断所述当前服务节点空闲时,则优先分配空闲服务节点接收所述上一级服务节点分发的业务数据;
当判断所述当前服务节点不空闲时,则继续判断当前服务节点的内存或者CPU利用率是否饱和;
当判断当前服务节点的内存或者CPU利用率饱和时,则排队等候;
当判断当前服务节点的内存或者CPU利用率不饱和时,则接收所述上一级服务节点下发的业务数据。
本发明还提供了一种电子装置,包括:
接收上一级服务节点分发的第一业务数据;其中,所述上一级服务节点为待分发的服务节点或者后台服务器;
当所述上一级服务节点为后台服务器时,则根据预设的每页执行的业务数据量以及第一业务数据的数据量,以获得需分发至下一级服务节点的页数,以将第一业务数据根据所需分发的页数将第二业务数据分发至下一级服务节点;
当所述上一级服务节点为待分发的服务节点时,则对所述第一业务数据按预设规则进行均匀切片后,分发至下一级服务节点。
可选地,当所述上一级服务节点为后台服务器时,则所述第一业务数据为后台服务器根据业务类型对待处理业务数据进行分组后获得;
当所述上一级服务节点为后台服务器时,还包括:
将第二业务数据发送至下一级服务节点,以使得下一级服务节点对第二业务数据按预设规则进行均匀切片,并分发至再下一级服务节点。
可选地,若判断当前的接收的业务数据的数据量超出自身的负载,则排队等候或者延时接收所述上一级服务节点分发的业务数据;
若判断当前服务节点自身奔溃,则停止接收所述上一级服务节点的下发的业务数据。
可选地,当所述上一级服务节点为待分发的服务节点时,则对所述第一业务数据按预设规则进行均匀切片后,分发至下一级服务节点器,具体为:
当所述上一级服务节点为待分发的服务节点时,则根据预设时间范围对所述第一业务数据进行均匀切片处理,并分发至下一级服务节点。
还包括:
判断当前服务节点是否空闲;
当判断所述当前服务节点空闲时,则优先分配空闲服务节点接收所述上一级服务节点分发的业务数据;
当判断所述当前服务节点不空闲时,则继续判断当前服务节点的内存或者CPU利用率是否饱和;
当判断当前服务节点的内存或者CPU利用率饱和时,则排队等候;
当判断当前服务节点的内存或者CPU利用率不饱和时,则接收所述上一级服务节点下发的业务数据。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于分布式的数据分发程序,所述基于分布式的数据分发程序可被一个或者多个处理器执行,以实现上述的基于分布式的数据分发方法的步骤。
本发明提供的基于分布式的数据分发方法、电子装置及计算机可读存储介质,当前级服务节点将接收到后台服务器(即所述服务节点至少包括二级服务节点)的发送的第一业务数据根据预设的每页执行的业务数据量以及第一业务数据的数据量,计算得到所需分发的页数将第二业务数据分发至下一级服务节点,或者当前级服务节点将接收到上一级服务节点(待分发业务的业务数据即服务节点至少包括三级服务节点)的发送的第一业务数据按预设规则进行均匀切片后,分发至下一级服务节点,这种通过至少二级服务节点将业务数据均匀分发至下一级服务点的方式,保障数据均匀分散在不同服务节点,避免了单个节点负荷高,同时逐级向下分发业务数据至下一级服务节点,减少了服务节点的并发压力,提高数据处理速度,另外不同层级的服务节点均匀分方式不同,能够降低不同服务节点处理不同类型事务时的逻辑复杂程度,增加了并行率和服务节点利用率,以最大发挥分布式的性能。
附图说明
图1为本发明一实施例提供的基于分布式的数据分发方法的流程示意图。
图2为本发明一实施例提供的电子装置的内部结构示意图。
图3为本发明一实施例提供的电子装置中基于分布式的数据分发程序的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于分布式的数据分发方法。参照图1所示,为本发明一实施例提供的基于分布式的数据分发方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现,本实施例中,所述装置为智能终端。
在本实施例中,所述基于分布式的数据分发方法包括:
S101,接收上一级服务节点分发的第一业务数据;其中,所述上一级服务节点为待分发的服务节点或者后台服务器。
S102,当所述上一级服务节点为后台服务器时,则根据预设的每页执行的业务数据量以及第一业务数据的数据量,以获得需分发至下一级服务节点的页数,以将第一业务数据根据所需分发的页数将第二业务数据分发至下一级服务节点。
S103,当所述上一级服务节点为待分发的服务节点时,则对所述第一业务数据按预设规则进行均匀切片后,分发至下一级服务节点。
在本实施例中,后台服务器以及多级服务节点组成一数据分发的电子装置,用于将待分发的业务数据形成分布式数据分发及存储方式,将业务数据均匀分发,减少了服务节点的并发压力,提高数据处理速度;其中,所述多级服务节点包括至少二级服务节点;每级服务节点包括至少一个服务节点,所述当前层级的服务节点可接收多台上一级服务节点分发的业务数据,并传递给下一级服务节点进行存储或者分发。所述后台服务器,用于获取的业务数据,所述业务数据的类型包括如用户数据、行为数据、商品数据等。
在本实施例中,当所述上一级服务节点为后台服务器时,在其中一种方式中,所述多级服务节点包括两级服务节点时,则当前级服务节点根据预设的每页执行的业务数据量以及第一业务数据的数据量,以获得需分发至下一级服务节点的页数,以将第一业务数据根据所需分发的页数将第二业务数据分发至下一级服务节点。例如,预设的每页执行的业务数据量为1万,已查询出的总数量是10万,则根据设置好每页执行的数量1万和已查询出的总数量10万,算出需要分发至下一级服务节点的的页数为10页。然后,当前级服务节点根据上述算出的页数,将业务数据分发到下一级服务节点中,即下一级服务节点能接收到均分的10页的业务数据量。在另一种实施方式中,所述多级服务节点包括三级服务节点时,则当前级服务节点根据预设的每页执行的业务数据量以及第一业务数据的数据量,以获得需分发至下一级服务节点的页数,以将第一业务数据根据所需分发的页数将第二业务数据分发至下一级服务节点,则下一级服务节点将第二业务数据发送至下一级服务节点,以使得下一级服务节点对第二业务数据按预设规则进行均匀切片,并分发至再下一级服务节点,当然,可以理解的是,当所述多级服务节点为四级服务节点或者四级服务节点以上时,则第四级服务节点依然是根据预设规则对第四级服务节点的业务数据进行均匀切片,并分发至下一级服务节点,在此,本发明不再赘述。
其中,需要说明的是,当所述上一级服务节点为待分发的服务节点时,则当前级服务节点对所述第一业务数据的分发方式,也是按预设规则进行均匀切片后,分发至下一级服务节点,在此,本发明不再赘述。
其中,所述第一业务数据为后台服务器根据业务类型对待处理业务数据进行分组后获得。例如,所述后台服务器获取的待分发的业务数据的业务类型包括用户数据、行为数据、商品数据等,则当前级服务节点可根据业务类型接收对应的业务数据。
需要说明的是,所述预设规则为当前级服务节点可根据自己的场景设置的预设规则,例如根据预设时间范围对所述第二业务数据进行均匀切片处理,并分发至下一级服务节点等,例如将预设时间范围内为1个月内时间的需要处理的业务数据进行均匀切片到每天,就切成了30份,可同时并发把这30 份分发到下一级的不同服务节点上执行,大大增加了并行率和服务节点利用率这样能最大发挥分布式的性能。
当然,为了做到均匀的分发需要通过如下两点机制去保障,第1:每页处理的数据量是一样的,这样才能确保每个服务节点处理的量是一样的。第2:根据当前服务节点闲置情况分配,优先分配到当前服务节点空闲的执行,若都不空闲则根据服务节点的cpu、内存等利用率进行判定,若当前服务节点都是执行饱和的则排队等待,待执行完后再执行,避免个台当前服务节点数据量巨大形成单节点瓶颈导致down机。具体地,判断当前服务节点是否空闲;当判断所述当前服务节点空闲时,则优先分配空闲服务节点接收所述上一级服务节点分发的业务数据;当判断所述当前服务节点不空闲时,则继续判断当前服务节点的内存或者CPU利用率是否饱和;当判断当前服务节点的内存或者CPU利用率饱和时,则排队等候;当判断当前服务节点的内存或者CPU 利用率不饱和时,则接收所述上一级服务节点下发的业务数据。
在本实施例中,当所述上一级服务节点为待分发的服务节点时,则对所述第一业务数据按预设规则进行均匀切片后,分发至下一级服务节点。
在本实施例中,若判断当前的接收的业务数据的数据量超出自身的负载,则排队等候或者延时接收所述上一级服务节点分发的业务数据;若判断当前服务节点自身奔溃,则停止接收所述上一级服务节点的下发的业务数据。具体地,数据分发过程中,任何一级的服务节点产生大负载时,负载分流机制会自动将此大负载控制在当前服务节点中,避免影响到下一级服务节点。负载分流的方式有二种:1、当判断所述数据量超出自身负载时,负载分流机制将通过缓存机制,在底层形成缓存队列,控制数据延时分发。2、当服务节点当前自身崩溃时,该服务节点的数据不执行数据分发指令,以免因某一级的服务节点的故障而影响下一级服务节点。
在本实施例中,为了在自身服务节点发生故障时,能够及时通知运维人员及时检修,以减少损失,服务节点每间隔一段时间则发送一次心跳,以通过定时心跳机制检测不同服务节点的故障,并在预设时间内未收到对应服务节点反馈的故障信息,则判断所述服务节点故障,并通知运维人员及时检修。
综上,通过至少二级服务节点将业务数据均匀分发,保障数据均匀分散在不同服务节点,避免了单个节点负荷高,同时由所述电子装置逐级向下分发业务数据至下一级服务节点,形成分布式数据分发及存储方式,减少了服务节点的并发压力,提高数据处理速度,另外不同层级的服务节点均匀分方式不同,提高了数据可靠性。
在上述实施例的基础上,本发明一优选实施例中,所述服务节点内部设有寻址装置,所述业务数据在底层形成缓存队列,每个服务节点通过局域网或通信运营商网络将缓存队列中的业务数据根据网络地址向下一级服务节点逐一分发业务数据,最后由一个服务节点将业务数据分发至下一级服务节点。当然,需要说明的是,缓存队列的最大特性是确保业务员数据分发到下一个级服务节点时,避免数据量大或服务节点执行的指令太多而造成数据丢失。通过网络将缓存队列中的业务数据根据所述网络地址逐一分发到下一级设备,当前级服务节点通过寻址模块将业务数据下发指令能够准确、实时地发送给下一级服务节点,并通过多次数据交互方式确保业务数据全部到达下一级服务节点中,且到达的次数仅为一次,要求当前级服务节点一旦接收到数据下发指令,将优先执行数据下发工作。实现的流程如下:接收所述上一服务节点根据所述网络地址下发的数据指令;其中,所述上一级服务节点为上一级的数据分发服务节点或者后台服务器。将所述数据指令通过多次数据交互方式逐一下发到下一级服务节点;其中,一旦当前级服务节点接收到所述数据指令优先执行所述数据下发工作。
本发明还提供一种电子装置1。参照图2所示,为本发明一实施例提供的电子装置的内部结构示意图。
在本实施例中,电子装置1可以是电脑、智能终端或服务器。所述电子装置1至少包括存储器11、处理器13,通信总线15以及网络接口17。在本实施例中,所述电子装置1为智能终端。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是电子装置的内部存储单元,例如所述电子装置的硬盘。存储器11在另一些实施例中也可以是电子装置的外部存储设备,例如电子装置上配备的插接式硬盘,智能存储卡 (Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。进一步地,存储器11还可以既包括电子装置的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于电子装置1的应用软件及各类数据,例如基于分布式的数据分发程序111的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器13在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据。
通信总线15用于实现这些组件之间的连接通信。
网络接口17可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在电子装置1与其他电子设备之间建立通信连接。
可选地,电子装置1还可以包括用户接口,用户接口可以包括显示器 (Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED 显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子装置中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11~17的电子装置1,本领域技术人员可以理解的是,图2示出的结构并不构成对电子装置的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的电子装置1的实施例中,存储器11中存储有基于分布式的数据分发程序111;处理器13执行存储器11中存储的基于分布式的数据分发程序111时实现如下步骤:
S101,接收上一级服务节点分发的第一业务数据;其中,所述上一级服务节点为待分发的服务节点或者后台服务器。
S102,当所述上一级服务节点为后台服务器时,则根据预设的每页执行的业务数据量以及第一业务数据的数据量,以获得需分发至下一级服务节点的页数,以将第一业务数据根据所需分发的页数将第二业务数据分发至下一级服务节点。
S103,当所述上一级服务节点为待分发的服务节点时,则对所述第一业务数据按预设规则进行均匀切片后,分发至下一级服务节点。
在本实施例中,后台服务器以及多级服务节点组成一数据分发的电子装置,用于将待分发的业务数据形成分布式数据分发及存储方式,将业务数据均匀分发,减少了服务节点的并发压力,提高数据处理速度;其中,所述多级服务节点包括至少二级服务节点;每级服务节点包括至少一个服务节点,所述当前层级的服务节点可接收多台上一级服务节点分发的业务数据,并传递给下一级服务节点进行存储或者分发。所述后台服务器,用于获取的业务数据,所述业务数据的类型包括如用户数据、行为数据、商品数据等。
参见图2,在本实施例中,当所述上一级服务节点为后台服务器时,在其中一种方式中,所述多级服务节点包括两级服务节点时,则当前级服务节点根据预设的每页执行的业务数据量以及第一业务数据的数据量,以获得需分发至下一级服务节点的页数,以将第一业务数据根据所需分发的页数将第二业务数据分发至下一级服务节点。例如,预设的每页执行的业务数据量为1 万,已查询出的总数量是10万,则根据设置好每页执行的数量1万和已查询出的总数量10万,算出需要分发至下一级服务节点的的页数为10页。然后,当前级服务节点根据上述算出的页数,将业务数据分发到下一级服务节点中,即下一级服务节点能接收到均分的10页的业务数据量。在另一种实施方式中,所述多级服务节点包括三级服务节点时,则当前级服务节点根据预设的每页执行的业务数据量以及第一业务数据的数据量,以获得需分发至下一级服务节点的页数,以将第一业务数据根据所需分发的页数将第二业务数据分发至下一级服务节点,则下一级服务节点将第二业务数据发送至下一级服务节点,以使得下一级服务节点对第二业务数据按预设规则进行均匀切片,并分发至再下一级服务节点,当然,可以理解的是,当所述多级服务节点为四级服务节点或者四级服务节点以上时,则第四级服务节点依然是根据预设规则对第四级服务节点的业务数据进行均匀切片,并分发至下一级服务节点,在此,本发明不再赘述。
其中,需要说明的是,当所述上一级服务节点为待分发的服务节点时,则当前级服务节点对所述第一业务数据的分发方式,也是按预设规则进行均匀切片后,分发至下一级服务节点,在此,本发明不再赘述。
其中,所述第一业务数据为后台服务器根据业务类型对待处理业务数据进行分组后获得。例如,所述后台服务器获取的待分发的业务数据的业务类型包括用户数据、行为数据、商品数据等,则当前级服务节点可根据业务类型接收对应的业务数据。
需要说明的是,所述预设规则为当前级服务节点可根据自己的场景设置的预设规则,例如根据预设时间范围对所述第二业务数据进行均匀切片处理,并分发至下一级服务节点等,例如将预设时间范围内为1个月内时间的需要处理的业务数据进行均匀切片到每天,就切成了30份,可同时并发把这30 份分发到下一级的不同服务节点上执行,大大增加了并行率和服务节点利用率这样能最大发挥分布式的性能。
当然,为了做到均匀的分发需要通过如下两点机制去保障,第1:每页处理的数据量是一样的,这样才能确保每个服务节点处理的量是一样的。第2:根据当前服务节点闲置情况分配,优先分配到当前服务节点空闲的执行,若都不空闲则根据服务节点的cpu、内存等利用率进行判定,若当前服务节点都是执行饱和的则排队等待,待执行完后再执行,避免个台当前服务节点数据量巨大形成单节点瓶颈导致down机。具体地,判断当前服务节点是否空闲;当判断所述当前服务节点空闲时,则优先分配空闲服务节点接收所述上一级服务节点分发的业务数据;当判断所述当前服务节点不空闲时,则继续判断当前服务节点的内存或者CPU利用率是否饱和;当判断当前服务节点的内存或者CPU利用率饱和时,则排队等候;当判断当前服务节点的内存或者CPU 利用率不饱和时,则接收所述上一级服务节点下发的业务数据。
在本实施例中,当所述上一级服务节点为待分发的服务节点时,则对所述第一业务数据按预设规则进行均匀切片后,分发至下一级服务节点。
在本实施例中,若判断当前的接收的业务数据的数据量超出自身的负载,则排队等候或者延时接收所述上一级服务节点分发的业务数据;若判断当前服务节点自身奔溃,则停止接收所述上一级服务节点的下发的业务数据。具体地,数据分发过程中,任何一级的服务节点产生大负载时,负载分流机制会自动将此大负载控制在当前服务节点中,避免影响到下一级服务节点。负载分流的方式有二种:1、当判断所述数据量超出自身负载时,负载分流机制将通过缓存机制,在底层形成缓存队列,控制数据延时分发。2、当服务节点当前自身崩溃时,该服务节点的数据不执行数据分发指令,以免因某一级的服务节点的故障而影响下一级服务节点。
在本实施例中,为了在自身服务节点发生故障时,能够及时通知运维人员及时检修,以减少损失,服务节点每间隔一段时间则发送一次心跳,以通过定时心跳机制检测不同服务节点的故障,并在预设时间内未收到对应服务节点反馈的故障信息,则判断所述服务节点故障,并通知运维人员及时检修。
综上,通过至少二级服务节点将业务数据均匀分发,保障数据均匀分散在不同服务节点,避免了单个节点负荷高,同时由所述电子装置逐级向下分发业务数据至下一级服务节点,形成分布式数据分发及存储方式,减少了服务节点的并发压力,提高数据处理速度,另外不同层级的服务节点均匀分方式不同,提高了数据可靠性。
在上述实施例的基础上,本发明一优选实施例中,所述服务节点内部设有寻址装置,所述业务数据在底层形成缓存队列,每个服务节点通过局域网或通信运营商网络将缓存队列中的业务数据根据网络地址向下一级服务节点逐一分发业务数据,最后由一个服务节点将业务数据分发至下一级服务节点。当然,需要说明的是,缓存队列的最大特性是确保业务员数据分发到下一个级服务节点时,避免数据量大或服务节点执行的指令太多而造成数据丢失。通过网络将缓存队列中的业务数据根据所述网络地址逐一分发到下一级设备,当前级服务节点通过寻址模块将业务数据下发指令能够准确、实时地发送给下一级服务节点,并通过多次数据交互方式确保业务数据全部到达下一级服务节点中,且到达的次数仅为一次,要求当前级服务节点一旦接收到数据下发指令,将优先执行数据下发工作。实现的流程如下:接收所述上一服务节点根据所述网络地址下发的数据指令;其中,所述上一级服务节点为上一级的数据分发服务节点或者后台服务器。将所述数据指令通过多次数据交互方式逐一下发到下一级服务节点;其中,一旦当前级服务节点接收到所述数据指令优先执行所述数据下发工作。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有基于分布式的数据分发程序111,所述基于分布式的数据分发程序111可被一个或多个处理器执行,以实现如下操作:
接收上一级服务节点分发的第一业务数据;其中,所述上一级服务节点为待分发的服务节点或者后台服务器。
当所述上一级服务节点为后台服务器时,则根据预设的每页执行的业务数据量以及第一业务数据的数据量,以获得需分发至下一级服务节点的页数,以将第一业务数据根据所需分发的页数将第二业务数据分发至下一级服务节点。
当所述上一级服务节点为待分发的服务节点时,则对所述第一业务数据按预设规则进行均匀切片后,分发至下一级服务节点。
本发明计算机可读存储介质具体实施方式与上述电子装置和方法各实施例基本相同,在此不作累述。
可选地,在其他实施例中,所述基于分布式的数据分发程序111还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器13)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述基于分布式的数据分发程序在电子装置中的执行过程。
例如,参照图3所示,为本发明电子装置一实施例中的基于分布式的数据分发程序111的程序模块示意图,该实施例中,基于分布式的数据分发程序111可以被分割为业务数据接收模块10、页数获取模块20、业务数据分发模块30,示例性地:
业务数据接收模块10,用于接收上一级服务节点分发的第一业务数据;其中,所述上一级服务节点为待分发的服务节点或者后台服务器。
页数获取模块20,用于当所述上一级服务节点为后台服务器时,则根据预设的每页执行的业务数据量以及第一业务数据的数据量,以获得需分发至下一级服务节点的页数,以将第一业务数据根据所需分发的页数将第二业务数据分发至下一级服务节点。
业务数据分发模块30,用于当所述上一级服务节点为待分发的服务节点时,则对所述第一业务数据按预设规则进行均匀切片后,分发至下一级服务节点。
所述业务数据接收模块10、页数获取模块20、业务数据分发模块30等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于分布式的数据分发方法,其特征在于,包括:
接收上一级服务节点分发的第一业务数据;其中,所述上一级服务节点为待分发的服务节点或者后台服务器;
当所述上一级服务节点为后台服务器时,则根据预设的每页执行的业务数据量以及第一业务数据的数据量,以获得需分发至下一级服务节点的页数,以将第一业务数据根据所需分发的页数将第二业务数据分发至下一级服务节点;
当所述上一级服务节点为待分发的服务节点时,则对所述第一业务数据按预设规则进行均匀切片后,分发至下一级服务节点。
2.根据权利要求1所述的基于分布式的数据分发方法,其特征在于,
当所述上一级服务节点为后台服务器时,则所述第一业务数据为后台服务器根据业务类型对待处理业务数据进行分组后获得;
当所述上一级服务节点为后台服务器时,还包括:
将第二业务数据发送至下一级服务节点,以使得下一级服务节点对第二业务数据按预设规则进行均匀切片,并分发至再下一级服务节点。
3.根据权利要求2所述的基于分布式的数据分发方法,其特征在于,
若判断当前的接收的业务数据的数据量超出自身的负载,则排队等候或者延时接收所述上一级服务节点分发的业务数据;
若判断当前服务节点自身奔溃,则停止接收所述上一级服务节点的下发的业务数据。
4.根据权利要求1所述的基于分布式的数据分发方法,其特征在于,当所述上一级服务节点为待分发的服务节点时,则对所述第一业务数据按预设规则进行均匀切片后,分发至下一级服务节点器,具体为:
当所述上一级服务节点为待分发的服务节点时,则根据预设时间范围对所述第一业务数据进行均匀切片处理,并分发至下一级服务节点。
5.根据权利要求1所述的基于分布式的数据分发方法,其特征在于,还包括:
判断当前服务节点是否空闲;
当判断所述当前服务节点空闲时,则优先分配空闲服务节点接收所述上一级服务节点分发的业务数据;
当判断所述当前服务节点不空闲时,则继续判断当前服务节点的内存或者CPU利用率是否饱和;
当判断当前服务节点的内存或者CPU利用率饱和时,则排队等候;
当判断当前服务节点的内存或者CPU利用率不饱和时,则接收所述上一级服务节点下发的业务数据。
6.一种电子装置,其特征在于,包括:
接收上一级服务节点分发的第一业务数据;其中,所述上一级服务节点为待分发的服务节点或者后台服务器;
当所述上一级服务节点为后台服务器时,则根据预设的每页执行的业务数据量以及第一业务数据的数据量,以获得需分发至下一级服务节点的页数,以将第一业务数据根据所需分发的页数将第二业务数据分发至下一级服务节点;
当所述上一级服务节点为待分发的服务节点时,则对所述第一业务数据按预设规则进行均匀切片后,分发至下一级服务节点。
7.根据权利要求6所述的电子装置,其特征在于,
当所述上一级服务节点为后台服务器时,则所述第一业务数据为后台服务器根据业务类型对待处理业务数据进行分组后获得;
当所述上一级服务节点为后台服务器时,还包括:
将第二业务数据发送至下一级服务节点,以使得下一级服务节点对第二业务数据按预设规则进行均匀切片,并分发至再下一级服务节点。
8.根据权利要求6所述的电子装置,其特征在于,
若判断当前的接收的业务数据的数据量超出自身的负载,则排队等候或者延时接收所述上一级服务节点分发的业务数据;
若判断当前服务节点自身奔溃,则停止接收所述上一级服务节点的下发的业务数据。
9.根据权利要求1所述的电子装置,其特征在于,当所述上一级服务节点为待分发的服务节点时,则对所述第一业务数据按预设规则进行均匀切片后,分发至下一级服务节点器,具体为:
当所述上一级服务节点为待分发的服务节点时,则根据预设时间范围对所述第一业务数据进行均匀切片处理,并分发至下一级服务节点。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于分布式的数据分发程序,所述基于分布式的数据分发程序可被一个或者多个处理器执行,以实现如权利要求1至5中任一项所述的基于分布式的数据分发方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010141100.1A CN111447255A (zh) | 2020-03-02 | 2020-03-02 | 基于分布式的数据分发方法、电子装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010141100.1A CN111447255A (zh) | 2020-03-02 | 2020-03-02 | 基于分布式的数据分发方法、电子装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111447255A true CN111447255A (zh) | 2020-07-24 |
Family
ID=71654067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010141100.1A Pending CN111447255A (zh) | 2020-03-02 | 2020-03-02 | 基于分布式的数据分发方法、电子装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111447255A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239144A (zh) * | 2014-09-22 | 2014-12-24 | 珠海许继芝电网自动化有限公司 | 一种多级分布式任务处理系统 |
CN108989442A (zh) * | 2018-07-27 | 2018-12-11 | 中国联合网络通信集团有限公司 | 数据分发方法、系统及控制节点 |
CN109005224A (zh) * | 2018-07-26 | 2018-12-14 | 中国建设银行股份有限公司 | 数据分发方法及装置 |
US20190028249A1 (en) * | 2016-01-26 | 2019-01-24 | Nokia Solutions And Networks Oy | Hierarchical arrangement and multiplexing of mobile network resource slices for logical networks |
CN110175201A (zh) * | 2019-04-10 | 2019-08-27 | 阿里巴巴集团控股有限公司 | 业务数据处理方法、系统、装置及电子设备 |
CN110213380A (zh) * | 2019-06-11 | 2019-09-06 | 深圳市思迪信息技术股份有限公司 | 一种消息推送方法、装置、计算机设备及存储介质 |
-
2020
- 2020-03-02 CN CN202010141100.1A patent/CN111447255A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239144A (zh) * | 2014-09-22 | 2014-12-24 | 珠海许继芝电网自动化有限公司 | 一种多级分布式任务处理系统 |
US20190028249A1 (en) * | 2016-01-26 | 2019-01-24 | Nokia Solutions And Networks Oy | Hierarchical arrangement and multiplexing of mobile network resource slices for logical networks |
CN109005224A (zh) * | 2018-07-26 | 2018-12-14 | 中国建设银行股份有限公司 | 数据分发方法及装置 |
CN108989442A (zh) * | 2018-07-27 | 2018-12-11 | 中国联合网络通信集团有限公司 | 数据分发方法、系统及控制节点 |
CN110175201A (zh) * | 2019-04-10 | 2019-08-27 | 阿里巴巴集团控股有限公司 | 业务数据处理方法、系统、装置及电子设备 |
CN110213380A (zh) * | 2019-06-11 | 2019-09-06 | 深圳市思迪信息技术股份有限公司 | 一种消息推送方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110851248B (zh) | 异步任务数据处理方法、装置及计算机可读存储介质 | |
CN115277566B (zh) | 数据访问的负载均衡方法、装置、计算机设备及介质 | |
CN112559476B (zh) | 一种用于提高目标系统性能的日志存储方法及其相关设备 | |
CN104750690A (zh) | 一种查询处理方法、装置及系统 | |
CN110880057B (zh) | 组单方法和装置 | |
CN110708197B (zh) | 监控装置、监控装置的监控策略的设置方法及存储介质 | |
CN108446180A (zh) | 一种基于数据迁移的数据中心动态任务调度方法 | |
CN111258741B (zh) | 仓库任务执行的方法、分布式服务器集群及计算机设备 | |
CN111371848A (zh) | 一种请求处理方法、装置、设备及存储介质 | |
CN112130936A (zh) | 基于轮询的数据调用方法、装置、设备及存储介质 | |
CN116149559A (zh) | 队列处理方法、装置、服务器、电子设备和存储介质 | |
US8250205B2 (en) | Business process management system, method thereof, process management computer and program thereof | |
CN116069500A (zh) | 一种模型训练任务处理方法、装置、电子设备及可读介质 | |
CN114138506B (zh) | 消息队列调度方法及其装置、设备、介质、产品 | |
CN113298387B (zh) | 货物装卸分配方法、分配系统、电子设备及可读存储介质 | |
CN111447255A (zh) | 基于分布式的数据分发方法、电子装置及存储介质 | |
CN113419856A (zh) | 智能限流方法、装置、电子设备及存储介质 | |
CN113760522A (zh) | 一种任务处理方法和装置 | |
CN103336721A (zh) | 数据库操作请求分配方法、设备和系统 | |
CN106844036B (zh) | 物理设备的访问方法及装置 | |
CN109829005A (zh) | 一种大数据处理方法及装置 | |
CN106537321A (zh) | 存取文件的方法、装置和存储系统 | |
US20230393782A1 (en) | Io request pipeline processing device, method and system, and storage medium | |
CN115170152A (zh) | 一种数据分发方法、装置、设备和存储介质 | |
CN110673931A (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: 20200724 |
|
RJ01 | Rejection of invention patent application after publication |