System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机。具体而言,本公开涉及一种业务处理系统和可以被应用于其的业务处理方法,以及还涉及可用于实现该业务处理方法的计算设备和存储介质。
技术介绍
1、随着计算机技术的发展,以及资源交换(例如,金融领域的交易)的相关理论的不断完善,需要大量计算资源的业务日益增多。现有的开源软件quantlib基于c++的量化金融计算框架,内置了大量基础金融工具和库,一方面可以清晰的描述各种复杂的金融产品,一方面兼顾了计算速度。然而,该软件仅仅提供了一个单机金融计算框架,而对于大数据量或者大批量业务(例如估值定价任务)等超出单机资源的场景,其无法提供合适的解决方案。
2、针对任务量较大,单机计算太慢的问题,通常会采用分布式计算来加以解决。例如,kubernetes平台通常可以被用来实现分布式任务处理。kubernetes平台是一个可移植、可扩展的云原生开源平台,可以用于管理多个业务节点中容器化的工作负载和服务。
3、然而,在采用kubernetes原生方案实现分布式任务处理的情况下,由于其使用随机算法进行业务调度,所以无法确保各业务节点中任务执行模块收到的任务数量大致相同,因此难以实现负载均衡,容易导致任务执行模块发生内存耗尽问题,或者可能导致任务执行模块长期空闲从而浪费宝贵的计算资源。此外,kubernetes原生系统中采用具有一定时间间隔的轮询方式来获取与各任务执行模块相关的监控信息,因此,所获得的监控信息总是滞后的,导致业务节点中任务执行模块数量的动态增加或减少的响应速度慢,无法对任务量的实时变化进行响应。而且
技术实现思路
1、根据本公开的第一个方面,提供了一种业务处理系统,其包括:主节点;多个业务节点,其中,每一个业务节点包括预设数量的任务执行模块,每一个任务执行模块具有预设的任务处理并发数,并且各业务节点均与所述主节点通信连接。其中,所述主节点被配置成:接收需要进行处理的任务;基于所述需要进行处理的任务的数量和所述任务处理并发数,确定任务执行模块的需求数量;当所述需求数量大于所述业务处理系统中任务执行模块的当前数量时,在所述多个业务节点的至少一个中创建新的任务执行模块。
2、根据一些示例性实施例,所述主节点还被配置成:确定空闲的任务执行模块,其中,所述空闲的任务执行模块是指正在进行处理的任务的数量小于所述任务处理并发数的任务执行模块;将所接收的需要进行处理的任务转发给所述空闲的任务执行模块。
3、根据一些示例性实施例,所述主节点还被配置成:在服务部署阶段,基于所述预设数量和所述预设的任务处理并发数,在每一个业务节点中创建所述预设数量的任务执行模块,并且每一个被创建的任务执行模块具有所述任务处理并发数。
4、根据一些示例性实施例,所述主节点还被配置成:在所述业务节点包括的任务执行模块的数量大于所述预设数量的情况下,删除已经处理完所有任务的任务执行模块。
5、根据一些示例性实施例,所述主节点包括任务调度模块和控制模块,所述任务调度模块和所述控制模块通信连接。所述任务调度模块被配置成:接收需要进行处理的任务;基于所述需要进行处理的任务的数量和所述任务处理并发数,确定任务执行模块的需求数量;当所述需求数量大于所述业务处理系统中任务执行模块的当前数量时,生成更新请求。所述控制模块被配置成:基于所述更新请求,在所述多个业务节点的至少一个中创建新的任务执行模块。
6、根据一些示例性实施例,所述任务调度模块还被配置成:确定空闲的任务执行模块,其中,所述空闲的任务执行模块是指正在进行处理的任务的数量小于所述任务处理并发数的任务执行模块;将所接收的需要进行处理的任务转发给所述空闲的任务执行模块。
7、根据一些示例性实施例,所述控制模块还被配置成:在服务部署阶段,基于所述预设数量和所述预设的任务处理并发数,在每一个业务节点中创建所述预设数量的任务执行模块,并且每一个被创建的任务执行模块具有所述任务处理并发数。
8、根据一些示例性实施例,所述控制模块还被配置成:在所述业务节点包括的任务执行模块的数量大于所述预设数量的情况下,删除已经处理完所有任务的任务执行模块。
9、根据一些示例性实施例,所述任务执行模块包括任务接收子模块和任务处理子模块。所述任务接收子模块被配置成:接收被转发的任务;当所述任务处理子模块正在进行处理的任务的数量小于所述任务处理并发数时,将所接收的被转发的任务发送给所述任务处理子模块。所述任务处理子模块被配置成:接收从所述任务接收子模块发送的任务并进行处理。
10、根据本公开的第二个方面,提供了一种业务处理方法,其被应用于根据本公开的第一个方面及其各示例性实施例所述的业务处理系统的主节点。所述业务处理方法包括:接收需要进行处理的任务;基于所述需要进行处理的任务的数量和所述任务处理并发数,确定任务执行模块的需求数量;当所述需求数量大于所述业务处理系统中任务执行模块的当前数量时,在所述多个业务节点的至少一个中创建新的任务执行模块。
11、根据一些示例性实施例,所述基于所述需要进行处理的任务的数量和所述任务处理并发数,确定任务执行模块的需求数量包括:当所述需要进行处理的任务的数量能够被所述任务处理并发数整除时,将所得的商确定为所述需求数量;当所述需要进行处理的任务的数量不能被所述任务处理并发数整除时,将所得的商加1得到的和确定为所述需求数量。
12、根据一些示例性实施例,所述业务处理方法还包括:确定空闲的任务执行模块,其中,所述空闲的任务执行模块是指正在进行处理的任务的数量小于所述任务处理并发数的任务执行模块;将所接收的需要进行处理的任务转发给所述空闲的任务执行模块。
13、根据一些示例性实施例,所述将所接收的需要进行处理的任务转发给所述空闲的任务执行模块包括:当存在多个空闲的任务执行模块时,确定各空闲的任务执行模块的正在进行处理的任务的数量与所述任务处理并发数之间的差值;将所接收的需要进行处理的任务优先转发给具有最大差值的空闲的任务执行模块。
14、根据本公开的第三个方面,提供了一种计算设备。所述计算设备包括处理器和存储器,所述存储器上存储有可执行的指令,所述可执行的指令在由所述处理器执行的情况下,实现根据本公开的第二个方面及其各示例性实施例所述的业务处理方法。
15、根据本公开的第四个方面,提供了一种存储介质。所述存储介质上存储有可执行的指令,所述可执行的指令在被处理器执行的情况下,实现根据本公开的第二个方面及其各示例性实施例所述的业务处理方法。
本文档来自技高网...【技术保护点】
1.一种业务处理系统,其特征在于,包括:
2.根据权利要求1所述的业务处理系统,其特征在于,所述主节点还被配置成:
3.根据权利要求1所述的业务处理系统,其特征在于,所述主节点还被配置成:在服务部署阶段,基于所述预设数量和所述预设的任务处理并发数,在每一个业务节点中创建所述预设数量的任务执行模块,并且每一个被创建的任务执行模块具有所述任务处理并发数。
4.根据权利要求1所述的业务处理系统,其特征在于,所述主节点还被配置成:在所述业务节点包括的任务执行模块的数量大于所述预设数量的情况下,删除已经处理完所有任务的任务执行模块。
5.根据权利要求1所述的业务处理系统,其特征在于,所述主节点包括任务调度模块和控制模块,所述任务调度模块和所述控制模块通信连接,其中:
6.根据权利要求5所述的业务处理系统,其特征在于,所述任务调度模块还被配置成:
7.根据权利要求5所述的业务处理系统,其特征在于,所述控制模块还被配置成:在服务部署阶段,基于所述预设数量和所述预设的任务处理并发数,在每一个业务节点中创建所述预设数量的任务执
8.根据权利要求5所述的业务处理系统,其特征在于,所述控制模块还被配置成:在所述业务节点包括的任务执行模块的数量大于所述预设数量的情况下,删除已经处理完所有任务的任务执行模块。
9.根据权利要求2或6所述的业务处理系统,其特征在于,所述任务执行模块包括任务接收子模块和任务处理子模块,并且其中:
10.一种业务处理方法,其被应用于根据权利要求1至9中任一项所述的业务处理系统的主节点,其特征在于,所述业务处理方法包括:
11.根据权利要求10所述的业务处理方法,其特征在于,所述基于所述需要进行处理的任务的数量和所述任务处理并发数,确定任务执行模块的需求数量包括:
12.根据权利要求10所述的业务处理方法,其特征在于,还包括:
13.根据权利要求12所述的业务处理方法,其特征在于,所述将所接收的需要进行处理的任务转发给所述空闲的任务执行模块包括:
14.一种计算设备,其包括处理器和存储器,其特征在于,所述存储器上存储有可执行的指令,所述可执行的指令在由所述处理器执行的情况下,实现根据权利要求10至13中任一项所述的业务处理方法。
15.一种存储介质,其特征在于,所述存储介质上存储有可执行的指令,所述可执行的指令在被处理器执行的情况下,实现根据权利要求10至13中任一项所述的业务处理方法。
...【技术特征摘要】
1.一种业务处理系统,其特征在于,包括:
2.根据权利要求1所述的业务处理系统,其特征在于,所述主节点还被配置成:
3.根据权利要求1所述的业务处理系统,其特征在于,所述主节点还被配置成:在服务部署阶段,基于所述预设数量和所述预设的任务处理并发数,在每一个业务节点中创建所述预设数量的任务执行模块,并且每一个被创建的任务执行模块具有所述任务处理并发数。
4.根据权利要求1所述的业务处理系统,其特征在于,所述主节点还被配置成:在所述业务节点包括的任务执行模块的数量大于所述预设数量的情况下,删除已经处理完所有任务的任务执行模块。
5.根据权利要求1所述的业务处理系统,其特征在于,所述主节点包括任务调度模块和控制模块,所述任务调度模块和所述控制模块通信连接,其中:
6.根据权利要求5所述的业务处理系统,其特征在于,所述任务调度模块还被配置成:
7.根据权利要求5所述的业务处理系统,其特征在于,所述控制模块还被配置成:在服务部署阶段,基于所述预设数量和所述预设的任务处理并发数,在每一个业务节点中创建所述预设数量的任务执行模块,并且每一个被创建的任务执行模块具有所述任务处理并发数。
8.根据权利要求5所述的业务处理系统,其特征在于,所述控...
【专利技术属性】
技术研发人员:冯堃,毕柳成,孙来特,
申请(专利权)人:中国国际金融股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。