首页> 中国专利> 高并发场景下资源随机分配方法、装置及计算机可读介质

高并发场景下资源随机分配方法、装置及计算机可读介质

摘要

本发明公开了高并发场景下资源随机分配方法、装置及计算机可读介质,属于资源分配技术领域,要解决的技术问题为如何解决高并发场景下线上心理咨询医生资源分配的方法,既能保证高可用。包括如下步骤:获取在线心理咨询师的工号,并将工号作为value存储至第一集合;配置一个可调节的string数据类型的数据作为可咨询数据;随机匹配在线心理咨询师最为目标咨询师,并匹配到所述在目标咨询师的工号;通过SPOP从对应的第二集合中获取一个数据作为对比数据,将对比数据与所述目标咨询师配置的当前可咨询数据进行比对;目标咨询师的咨询通道资源可用,开启目标咨询师的咨询通道资源,在线心理咨询结束后,回收目标咨询师的咨询通道资源。

著录项

  • 公开/公告号CN113822535A

    专利类型发明专利

  • 公开/公告日2021-12-21

    原文格式PDF

  • 申请/专利权人 山东健康医疗大数据有限公司;

    申请/专利号CN202110987226.5

  • 发明设计人 苏克礼;黎文志;

    申请日2021-08-26

  • 分类号G06Q10/06(20120101);G16H80/00(20180101);G16H50/20(20180101);G16H20/70(20180101);

  • 代理机构37100 济南信达专利事务所有限公司;

  • 代理人潘悦梅

  • 地址 250117 山东省济南市槐荫区兴福街道西城西进时代中心D座1212室

  • 入库时间 2023-06-19 13:46:35

说明书

技术领域

本发明涉及资源分配技术领域,具体地说是高并发场景下资源随机分配方法、装置及计算机可读介质。

背景技术

社会的发展、生活水平的提高,生活的负担、工作上的压力、情感上的困惑等等。各种心理上的问题或疾病都对人有严重的危害,现有的心理咨询系统,可以支持手机app在线咨询心理医生,了解预防和解决各种心理上的困惑和疾病。

随着越来越过的用户使用心理咨询师的工作量也大大提升,为了减轻咨询师的工作负担,可以控制每个咨询师在线时可以咨询的数量,人性化的实现可手动调节咨询的数量,在高并发场景下保证系统的高性能和高可用性,保证在心理咨询项目中稳定的使用,保证合理的医生通信通道的分配方法。

基于上述,如何解决高并发场景下线上心理咨询医生资源分配的方法,既能保证高可用,又能快速地将普通用户和医生进行匹配,是需要解决的技术问题。

发明内容

本发明的技术任务是针对以上不足,提供高并发场景下资源随机分配方法、装置及计算机可读介质,来解决如何解决高并发场景下线上心理咨询医生资源分配的方法的技术问题。

第一方面,本发明提供高并发场景下资源随机分配方法,通过redis缓存为用户和在线心理咨询师建立通信,所述方法包括如下步骤:

获取在线心理咨询师的工号,并将工号作为value存储至第一集合,所述第一集合为Set集合并存储于redis缓存中;

对于每个在线心理咨询师,配置一个可调节的string数据类型的数据作为可咨询数据,将所述可咨询数据存储至与所述在线心理咨询师一一对应的第二集合中,并将所述在线心理咨询师的工号作为key,所述第二集合为Set集合并存储于redis缓存中;

通过SRANDMEMBER key[count]命令随机匹配在线心理咨询师最为目标咨询师,并匹配到所述在目标咨询师的工号;

基于目标咨询师的工号,通过SPOP从对应的第二集合中获取一个数据作为对比数据,将所述对比数据与所述目标咨询师配置的当前可咨询数据进行比对,如果所述对比数据小于对应的当前可咨询数据,所述目标咨询师的咨询通道资源可用,否则,所述目标咨询师的咨询通道资源不可用;

目标咨询师的咨询通道资源可用,开启所述目标咨询师的咨询通道资源并为用户提供在线心理咨询,在线心理咨询结束后,回收所述目标咨询师的咨询通道资源。

作为优选,所述Set集合是string类型的无序集合。

作为优选,所述Set集合通过哈希表表示。

作为优选,所述SRANDMEMBER key[count]命令返回Set集合中一个或多个随机数,以实现通过SRANDMEMBER key[count]命令随机匹配在线心理咨询师。

作为优选,对于每个在线心理咨询师,最大可咨询的限制数量为N,对应的可咨询数据为1-N,将所述可咨询数据按照1-N的序号存储至对应的第二集合中。

作为优选,开启所述目标咨询师的咨询通道资源并为用户提供在线心理咨询后,对所述当前心理咨询进行时间限制,达到预定时间后当前在线心理咨询结束。

