一种基于通道隔离的业务分配方法和装置的制造方法

文档序号:9375345阅读:479来源:国知局
一种基于通道隔离的业务分配方法和装置的制造方法
【技术领域】
[0001]本发明涉及数据交换技术领域,具体涉及一种基于通道隔离的业务分配方法和装置。
【背景技术】
[0002]在互联网技术的发展浪潮中,电商行业发展迅猛。随着电商业务量的不断扩展,电商平台每天处理的数据量逐步增加,数据交换系统承受着较大压力,例如为提高消费者的网购体验,电商往往愿意承诺在极短时间内完成商品的接单备货直至配送,这对数据交换系统的吞吐量和实时处理能力要求较高;如果碰到电商大促销的情况,数据单量会在短时间内迅速攀升,对数据交换系统的处理能力构成挑战。当前,常规数据交换平台的吞吐量和实时处理能力越来越不能满足大规模电商及时配送的要求,而进行系统扩展需建立在昂贵的硬件成本和软件成本基础上,无法做到低成本扩展。如何实现电商应用中各种单据数据的有效传递,满足日常情况以及大促销等特殊情况下的数据处理需求,在技术实现上是一个挑战。

【发明内容】

[0003]有鉴于此,本发明提出一种基于通道隔离的业务分配方法和装置,对不同性质的数据实施传输通道隔离,各通道传输过程互不影响,保证对及时性要求高的数据优先处理。
[0004]—方面,本发明提供一种基于通道隔离的业务分配方法,包括:业务注册步骤,将多种业务注册到系统配置信息中,注册内容包括每种业务的数据生产者、数据消费者、优先级和处理流程;通道创建步骤,根据系统配置信息生成多个数据通道,以使每种业务对应至少一个数据通道,其中各个数据通道之间相互隔离,每个数据通道对应一个优先级;以及通道分配步骤,当接收到来自数据生产者的业务数据时,根据该业务的优先级选取对应的数据通道,将该业务分配给该数据通道,其中该业务的优先级与该数据通道的优先级相匹配。
[0005]优选地,其中数据通道的优先级越高,该数据通道的处理能力越高,且单个通道中各个节点的处理能力相匹配。
[0006]优选地,其中所述注册内容还包括每种业务的平均单量,并且在所述通道创建步骤中,业务的平均单量越多,对该种业务生成的数据通道的线程数越多。
[0007]优选地,该方法还包括:单量更新步骤,按照预设条件对系统配置信息中一种或多种业务的平均单量进行更新;自适应调整步骤,根据更新后的平均单量对对应的数据通道的线程数进行调整。
[0008]优选地,其中所述预设条件为当预定时间段内实际的平均单量大于预定阈值时,对系统配置信息中的平均单量进行更新,其中预定阈值为系统配置信息中的平均单量的1.5 倍。
[0009]另一方面,本发明还提供一种基于通道隔离的业务分配装置,包括:业务注册模块,用于将多种业务注册到系统配置信息中,注册内容包括每种业务的数据生产者、数据消费者、优先级和处理流程;通道创建模块,用于根据系统配置信息生成多个数据通道,以使每种业务对应至少一个数据通道,并为每个数据通道建立任务队列,其中每个数据通道对应一个优先级;以及通道分配模块,用于当接收到来自数据生产者的业务数据时,根据该业务的优先级选取对应的数据通道,将该业务分配给该数据通道,其中该业务的优先级与该数据通道的优先级相匹配。
[0010]另一方面,本发明还提供一种服务器,其包括如上所述的基于通道隔离的业务分配装置。
[0011]有益效果:本发明属于电商数据交换系统的重要组成部分,在数据传输过程中,按照数据重要性及时性要求不同来分配不同大小、彼此隔离的系统资源,来进行不同性质的数据传输。本发明实施例对不同性质的数据传输通道进行隔离,通过通道分配策略,使不同优先级的数据在传输过程中互不影响,可解决在数据量超大、不同优先级数据混杂且较低的资源投入情况下,保证及时性较高的数据及时投递到目的系统的难题。利用本发明的实施例,各类数据可独立扩展,可有针对性的增加某个数据类型的吞吐量,以适应电商应用高度灵活性的应用需求,可有效解决在电商应用中由于促销产生的数据风暴导致重要数据受其他数据影响而滞留的问题,利用本发明实施例可将有效的计算资源使用到最重要、及时性最高的数据传输中,节省硬件资源投入。
【附图说明】
[0012]图1是本发明实施例的基于通道隔离的业务分配方法流程框图。
[0013]图2是本发明实施例可采用的数据交换平台的系统架构。
[0014]图3是本发明实施例中当接收到某类型业务数据时,为该业务分配数据通道的流程图。
[0015]图4是本发明实施例中注册生产者和消费者并与通道建立关联的流程图。
[0016]图5是本发明实施例中的通道自适应调整流程图。
[0017]图6是本发明实施例中的数据通道的内部结构图。
[0018]图7是本发明实施例的基于通道隔离的业务分配装置的结构图。
【具体实施方式】
[0019]以下结合附图以及具体实施例,对本发明的技术方案进行详细描述。
[0020]首先简要介绍电商平台数据的类型,大体上可分为三类,第一类数据的重要性和及时性要求最高,例如“限时送达”的商品订单数据;第二类数据的及时性要求较高,例如普通的商品订单数据、促销信息数据;第三类数据的及时性要求较低,如物流信息数据。
[0021]图1示出了本发明实施例的基于通道隔离的业务分配方法流程图,包括:
[0022]业务注册步骤:将多种业务注册到系统配置信息中,注册内容包括每种业务的数据生产者、数据消费者、优先级和处理流程;
[0023]通道创建步骤:根据系统配置信息生成多个数据通道,以使每种业务对应至少一个数据通道,其中各个数据通道之间相互隔离,每个数据通道对应一个优先级;以及
[0024]通道分配步骤:当接收到来自数据生产者的业务数据时,根据该业务的优先级选取对应的数据通道,将该业务分配给该数据通道,其中该业务的优先级与该数据通道的优先级相匹配。
[0025]按照上述步骤可将不同种类的业务按优先级分配到相应的数据通道中,例如可将“限时送达”订单业务分配到优先级最高的数据通道中,将普通订单业务和促销信息业务分配到优先级居中的数据通道中,将物流信息业务分配到优先级最低的数据通道中,每个业务在分配好的通道中进行处理,处理完毕后发送给数据消费者。
[0026]这样处理的好处是,由于通道之间彼此独立,互不影响,因此即使遇到数据洪峰的情况,仍然能够准确地将有限的计算资源投入到优先级高的数据通道中,对及时性要求高的数据优先处理,实现电商平台中重要单据的有效传递。
[0027]在实际应用场景中,如图2,示出了本发明的实施例可采用的数据交换平台的系统架构,描述了数据交换平台的各个参与方的关系。该数据交换平台包括:服务器、若干数据生产者、若干数据消费者,以及链接在各生产者和各消费者之间的若干数据通道。
[0028]其中,生产者是指产出业务数据并向其他系统发送业务数据的系统(如前台订单系统、采购系统等)。消费者是指接收业务数据的系统(如后台的仓储系统,配送系统)。通常一个系统既可以作为生产者,也可以作为消费者。生产者发送的数据可以面向一个消费者,也可以面向一个消费者群组。其中,各个数据通道是链接消费者与生产者的纽带,每个通道包含一组处理线程,这些线程从通道的任务队列中获取业务ID,并可根据业务ID获取数据报文,进行后续数据处理。
[0029]在本发明的实施例中,在业务注册阶段,需将各种业务数据的生产者,消费者,每种业务的系统优先级、平均单量(如日均单量)、处理流程、下发方式等信息注册到系统的配置信息中。
[0030]所有配置信息完成后,进入通道创建阶段,根据系统配置信息(至少包含业务数据的生产者、消费者、优先级)创建各种类型的数据通道,各个通道有不同的系统优先级,优先级高则处理能力高,并可为各个通道建立任务队列。
[0031]当服务器接收到生产者的业务数据时,进入通道分配阶段,该业务数据中含有用于表示业务优先级的唯一标识,根据该标识,从系统配置信息中可获得该业务配置的通道信息,将该业务数据的业务ID存放到对应的通道队列中,同时可将该业务数据的报文信息存储到例如分布式文件系统中。
[0032]以上对来自生产者的业务数据分配了优先级匹配的数据通道,在后续处理中,消息处理中心根据分配的通道信息获取通道中的处理节点,将任务队列中的业务ID数据按顺序放到处理节点中,找到对应的数据报文,依次进行处理。数据在消息处理中心处理完成后,再根据通道的配置信息,将数据发送到消费者。
[0033]图3示出了本发明某些实施例中,当接收到某种类型的业务数据时,为该业务分配数据通道的流程图。首先使用数据交换系统的生产者和消费者在系统中注册,并完成所有的相关配置,系统为每个业务(也称为“主题” subject)生成数据通道,用于连接这个业务的生产者和消费者。当系统接收到该主题的数据后,会将该主题的数据生成的任务与该主题分配的通道进行绑定。
[0034]其中,需要注意的是,在系统完成注册配置并创建数据通道之后,即在系统中形成了每种业务与对应通道的绑定关系。则当接收到一条新的业务数据时,可以根据该业务数据的优先级标识来选取对应的通道,后续处理交给通道中的后台线程进行处理。
[0035]图4示出了本发明某些实施例中将生产者和消费者在系统中注册并与通道建立关联的流程图。通道的分配是在注册生产者、消费者、发布主题时确定的,其中,发布主题就是指发布该生产者的业务、确定业务数据的优先级及业务日均单量等信息,供消费者订阅。消费者注册后一旦订阅了某主题,意味着该消费者可以接收该业务数据,则配置完成后,系统根据生产者和消费者之间的订阅关系生成数据通道。上述过程对用户是透明的,用户可通过管理端查看系统为每个业务分配的通道信息。
[0036]其中,特定主题的数据会分配到一个或多个通道上去,如果某个主题的数据分配到多个通道上,则根据通道的处理能力进行负载分配。<
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1