一种分布式处理系统及方法、一种计算设备及存储介质
技术领域
本申请涉及计算机分布式处理技术领域,特别涉及一种分布式处理系统及方法、一种计算设备及存储介质。
背景技术
随着金融机构的用户规模的增长,机构每天日终计提用户的利息的任务耗时也越来越长,导致依赖计提利息任务的其他日终任务延迟较严重,以及一些监管、合规方面的报表不能及时的产出,影响企业运营。
目前,行业内很多计提的任务都在一台服务器上运行,所以随着数据量的增加,计算性能越发的不能满足业务要求;也有企业搭建离线数据平台,通过离线的方式进行计息任务的计算,然后将数据回流到在线的数据库中,进行计提记账;但是该种方式,企业需要搭建一套数据平台,整体的成本比较高,并且将数据同步到离线环境的耗时比较高,离线环境的稳定性问题也会影响到计息任务。
发明内容
有鉴于此,本说明书实施例提供了一种分布式处理系统及方法、一种计算设备及存储介质,以解决现有技术中存在的技术缺陷。
第一方面,本说明书实施例公开了一种分布式处理系统,包括第一服务器、第二服务器和第三服务器,其中,
所述第一服务器,被配置为获取至少两个携带有标识信息的数据处理任务;
所述第一服务器,还被配置为基于所述标识信息将所述数据处理任务拆分为至少两组待处理的数据处理任务,并将每组所述待处理的数据处理任务标识信息发送至与所述标识信息对应的第二服务器;
所述第二服务器,被配置为基于所述标识信息获取所述待处理的数据处理任务,并将所述待处理的数据处理任务分发至至少两个第三服务器;
所述至少两个第三服务器,被配置为分别基于预设算法对所述待处理的数据处理任务进行处理。
第二方面,本说明书实施例公开了一种分布式处理方法,包括:
第一服务器获取至少两个携带有标识信息的数据处理任务;
所述第一服务器基于所述标识信息将所述数据处理任务拆分为至少两组待处理的数据处理任务,并将每组所述待处理的数据处理任务标识信息发送至与所述标识信息对应的第二服务器;
所述第二服务器基于所述标识信息获取所述待处理的数据处理任务,并将所述待处理的数据处理任务分发至至少两个第三服务器;
所述至少两个第三服务器分别基于预设算法对所述待处理的数据处理任务进行处理。
第三方面,本说明书实施例公开了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现该指令被处理器执行时实现如上所述分布式处理方法的步骤。
第四方面,本说明书实施例公开了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如上所述分布式处理方法的步骤。
本申请提供的一种分布式处理系统及方法、一种计算设备及存储介质,其中,所述系统包括第一服务器、第二服务器和第三服务器,其中,所述第一服务器,被配置为获取至少两个携带有标识信息的数据处理任务;所述第一服务器,还被配置为基于所述标识信息将所述数据处理任务拆分为至少两组待处理的数据处理任务,并将每组所述待处理的数据处理任务标识信息发送至与所述标识信息对应的第二服务器;所述第二服务器,被配置为基于所述标识信息获取所述待处理的数据处理任务,并将所述待处理的数据处理任务分发至至少两个第三服务器;所述至少两个第三服务器,被配置为分别基于预设算法对所述待处理的数据处理任务进行处理,利用分布式集群,直接读取在线数据,一个集群中的所有服务器,协同处理计算的任务,达到快速处理数据处理任务的作用。
附图说明
图1是本说明书一个或多个实施例提供的一种计算设备的结构框图;
图2是本说明书一个或多个实施例提供的一种分布式处理方法的流程图;
图3是本说明书一个或多个实施例提供的一种分布式处理方法的流程图;
图4是本说明书一个或多个实施例提供的一种分布式处理方法的架构图;
图5是本说明书一个或多个实施例提供的一种分布式处理方法的流程图;
图6是本说明书一个或多个实施例提供的一种分布式处理方法的流程图;
图7是本说明书一个或多个实施例提供的一种分布式处理方法的流程图;
图8是本说明书一个或多个实施例提供的一种分布式处理系统的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
计息:当贷款还未到还款日时,为了严格按照会计上要求的权责发生制原则,每日产生的利息也需要计入当期收入,此计算过程称为计息,财务上也称为计提利息。
分布式系统:分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。
本说明书一个或多个实施例中,所述分布式处理方法可以应用于金融机构的每天日终计息任务中,也可以应用于适合该分布式处理方法的其他应用中,本申请对此不作任何限定。为了便于理解,本说明书实施例中均以该分布式处理方法应用于金融机构的每天日终计息任务进行说明。
在本申请中,提供了一种分布式处理系统及方法、一种计算设备及存储介质,在下面的实施例中逐一进行详细说明。
图1是示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备100的上述以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示方法中的步骤。图2示出了根据本说明书一实施例的分布式处理方法的示意性流程图,包括步骤202至步骤208。
步骤202:第一服务器获取至少两个携带有标识信息的数据处理任务。
本说明书一个或多个实施例中,所述分布式处理方法涉及第一服务器、第二服务器和第三服务器,其中,所述第一服务器、所述第二服务器和所述第三服务器无等级或重要程度之分,并且所述第二服务器和所述第三服务器包括但不限于由至少两个服务器形成。
所述数据处理任务包括但不限于金融机构的每天日终计息任务等;实际应用中,所述数据处理任务会有多个,根据实际需求进行获取,本申请对此不作任何限定。
所述标识信息包括但不限于针对对应的所述数据处理任务进行的编号等,例如用户在某金融机构贷款,每个用户进行贷款账户生成时,均会随机生成一个由随机数构成的针对该贷款的每天日终计息任务的标识信息,若所述随机数为1~100,则该计息任务的标识信息可以为1~100的任意一个整数。
其中,所述标识信息可以为非唯一标识,例如有200个用户在某金融机构贷款,每个用户进行贷款账户生成时,均会随机生成一个由随机数构成的针对该贷款的每天日终计息任务的标识信息,若所述随机数为1~100,则前100个用户进行贷款的计息任务的标识信息可以为1~100顺序排列的整数,即每个用户进行贷款的计息任务的标识信息均顺序对应一个整数,第101至第200名的用户进行贷款的计息任务的标识信息也可以为1~100顺序排列的整数,即第101个用户进行贷款的计息任务的标识信息对应随机整数1,第102至第200名的用户进行贷款的计息任务的标识信息也依次顺序对应2~100的随机整数。
步骤204:所述第一服务器基于所述标识信息将所述数据处理任务拆分为至少两组待处理的数据处理任务,并将每组所述待处理的数据处理任务标识信息发送至与所述标识信息对应的第二服务器。
本说明书一个或多个实施例中,所述第一服务器基于所述标识信息将所述数据处理任务拆分为至少两组待处理的数据处理任务,即所述第一服务器将所述标识信息一致的所述数据处理任务分为一组,形成待处理的数据处理任务。
例如存在100条数据处理任务,其中,有20条数据处理任务携带的标识信息为1,有20条数据处理任务携带的标识信息为2,有20条数据处理任务携带的标识信息为3,有20条数据处理任务携带的标识信息为4,有20条数据处理任务携带的标识信息为5。
所述第一服务器基于所述标识信息将所述数据处理任务拆分为至少两组待处理的数据处理任务则是将所述标识信息为1的数据处理任务拆分为第一组,将所述标识信息为2的数据处理任务拆分为第二组,将所述标识信息为3的数据处理任务拆分为第三组,将所述标识信息为4的数据处理任务拆分为第四组,将所述标识信息为5的数据处理任务拆分为第五组,共基于所述标识信息1-5将所述数据处理任务拆分为五组待处理的数据处理任务。
其中,所述第二服务器包括但不限于至少两个服务器,其中,每个第二服务器均对应一个标识信息。
将每组所述待处理的数据处理任务标识信息发送至与所述标识信息对应的第二服务器,即是将按照标识信息拆分后的每组所述待处理的数据处理任务对应的标识信息发送至与所述标识信息对应的每个第二服务器上。
若存在5个第二服务器包括:第二服务器A、第二服务器B、第二服务器C、第二服务器D、第二服务器E,其中,第二服务器A对应第一组数据处理任务、第二服务器B对应第二组数据处理任务、第二服务器C对应第三组数据处理任务、第二服务器D对应第四组数据处理任务、第二服务器E对应第五组数据处理任务。仍以上述实施例为例,在所述第一服务器基于所述标识信息1-5将所述数据处理任务拆分为五组待处理的数据处理任务后,则将第一组数据处理任务的标识信息1发送至第二服务器A,将第二组数据处理任务的标识信息2发送至第二服务器B、将第三组数据处理任务的标识信息3发送至第二服务器C、将第四组数据处理任务的标识信息4发送至第二服务器D、将第五组数据处理任务的标识信息5发送至第二服务器E。
所述第二服务器仅接受每组所述待处理的数据处理任务对应的标识信息,可以节省内存的占用,极大的提高了工作效率。
步骤206:基于所述标识信息获取所述待处理的数据处理任务,并将所述待处理的数据处理任务分发至至少两个第三服务器。
本说明书一个或多个实施例中,所述第二服务器将每组所述待处理的数据处理任务分发至至少两个第三服务器包括:
所述第二服务器基于所述标识信息获取所述待处理的数据处理任务对应的至少两个账号;
所述第二服务器将所述至少两个账号分发至至少两个第三服务器。
本说明书一个或多个实施例中,每组所述待处理的数据处理任务均包括多个待处理的数据处理任务,每个待处理的数据处理任务均对应一个账号。
所述第二服务器基于所述标识信息获取所述待处理的数据处理任务对应的至少两个账号,即每个所述第二服务器均基于所述标识信息获取多个待处理的数据处理任务对应的多个账号。
本说明书一个或多个实施例中,所述第二服务器还可以基于所述标识信息和预设条件获取所述待处理的数据处理任务对应的至少两个账号。
其中,所述预设条件包括但不限于每次获取预定条数的待处理的数据处理任务,例如每次获取10条的待处理的数据处理任务。
若所述预设条件包括每次获取10条的待处理的数据处理任务,每组所述待处理的数据处理任务包括100条的待处理的数据处理任务,则所述第二服务器基于所述标识信息和预设条件获取每组所述待处理的数据处理任务对应的至少两个账号,即所述第二服务器基于所述标识信息和预设条件获取每组所述待处理的数据处理任务对应的10个账号。
步骤208:所述至少两个第三服务器分别基于预设算法对每组所述待处理的数据处理任务进行处理。
本说明书一个或多个实施例中,所述至少两个第三服务器分别基于预设算法对每组所述待处理的数据处理任务进行处理包括:
所述至少两个第三服务器基于所述至少两个账号获取对应的至少两个待处理数据;
所述第三服务器分别基于预设算法对所述至少两个待处理数据进行处理。
其中,每个所述第三服务器基于从所述第二服务器发送来的每个账号,获取该账号对应的待处理数据,然后基于预设算法对所述待处理数据进行处理。
以将该分布式处理方法应用于金融机构的用户贷款计息任务中为例,每个所述第三服务器基于从所述第二服务器发送来的每个账号,获取该账号对应的待处理数据即是获取该用户账号下需要处理的具体用户数据,例如用户当天日终的贷款的金额、利率等,然后基于现有的计息算法,按照规定比率与规定基数计算出需要计提的金额,然后进行财务记账等。
本说明书一个或多个实施例中,所述分布式处理方法还包括:
对所述第一服务器、所述第二服务器和所述第三服务器进行管理。
即是可以根据实际需要对所述第一服务器、所述第二服务器和所述第三服务器进行适当的增加、删除或调换等,例如若当日待处理的数据处理任务较多,则可以相应增加所述第二服务器和所述第三服务器的个数,以提高处理速度;若当日待处理的数据处理任务较少,则可以相应删除所述第二服务器和所述第三服务器的个数,以减少资源浪费率;并且还可以对所述第一服务器、所述第二服务器和所述第三服务器进行适应性调换,例如将所述第二服务器中的一个第二服务器调换为第一服务器或将所述第三服务器中的一个第三服务器调换为第一服务器,或者将第一服务器调换为一个所述第二服务器或一个第三服务器等。
本说明书一个或多个实施例中,所述分布式处理方法采用三层框架对所述数据处理任务进行处理,将数据处理任务分发给分布式集群中所有的服务器,利用分布式集群的能力,对数据处理任务的拆分、捞取、执行进行三个层级的操作,并且第一服务器、第二服务器和第三服务器能够自动适配集群的扩容和缩容,具备自动伸缩的能力,随着数据量的增长可以动态进行扩容,提升计算能力。
参见图3和图4,以第一服务器为splitor服务器,第二服务器为多个loader服务器,第三服务器为多个excutor服务器为例,将本说明书一个或多个实施例提供的一种分布式处理方法应用于金融机构的用户贷款计息任务中进行详细说明,包括步骤302至步骤306。
步骤302:splitor服务器获取多个携带有标识信息的计息任务,并基于所述标识信息将所述计息任务拆分为多组待处理的计息任务,最后将每组所述待处理的计息任务的标识信息发送至与所述标识信息对应的3个loader服务器。
参见图5,实际应用中,splitor服务器基于所述标识信息将所述计息任务拆分为至少两组待处理的计息任务包括步骤502至步骤510。
步骤502:用户在金融机构申请贷款。
步骤504:用户贷款账户开立。
步骤506:生成计息任务控制单,其中,每个所述计息任务控制单均包含一个计息任务ID。
步骤508:每日日终splitor服务器获取多个计息任务,并基于计息任务ID将所述计息任务拆分为多两组待处理的计息任务。
步骤510:金融机构给用户放款。
本说明书一个或多个实施例中,用户在金融机构申请贷款时,用户在开立贷款账户的同时,生成一份计息任务控制单,该控制单中包含计提的信息,还包含随机生成的计息任务ID,每日日终基于计息任务ID的维度进行计息任务拆分,缩短拆分耗时。
步骤304:每个loader服务器基于对应的标识信息接收对应组的多个待处理的计息任务的多个标识信息,基于所述多个标识信息获取前10个标识信息对应的10个用户账号,并将获取到的10个用户账号分别发送至多个excutor服务器。
参见图6,实际应用中,loader服务器基于对应的标识信息接收对应组的多个待处理的计息任务的多个标识信息,基于所述多个标识信息获取前10个标识信息对应的用户账号包括步骤602至步骤606。
步骤602:loader服务器接收对应组的多个待处理的计息任务的多个标识信息。
步骤604:基于所述多个标识信息每次获取前10个标识信息对应的10个计息控制单。
步骤606:基于所述10个计息控制单确定对应的10个用户账号。
本说明书一个或多个实施例中,将计息任务拆分并分发至loader服务器后,每个loader服务器对应的计息任务接收到计息任务ID;按照实际的用户量级循环捞取计息任务ID对应的用户账号,将用户账号分发至对应的excutor服务器,极大的提高分布式处理的工作效率。
步骤306:每个excutor服务器基于所述多个用户账号获取对应的多个待处理用户数据,然后基于计息算法对所述多个待处理用户数据进行处理。
其中,步骤302对应图4中的402的处理过程,步骤304对应图4中的404的处理过程,步骤306对应图4中的406的处理过程。
参见图7,实际使用中,每个excutor服务器基于所述多个用户账号获取对应的多个待处理用户数据,然后基于计息算法对所述多个待处理用户数据进行处理包括步骤702至步骤710。
步骤702:excutor服务器接收对应的多个用户账号。
步骤704:基于每个所述用户账号对应的计息任务控制单查询用户贷款余额。
步骤706:基于每个用户贷款余额按照规定的比率与规定的基数计算计息金额。
步骤708:对所述计息金额进行财务记账。
步骤710:更新计息任务控制单。
本说明书一个或多个实施例中,所述分布式处理方法采用三层框架对用户贷款的计息任务进行处理,解决金融机构每天日终进行用户利息计提计算时的效能问题,能够极大的节省成本,将计息任务分发给分布式集群中所有的服务器,利用分布式集群的能力,对计息任务的拆分、捞取、执行进行三个层级的操作,并且第一服务器、第二服务器和第三服务器能够自动适配集群的扩容和缩容,具备自动伸缩的能力,随着数据量的增长可以动态进行扩容,提升计算能力。
参见图8,本说明书一个或多个实施例提供了一种分布式处理系统,包括第一服务器802、第二服务器804和第三服务器806,其中,
所述第一服务器802,被配置为获取至少两个携带有标识信息的数据处理任务;
所述第一服务器802,还被配置为基于所述标识信息将所述数据处理任务拆分为至少两组待处理的数据处理任务,并将每组所述待处理的数据处理任务的标识信息发送至与所述标识信息对应的第二服务器804;
所述第二服务器804,被配置基于所述标识信息获取所述待处理的数据处理任务,并将所述待处理的数据处理任务分发至至少两个第三服务器806;
所述至少两个第三服务器806,被配置为分别基于预设算法对所述待处理的数据处理任务进行处理。
可选地,所述第二服务器804,进一步被配置为:
基于所述标识信息获取每组所述待处理的数据处理任务对应的至少两个账号;
将所述至少两个账号分发至至少两个第三服务器806。
可选地,所述第三服务器806,进一步被配置为:
基于所述至少两个账号获取对应的至少两个待处理数据;
分别基于预设算法对所述至少两个待处理数据进行处理。
可选地,所述第二服务器804,进一步被配置为:
基于所述标识信息和预设条件获取每组所述待处理的数据处理任务对应的至少两个账号。
可选地,所述系统还包括:
配置中心模块,被配置为对所述第一服务器802、所述第二服务器804和所述第三服务器806进行管理。
本说明书一个或多个实施例中,所述分布式处理系统采用三层框架对所述数据处理任务进行处理,将数据处理任务分发给分布式集群中所有的服务器,利用分布式集群的能力,对数据处理任务的拆分、捞取、执行进行三个层级的操作,并且第一服务器、第二服务器和第三服务器能够自动适配集群的扩容和缩容,具备自动伸缩的能力,随着数据量的增长可以动态进行扩容,提升计算能力。并且利用分布式集群,直接读取在线数据,一个集群中的服务器,协同处理计算的数据处理任务,达到对数据处理任务进行快速处理的作用。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述分布式处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的分布式处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述分布式处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。