作为优选,对于回收所述在线心理咨询师的咨询通道资源后,将所述比对数据与所述目标咨询师配置的当前可咨询数据进行比对,如果所述比对数据小于对应的当前可咨询数据,将所述比对数据存入对应的第二集合中,否则将所述比对数据从所述第二集合中抛弃。

第二方面,本发明提供装置,包括:至少一个存储器和至少一个处理器;

所述至少一个存储器,用于存储机器可读程序;

所述至少一个处理器,用于调用所述机器可读程序,执行第一方面任一所述的方法。

第三方面,本发明提供计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面任一所述的方法。

本发明的高并发场景下资源随机分配方法、装置及计算机可读介质具有以下优点:

1、心理咨询师可认为配置可咨询数据,通过随机匹配的方法匹配在线的心理咨询师并根据心理咨询师的可咨询数据进行用户分配,可以让每个心理咨询师具有接诊机会,避免了部分心理咨询师过于忙碌,而部分心理咨询师一直空闲,并有效减少了用户的排队时间;

2、对于有效的心理咨询资源进行了高效的分配,提高了工作效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

下面结合附图对本发明进一步说明。

图1为实施例1高并发场景下资源随机分配方法的流程框图;

图2为实施例1高并发场景下资源随机分配方法中工号在第一集合中的示意图;

图3为实施例1高并发场景下资源随机分配方法中可咨询数据在第二集合中的示意图;

图4为实施例1高并发场景下资源随机分配方法中当前可咨询数据的示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。

本发明实施例提供高并发场景下资源随机分配方法、装置及计算机可读介质,用于解决如何解决高并发场景下线上心理咨询医生资源分配的方法,既能保证高可用的技术问题。

实施例1:

本发明的高并发场景下资源随机分配方法,通过redis缓存为用户和在线心理咨询师建立通信,该方法包括如下步骤:

S100、获取在线心理咨询师的工号,并将工号作为value存储至第一集合,第一集合为Set集合并存储于redis缓存中;

S200、对于每个在线心理咨询师,配置一个可调节的string数据类型的数据作为可咨询数据,将可咨询数据存储至与在线心理咨询师一一对应的第二集合中,并将在线心理咨询师的工号作为key,第二集合为Set集合并存储于redis缓存中;

S300、通过SRANDMEMBER key[count]命令随机匹配在线心理咨询师最为目标咨询师,并匹配到在目标咨询师的工号;

S400、基于目标咨询师的工号,通过SPOP从对应的第二集合中获取一个数据作为对比数据,将对比数据与目标咨询师配置的当前可咨询数据进行比对,如果对比数据小于对应的当前可咨询数据,标咨询师的咨询通道资源可用,否则,目标咨询师的咨询通道资源不可用;

S500、目标咨询师的咨询通道资源可用,开启目标咨询师的咨询通道资源并为用户提供在线心理咨询,在线心理咨询结束后,回收目标咨询师的咨询通道资源。

本实施例中Redis中Set是string类型的无序集合。集合是通过哈希表实现的,所以添加删除查找的复杂度都是O(1)。集合成员是唯一的,如图2所示,所以不会出现重复的数据,也就说明咨询师上线后,随机匹配到的咨询师有且唯一。

SRANDMEMBER key[count]返回集合中一个或多个随机数,通过这个命令来实现随机匹配咨询师。

心理咨询师有着最大可咨询的限制数量,redis缓存中也存入一个string数据类型的数据,限制数量1-10,可做调节,咨询师的员工号作为key,具体如图3所示,上图是可咨询数量,我们在按照1-10的序号,存如Set集合中,咨询师的员工号作为key。

每次匹配到对应的咨询师工号,再去咨询师存放序号的第二集合中使用SPOP随机拿出一个比对数据,再用拿出的比对数据和该目标咨询师配置的当前可咨询数据作比较,如果小于当前可咨询数据,说明该目标咨询师的咨询通道资源可以使用,大于则该目标咨询师的咨询通道资源不可使用。

目标咨询师为用户提供心理咨询服务时有时间限制,当咨询结束,需要将目标咨询师的咨询通道资源进行回收操作,每次回收都会把比对数据对应的序号和目标咨询师配置的当前可咨询数据作比较,小于当前可咨询数据才可以存入对应的第二集合中,大于则抛弃。

对于每个在线心理咨询师,其当前可咨询数据是可以随时调整的,每个在线心理咨询师可根据当前工作的实际情况进行调整,如图4所示,本实施例中每个心理咨询师的可咨询数量最大限度是10,最小是1,为了保证数据的准确性,在递增或递减都是在原子性的实现。

实施例2:

本发明的装置,包括:至少一个存储器和至少一个处理器,至少一个存储器,用于存储机器可读程序;至少一个处理器,用于调用所述机器可读程序,执行本发明实施例1公开的方法。

实施例3:

本发明实施例还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行本发明任一实施例中的方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。

在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。

用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。

此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。

此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。

需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。

以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。

上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号