G06F16/2457 G06F16/2458 G06F16/28 G06Q40/02
1.一种申请自动分配方法,其特征在于,所述申请自动分配方法包括:
执行定时脚本,每隔预设时间段接收资源获取请求,所述资源获取请求存储至预设资源数据库中;
获取所述资源获取请求的请求方的所在地;
将所述资源获取请求按照所述资源获取请求的请求方所在地进行分类;
判断所述资源获取请求的请求方的所在地的分类是否超过一个;
若判断结果为所述资源获取请求的请求方的所在地的分类超过一个,则获取预设个数的分配脚本;
通过分配脚本在所述预设资源数据库中筛选出与所述资源获取请求相匹配的处理方;
调用redis接口获取redis中所述处理方已分配的资源获取请求数量;
根据预设权重以及所述已分配的资源获取请求数量将所述资源获取请求分配给所述处理方。
2.根据权利要求1所述的申请自动分配方法,其特征在于,所述通过分配脚本在所述预设资源数据库中筛选出与所述资源获取请求相匹配的处理方包括:
获取所有处理方的所在地;
从所述所有处理方中筛选出所在地与资源获取请求的请求方的所在地相同的目标处理方;
将所述目标处理方确定为所述资源获取请求相匹配的处理方。
3.根据权利要求1所述的申请自动分配方法,其特征在于,在所述获取预设个数的分配脚本的步骤之后,所述方法还包括:
将所述预设个数的分配脚本进程执行并行运行;
获取正在运行的所述分配脚本的运行时长;
检测运行的所述分配脚本的运行时长是否超出预设运行时长;
若检测结果为所述分配脚本的运行时长超出预设运行时长,则向预设联系人输出告警提示。
4.根据权利要求1所述的申请自动分配方法,其特征在于,在将所述资源获取请求定时分配给所述处理方之后,所述方法还包括:
获取分配给所述处理方的资源获取请求数量;
将分配给所述处理方的资源获取请求数量保存在预设资源数据库并同步更新到redis中。
5.根据权利要求1所述的申请自动分配方法,其特征在于,当每个所述处理方已分配的资源获取请求数量均为0时,所述根据预设权重以及所述已分配的资源获取请求数量将所述资源获取请求分配给所述处理方包括:
根据所述预设权重将所述资源获取请求定时分配给对优先级最高的处理方,再分配给优先级较低的处理方。
6.根据权利要求1所述的申请自动分配方法,其特征在于,当存在所述处理方已分配的资源获取请求数量不为0时,所述根据预设权重以及所述已分配的资源获取请求数量将所述资源获取请求分配给所述处理方还包括:
将每个所述已分配的资源获取请求数量除以所述预设权重得到取值结果,所述取值结果包括整数结果及对应的余数结果;
判断所有所述整数结果中是否存在唯一最小值;
若判断存在所述唯一最小值,则将所述资源获取请求定时分配给所述唯一最小值对应的处理方;
若判断不存在所述唯一最小值,则将所述资源获取请求定时分配给最小值中对应优先级高的处理方。
7.根据权利要求6所述的申请自动分配方法,其特征在于,当所述余数结果不为0时,将所述资源获取请求定时分配给所述处理方包括:
将所述预设权重减去所述余数结果,得到差值;
将所述差值对应的资源获取请求数量分配给对应所述余数结果不为0的处理方。
8.一种申请自动分配装置,其特征在于,所述申请自动分配装置包括:
定时脚本执行模块,用于执行定时脚本,每隔预设时间段接收资源获取请求,所述资源获取请求存储至预设资源数据库中;
所在地获取模块,用于获取所述资源获取请求的请求方的所在地;
所在地分类模块,用于将所述资源获取请求按照所述资源获取请求的请求方的所在地进行分类;
分类数量判断模块,用于判断所述资源获取请求的请求方的所在地的分类是否超过一个;
分配脚本获取模块,用于若判断结果为所述资源获取请求的请求方的所在地的分类超过一个,则获取预设个数的分配脚本;
处理方匹配模块,用于通过分配脚本在所述预设资源数据库中筛选出与所述资源获取请求相匹配的处理方;
已分配数量获取模块,用于调用redis接口获取redis中所述处理方已分配的资源获取请求数量;
申请分配模块,用于根据预设权重以及所述已分配的资源获取请求数量将所述资源获取请求分配给所述处理方。
9.一种终端,其特征在于,所述终端包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述申请自动分配方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述申请自动分配方法。
本发明涉及数据分析技术领域,具体涉及一种申请自动分配方法、申请自动分配装置、终端以及计算机可读存储介质。
目前,在同意资源获取请求之前需要对提出资源请求的用户的资产情况进行风险评估审核,审核通过后才可以发放相关资源。用户在将资源获取请求提交成功后,后台系统可以将资源获取请求通过定时方式自动分配给处理方。目前的资源获取请求分配方案主要采用的是随机平均方案,也就是将资源获取请求平均分配给处理方。这就存在一些问题,如果资源获取请求的数量较少,但处理方的数量不止一个的情况下,分配可能会产生不平均现象,会发生将资源获取请求集中分配给一个处理方,而其他处理方一直未被分配的情况,从而导致资源获取请求的处理效率低下的问题。
鉴于以上内容,有必要提出一种申请自动分配方法、申请自动分配装置、终端以及计算机可读存储介质,通过多个分配脚本的进程并行执行资源获取请求的分配,且通过对分配脚本的执行时长进行检测,对超过一定时长的分配脚本进行告警提示,避免资源获取请求分配过程中出现错误,提高资源获取请求分配效率。
本发明实施例第一方面提供一种申请自动分配方法,所述申请自动分配方法包括:
执行定时脚本,每隔预设时间段接收资源获取请求,所述资源获取请求存储至预设资源数据库中;获取所述资源获取请求的请求方的所在地;
将所述资源获取请求按照所述资源获取请求的请求方的所在地进行分类;
判断所述资源获取请求的请求方的所在地的分类是否超过一个;
若判断结果为所述资源获取请求的请求方的所在地的分类超过一个,则获取预设个数的分配脚本;
通过分配脚本在所述预设资源数据库中筛选出与所述资源获取请求相匹配的处理方;
调用redis接口获取redis中所述处理方已分配的资源获取请求数量;
根据预设权重以及所述已分配的资源获取请求数量将所述资源获取请求分配给所述处理方。
进一步的,在本发明实施例提供的上述申请自动分配方法中,所述筛选出与所述资源获取请求相匹配的处理方包括:
获取所有处理方的所在地;
从所述所有处理方中筛选出所在地与所述请求方的所在地相同的目标处理方;
将所述目标处理方确定为所述资源获取请求相匹配的处理方。
进一步的,在本发明实施例提供的上述申请自动分配方法中,在所述获取预设个数的分配脚本的步骤之后,所述方法还包括:
将所述预设个数的分配脚本进程执行并行运行;
获取正在运行的所述分配脚本的运行时长;
检测运行的所述分配脚本的运行时长是否超出预设运行时长;
若检测结果为所述分配脚本的运行时长超出预设运行时长,则向预设联系人输出告警提示。
进一步的,在本发明实施例提供的上述申请自动分配方法中,在将所述资源获取请求定时分配给所述处理方之后,所述方法还包括:
获取分配给所述处理方的资源获取请求数量;
将分配给所述处理方的资源获取请求数量保存在预设资源数据库并同步更新到redis中。
进一步的,在本发明实施例提供的上述申请自动分配方法中,当每个所述处理方已分配的资源获取请求数量均为0时,所述根据预设权重以及所述已分配的资源获取请求数量将所述资源获取请求分配给所述处理方包括:
根据所述预设权重将所述资源获取请求定时分配给对优先级最高的处理方,再分配给优先级较低的处理方。
进一步的,在本发明实施例提供的上述申请自动分配方法中,当存在所述处理方已分配的资源获取请求数量不为0时,所述根据预设权重以及所述已分配的资源获取请求数量将所述资源获取请求分配给所述处理方还包括:
将每个所述已分配的资源获取请求数量除以所述预设权重得到取值结果,所述取值结果包括整数结果及对应的余数结果;
判断所有所述整数结果中是否存在唯一最小值;
若判断存在所述唯一最小值,则将所述资源获取请求定时分配给所述唯一最小值对应的处理方;
若判断不存在所述唯一最小值,则将所述资源获取请求定时分配给最小值中对应优先级高的处理方。
进一步的,在本发明实施例提供的上述申请自动分配方法中,当所述余数结果不为0时,将所述资源获取请求定时分配给所述处理方包括:
将所述预设权重减去所述余数结果,得到差值;
将所述差值对应的资源获取请求数量分配给对应所述余数结果不为0的处理方。
本发明实施例第二方面还提供一种申请自动分配装置,所述申请自动分配装置包括:
定时脚本执行模块,用于执行定时脚本,每隔预设时间段接收资源获取请求,所述资源获取请求存储至预设资源数据库中;
所在地获取模块,用于获取所述资源获取请求的请求方的所在地;
所在地分类模块,用于将所述资源获取请求按照所述资源获取请求的请求方的所在地进行分类;
分类数量判断模块,用于判断所述资源获取请求的请求方的所在地的分类是否超过一个;
分配脚本获取模块,用于若判断结果为所述资源获取请求的请求方的所在地的分类超过一个,则获取预设个数的分配脚本;
处理方匹配模块,用于通过分配脚本在所述预设资源数据库中筛选出与所述资源获取请求相匹配的处理方;
已分配数量获取模块,用于调用redis接口获取redis中所述处理方已分配的资源获取请求数量;
申请分配模块,用于根据预设权重以及所述已分配的资源获取请求数量将所述资源获取请求分配给所述处理方。
本发明实施例第三方面还提供一种终端,所述终端包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现上述任意一项所述申请自动分配方法。
本发明实施例第四方面还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述中任意一项所述申请自动分配方法。
本发明所述的申请自动分配方法、申请自动分配装置、终端以及计算机可读存储介质,执行定时脚本,每隔预设时间段接收资源获取请求,所述资源获取请求存储至预设资源数据库中;获取所述资源获取请求的请求方的所在地;将所述资源获取请求按照所述资源获取请求的请求方的所在地进行分类;判断所述资源获取请求的请求方的所在地的分类是否超过一个;若判断结果为所述资源获取请求的请求方的所在地的分类超过一个,则获取预设个数的分配脚本;通过分配脚本在所述预设资源数据库中筛选出与所述资源获取请求相匹配的处理方;调用redis接口获取redis中所述处理方已分配的资源获取请求数量;根据预设权重以及所述已分配的资源获取请求数量将所述资源获取请求分配给所述处理方。利用本发明实施例,通过多个分配脚本的进程并行执行资源获取请求的分配,且通过对分配脚本的执行时长进行检测,对超过一定时长的分配脚本进行告警提示,避免资源分配过程中出现错误,提高资源获取请求分配效率;本发明实施例通过对处理方进行等级划分,并根据预设权重对资源获取请求进行分配,避免分配不平均的问题,提高资源获取请求分配效率。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明第一实施方式提供的申请自动分配方法的流程图。
图2是本发明一实施方式的终端的结构示意图。
图3是图2所示的终端的示例性的功能模块图。
主要元件符号说明
终端 1 存储器 10 显示屏 20 处理器 30 申请自动分配装置 100 定时脚本执行模块 101 所在地获取模块 102 所在地分类模块 103 分类数量判断模块 105 分配脚本获取模块 107 处理方匹配模块 109 已分配数量获取模块 111 申请分配模块 113
如下具体实施方式将结合上述附图进一步说明本发明实施例。
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
图1是本发明第一实施方式的申请自动分配方法的流程图,所述申请自动分配方法可以应用于终端1,所述终端1可以是例如智能手机、笔记本电脑、台式/平板电脑、智能手表以及个人数字助理(Personal Digital Assistant,PDA)等智能设备。如图1所示,所述申请自动分配方法可以包括如下步骤:
S101:执行定时脚本,每隔预设时间段接收资源获取请求,所述资源获取请求存储至预设资源数据库中。
当用户需要获取资源时,需要提出资源获取请求。当申请自动分配装置100接收到用户发起的资源获取请求的指令信息之后会生成一个资源获取请求页面,并将所述资源获取请求页面推送给用户。由用户在资源获取请求页面上按照提示要求填写资源获取请求,由审核机构实时接收资源获取请求并且审核所述资源获取请求是否符合要求,只有审核通过后才会安排办理资源获取的后续手续。可以理解的是,所述申请自动分配装置100还提供一交互界面,所述交互界面上的预设区域可以设置有“资源获取”的图标,所述指令信息可以包括:所述交互界面上的预设区域处针对“资源获取”图标的点击操作;或者,在距离所述交互界面预设距离(例如,所述预设距离为5厘米)处的预设操作(例如,所述预设操作为单手打圈的操作);或者,在距离所述交互界面预设距离(例如,所述预设距离为5厘米)处,输出预设语音信息(例如,所述预设语音信息为“获取资源”)。此处并不对指令信息作出限制。
在本实施方式中,所述申请自动分配装置100可以通过资源获取请求定时分配的方式,将所述资源获取请求自动分配给相关处理方。在对所述资源获取请求进行定时分配之前,所述方法包括:执行定时脚本,每隔预设时间段获取资源获取请求,所述资源获取请求存储至预设资源数据库中。所述定时脚本为终端用户预先设置的用于每个预设时间段获取资源获取请求的脚本。其中,所述预设时间段为在上一次资源获取请求自动分配结束与本次资源获取请求自动分配开始之前的时间间隔。所述预设时间段为终端用户根据实际资源获取请求分配情况预先设置的,例如,所述预设时间段为15分钟。所述用户填写的资源获取请求包括:资源类型以及所述资源获取请求的请求方的所在地。可以理解的是,所述资源获取请求的请求方的所在地可以通过用户主动输入的方式进行获取(例如,所述资源获取请求页面中有一栏为“资源获取请求的请求方所在城市”的填写),也可以通过定位用户办理资源获取请求业务时的位置,获得所述资源获取请求的请求方的所在地。
S102:获取所述资源获取请求的请求方的所在地。
在本实施方式中,所述资源获取请求中包括资源类型以及所述资源获取请求的请求方的所在地,从而可以直接从所述资源获取请求中获取所述资源获取请求的请求方的所在地。
S103:将所述资源获取请求按照所述资源获取请求的请求方的所在地进行分类。
在本实施方式中,对于不同的资源获取请求,其对应的所述资源获取请求的请求方的所在地可能相同,也可能不相同。对于所述资源获取请求的请求方的所在地不相同的情况下,将所述资源获取请求按照所述资源获取请求的请求方的所在地进行分类。例如,将所述资源获取请求按照所述资源获取请求的请求方的所在地可能是北京、上海、南京等地区。分别按照北京、上海、南京等地区对所述资源获取请求进行分类,同一类别中所述资源获取请求对应的请求方的所在地相同。
S104:判断所述资源获取请求的请求方的所在地的分类是否超过一个,若判断结果为所述资源获取请求的请求方的所在地的分类超过一个,则执行步骤S105。
在本实施方式中,判断所述资源获取请求的请求方的所在地的分类是否超过一个,也即判断所述资源获取请求的请求方的所在地是否存在不相同的情况,若判断结果为所述资源获取请求的请求方的所在地存在不相同的情况,则执行步骤S105。可以理解的是,若判断结果为所述资源获取请求的请求方的所在地相同,则可以直接通过一分配脚本在所述预设资源数据库中筛选出与所述资源获取请求相匹配的处理方。
S105:获取预设个数的分配脚本。
在本实施方式中,所述分配脚本为终端用户设置的,用于对资源获取请求进行分配的脚本。当所述资源获取请求的请求方的所在地的分类是否超过一个时,获取预设个数的分配脚本。所述预设个数与所述资源获取请求的请求方的所在地的分类个数相同。也即,对于每一个所述资源获取请求的请求方所在地,都有与之对应的分配脚本进行执行资源获取请求分配任务。在所述获取预设个数的分配脚本的步骤之后,所述方法还包括:将所述预设个数的分配脚本进程执行并行运行;获取正在运行的所述分配脚本的运行时长;检测运行的所述分配脚本的运行时长是否超出预设运行时长;若检测结果为所述分配脚本的运行时长超出预设运行时长,则向预设联系人输出告警提示。所述预设联系人为终端用户预先设置的,用于对分配脚本执行状态进行检测的联系人。当检测到运行的所述分配脚本的运行时长超出预设运行时长时,则当前运行的分配脚本可能存在异常,即时将异常情况输出给预设联系人,能够避免系统崩溃的情况。
S106:通过分配脚本在所述预设资源数据库中筛选出与所述资源获取请求相匹配的处理方。
在本实施方式中,通过分配脚本在所述预设资源数据库中筛选出与所述资源获取请求相匹配的处理方,所述筛选出与所述资源获取请求相匹配的处理方包括:获取所有处理方的所在地;从所述所有处理方中筛选出所在地与所述请求方的所在地相同的目标处理方;将所述目标处理方确定为所述资源获取请求相匹配的处理方。由资源获取请求所在地的处理方对资源获取请求进行进一步审核跟踪处理。
对于每个处理方进行等级划分,将当前的处理方划分为预定个数的等级,例如,将当前的处理方划分为3个等级,等级从低到高依次分别为等级1、等级2以及等级3。在所述筛选出与所述资源获取请求相匹配的处理方之后,所述方法还包括:获取所述处理方的年资、职称与资源获取请求进件率;根据年资、职称与资源获取请求进件率按照预设处理规则计算处理方等级;将所述处理方等级确定为资源获取请求分配的优先级。所述处理方的等级与所述处理方对应的优先级一一对应。对于处理方等级高的客户,其对应的优先级也高,对于处理方等级低的客户,其对应的优先级也低。所述预设处理规则可以是对所述处理方的年资、职称以及资源获取请求的进件率进行综合考量而制定出来的规则。设定等级越高的处理方,其对应的经验越丰富,进件率越高。所述预定个数可以是终端用户根据实际情况(例如,处理方的数量以及处理方的经验情况等)预先设置的。可以理解的是,所述处理方的等级可以在所述申请自动分配装置100中进行编辑设置。
S107:调用redis接口获取redis中所述处理方已分配的资源数量。
在本实施方式中,所述处理方已分配的资源获取请求数量包括在本次开始定时分配之前,等待每个所述处理方处理的资源获取请求的数量。例如,当前的处理方划分为3个等级,等级从低到高依次为等级1、等级2以及等级3,每个等级的处理方的数量均为1个。等级1-3的处理方的待处理资源获取请求的数量分别为0、1及1,则所述处理方信息中已分配的资源获取请求数量即为等级1-3的处理方的待处理资源获取请求的数量分别为0、1及1。
将分配给所述处理方的资源获取请求数量保存在预设资源数据库并同步更新到redis中,所述预设资源数据库与redis主要用于记录分配给处理方的资源获取请求数量。所述预设资源数据库与redis中包含处理方信息(处理方信息可以包括处理方的等级及对于处理方等级下的处理方数量)以及该处理方对应的已分配资源获取请求数量。可以理解的是,将分配给所述处理方的的资源获取请求数量同步到redis中,在下次查询处理方对应的资源获取请求数量时,可以直接从redis中获取数据,不需要和预设资源数据库进行交互,提高数据查和操作的速率。所述获取所述处理方已分配的资源获取请求数量包括:通过调用redis接口获取在redis(或预设资源数据库,优选的,选择在redis中进行搜索)中搜索所述处理方信息;根据所述处理方得到所述处理方当前已分配的资源获取请求数量。
S108:根据预设权重以及所述已分配的资源获取请求数量将所述资源获取请求分配给所述处理方。
在本实施方式中,所述申请自动分配装置100的支持设置资源获取请求分配的预设权重,所述预设权重在资源获取请求分配时可以纳入计算公式。所述预设权重可以是终端用户根据实际情况(例如,所述处理方的等级情况、所述处理方的数量情况等)预先设置的。
可以理解的是,已分配的资源获取请求数量情况分为两种情况,一种是每个所述处理方已分配的资源获取请求数量均为0(也即,当前处理方均不存在已分配资源获取请求);另一种是存在所述处理方已分配的资源获取请求数量不为0(也即,当前处理方存在已分配资源获取请求)。当每个所述处理方已分配的资源获取请求数量均为0时,所述根据预设权重以及所述已分配的资源获取请求数量将所述资源获取请求定时分配给所述处理方包括:根据所述预设权重将所述资源获取请求定时分配给优先级最高的处理方,再分配给优先级较低的处理方。当存在所述处理方已分配的资源获取请求数量不为0时,所述根据预设权重以及所述已分配的资源获取请求数量将所述资源获取请求定时分配给所述处理方包括:将每个所述已分配的资源获取请求数量除以所述预设权重得到取值结果,所述取值结果包括整数结果及对应的余数结果;判断所有所述整数结果中是否存在唯一最小值;若判断存在所述唯一最小值,则将所述资源获取请求定时分配给所述唯一最小值对应的处理方;若判断不存在所述唯一最小值,则将所述资源获取请求定时分配给最小值中对应优先级高的处理方。当所述余数结果不为0时,将所述资源获取请求定时分配给所述处理方包括:将所述预设权重减去所述余数结果,得到差值;将所述差值对应的资源获取请求数量分配给对应所述余数结果不为0的处理方。
具体的,假设某一地区(例如,上海地区)共有3个处理方A、处理方B以及处理方C,对所述处理方设置处理方等级3(等级最高)、等级2(等级居中)以及等级1(等级最低)。其中,处理方A对应处理方等级3,处理方B对应处理方等级2,处理方C对应处理方等级1。
若设置预设权重为1(也即每次分配资源获取请求的数量为1个),根据预设权重可以对资源获取请求进行如下分配:对于资源获取请求数量为2个的情况(此时处理方并未存在资源获取请求分配),处理方A、B以及C分配到的资源获取请求的数量分别为1、1、0(因为处理方A的等级最高,因此对处理方A先进行分配1个资源获取请求,再对处理方B分配1个资源获取请求);对于资源获取请求数量为4个的情况(此时处理方A、B以及C的已分配情况分别为1、1、0),处理方A、B以及C分配到的资源获取请求的数量分别为2、1、1(将所述已分配资源获取请求的数量除以预设权重得到取值结果1、1、0;三个取值结果中存在唯一最小值0,则对处理方C进行分配1个资源获取请求,再依序对处理方A进行分配1个资源获取请求);对于资源数量为8个的情况,处理方A、B以及C分配到的资源获取请求的数量分别为3、3、2;依次类推,具体如下表所示:
表1:权重为1的资源获取请求分配情况表
若设置预设权重为2(也即每次分配资源获取请求的数量为2个),根据预设权重可以对资源获取请求进行如下分配:对于资源获取请求数量为2个的情况(此时处理方并未存在资源获取请求分配),处理方A、B以及C分配到的资源获取请求的数量分别为2、0、0;对于资源获取请求数量为2的第二次分配,处理方A、B以及C分配到的资源获取请求的数量分别为2、2、0;对于资源获取请求数量为4的第三次分配,处理方A、B以及C分配到的资源获取请求的数量分别为4、2、2;依次类推,在此不再赘述,具体如下表所示。可以理解的是,对于处理方A、B以及C对应的已分配情况为5、4、4时,将所述已分配资源获取请求的数量除以预设权重得到取值结果2余1、0、0,将整数部分的取值进行比较,可以看出,整数部分最小值为2,且最小值的个数不唯一,则获取最小值对应的处理方的优先级,则对处理方A优先分配资源获取请求。分配给该处理方的资源获取请求数量为预设权重减去余数值所得的差值,也即分配给处理方A的资源获取请求数量为1个。具体如下表所示:
表2:权重为2的资源获取请求分配情况表
若设置预设权重为3(也即每次分配资源获取请求的数量为3个),根据预设权重可以对资源获取请求进行如下分配:对于资源获取请求数量为2个的情况(此时处理方并未存在资源获取请求分配),处理方A、B以及C分配到的资源获取请求的数量分别为2、0、0;对于资源获取请求数量为2的第二次分配,处理方A、B以及C对应的已分配情况为2、0、0,将所述已分配资源获取请求的数量除以预设权重得到取值结果0余2、0、0,将其他取值结果与其整数部分的取值进行比较,可以看出,整数部分最小值为0,且最小值的个数不唯一,则获取最小值对应的处理方的优先级,则对处理方A优先分配资源获取请求。分配给该处理方的资源获取请求数量为预设权重减去余数值所得的差值,也即分配给处理方A的资源获取请求数量为1个,则处理方A、B以及C分配到的资源获取请求的数量分别为3、1、0;对于资源获取请求数量为4的第三次分配,处理方A、B以及C对应的已分配情况为3、1、0,将所述已分配资源获取请求的数量除以预设权重得到整数部分的取值分别为1、0、0,对应余数部分的取值分别为0、1、0,将整数部分的取值进行比较,可以看出,整数部分最小值为0,且最小值的个数不唯一,则获取最小值对应的处理方的优先级,则对处理方B优先分配资源获取请求。分配给该处理方的资源获取请求数量为预设权重减去余数值所得的差值,也即分配给处理方A的资源获取请求数量为2个,则处理方A、B以及C分配到的资源获取请求的数量分别为3、3、2;依次类推,在此不再赘述,具体如下表所示:
表3:权重为3的资源获取请求分配情况表
本发明实施例提供一种申请自动分配方法,执行定时脚本,每隔预设时间段接收资源获取请求,所述资源获取请求存储至预设资源数据库中;获取所述资源获取请求的请求方的所在地;将所述资源获取请求按照所述资源获取请求的请求方的所在地进行分类;判断所述资源获取请求的请求方的所在地的分类是否超过一个;若判断结果为所述资源获取请求的请求方的所在地的分类超过一个,则获取预设个数的分配脚本;通过所述分配脚本在所述预设资源数据库中筛选出与所述资源获取请求相匹配的处理方;调用redis接口获取redis中所述处理方已分配的资源获取请求数量;根据预设权重以及所述已分配的资源获取请求将所述资源获取请求分配给所述处理方。利用本发明实施例,通过多个分配脚本的进程并行执行,且通过对分配脚本的执行时长进行检测,对超过一定时长的分配脚本进行告警提示,避免资源获取请求分配过程中出现错误,提高资源获取请求分配效率。
以上是对本发明实施例所提供的方法进行的详细描述。根据不同的需求,所示流程图中方块的执行顺序可以改变,某些方块可以省略。下面对本发明实施例所提供的终端1进行描述。
本发明实施例还提供一种终端1,包括存储器10、处理器30及存储在存储器10上并可在处理器30上运行的计算机程序,所述处理器30执行所述程序时实现上述任一实施方式中所述的申请自动分配方法的步骤。
图2是本发明一实施方式的终端1的结构示意图,如图2所示,终端1包括存储器10,存储器10中存储有申请自动分配装置100。所述的终端1可以是手机、平板电脑、个人数字助理等具有应用显示功能的终端1。所述申请自动分配装置100可以执行定时脚本,每隔预设时间段接收资源获取请求,所述资源获取请求存储至预设资源数据库中;获取所述资源获取请求的请求方的所在地;将所述资源获取请求按照所述资源获取请求的请求方的所在地进行分类;判断所述资源获取请求的请求方的所在地的分类是否超过一个;若判断结果为所述资源获取请求的请求方的所在地的分类超过一个,则获取预设个数的分配脚本;通过所述分配脚本在所述预设资源数据库中筛选出与所述资源获取请求相匹配的处理方;调用redis接口获取redis中所述处理方已分配的资源获取请求数量;根据预设权重以及所述已分配的资源获取请求数量将所述资源获取请求分配给所述处理方。利用本发明实施例,通过多个分配脚本的进程并行执行,且通过对分配脚本的执行时长进行检测,对超过一定时长的分配脚本进行告警提示,避免资源获取请求分配过程中出现错误,提高资源获取请求分配效率。
本实施方式中,终端1还可以包括显示屏20及处理器30。存储器10、显示屏20可以分别与处理器30电连接。
所述的存储器10可以是不同类型存储设备,用于存储各类数据。例如,可以是终端1的存储器、内存,还可以是可外接于该终端1的存储卡,如闪存、SM卡(Smart Media Card,智能媒体卡)、SD卡(Secure Digital Card,安全数字卡)等。此外,存储器10可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。存储器10用于存储各类数据,例如,所述终端1中安装的各类应用程序(Applications)、应用上述申请自动分配方法而设置、获取的数据等信息。
显示屏20安装于终端1,用于显示信息。
处理器30用于执行所述申请自动分配方法以及所述终端1内安装的各类软件,例如操作系统及应用显示软件等。处理器30包含但不限于处理器(Central ProcessingUnit,CPU)、微控制单元(Micro Controller Unit,MCU)等用于解释计算机以及处理计算机软件中的数据的装置。
所述的申请自动分配装置100可以包括一个或多个的模块,所述一个或多个模块被存储在终端1的存储器10中并被配置成由一个或多个处理器(本实施方式为一个处理器30)执行,以完成本发明实施例。例如,参阅图3所示,所述申请自动分配装置100可以包括定时脚本执行模块101、所在地获取模块102、所在地分类模块103、分类数量判断模块105、分配脚本获取模块107、处理方匹配模块109、已分配数量获取模块111与申请分配模块113。本发明实施例所称的模块可以是完成一特定功能的程序段,比程序更适合于描述软件在处理器中的执行过程。
可以理解的是,对应上述申请自动分配方法中的各实施方式,终端1可以包括图3中所示的各功能模块中的一部分或全部,各模块的功能将在以下具体介绍。需要说明的是,以上申请自动分配方法的各实施方式中相同的名词相关名词及其具体的解释说明也可以适用于以下对各模块的功能介绍。为节省篇幅及避免重复起见,在此就不再赘述。
定时脚本执行模块101可以用于执行定时脚本,每隔预设时间段接收资源获取请求,所述资源获取请求存储至预设资源数据库中;获取所述资源获取请求的请求方的所在地。
所在地获取模块102可以用于获取所述资源获取请求的请求方的所在地。
所在地分类模块103可以用于将所述资源获取请求按照所述资源获取请求的请求方的所在地进行分类。
分类数量判断模块105可以用于判断所述资源获取请求的请求方的所在地的分类是否超过一个。
分配脚本获取模块107可以用于若判断结果为所述资源获取请求的请求方的所在地的分类超过一个,则获取预设个数的分配脚本。
处理方匹配模块109可以用于通过所述分配脚本在所述预设资源数据库中筛选出与所述资源获取请求相匹配的处理方。
已分配数量获取模块111可以用于调用redis接口获取redis中所述处理方已分配的资源获取请求数量。
申请分配模块113可以用于根据预设权重以及所述已分配的资源获取请求数量将所述资源获取请求分配给所述处理方。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施方式中的申请自动分配方法的步骤。
所述申请自动分配装置100/终端1/计算机设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施方式方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)等。
所称处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器30是所述申请自动分配装置100/终端1的控制中心,利用各种接口和线路连接整个申请自动分配装置100/终端1的各个部分。
所述存储器10用于存储所述计算机程序和/或模块,所述处理器30通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器10内的数据,实现所述申请自动分配装置100/终端1的各种功能。所述存储器10可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端1的使用所创建的数据(比如音频数据等)等。
在本发明所提供的几个具体实施方式中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的系统实施方式仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
对于本领域技术人员而言,显然本发明实施例不限于上述示范性实施例的细节,而且在不背离本发明实施例的精神或基本特征的情况下,能够以其他的具体形式实现本发明实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。
以上实施方式仅用以说明本发明实施例的技术方案而非限制,尽管参照以上较佳实施方式对本发明实施例进行了详细说明,本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或等同替换都不应脱离本发明实施例的技术方案的精神和范围。
本文发布于:2024-09-25 06:20:31,感谢您对本站的认可!
本文链接:https://www.17tex.com/tex/1/86195.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |