基于Java实现同一账户多种身份在高并发场景中的管理方法与流程

文档序号:37383987发布日期:2024-03-22 10:36阅读:13来源:国知局
基于Java实现同一账户多种身份在高并发场景中的管理方法与流程

本申请属于同一账户多种身份在高并发场景中的管理方法,具体涉及一种基于java实现同一账户多种身份在高并发场景中的管理方法。


背景技术:

1、java是一门面向对象的编程语言,不仅吸收了c++语言的各种优点,还摒弃了c++里难以理解的多继承、指针等概念,因此java语言具有功能强大和简单易用两个特征。java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

2、java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。java可以编写桌面应用程序、web应用程序、分布式系统和嵌入式系统应用程序等。

3、目前的一些账户系统是一账户多身份,且不支持多账户身份同时在线的账户系统,在这种情况下,一个账户下有多种身份,不同的身份不可以同时在线,每种身份对应了不同的信息。当用户用一个账户下的多个身份都需要发生业务的时候,每个业务都会触发账户身份切换的操作,随着业务量越大,并发越来越高,引起了上个业务切换完身份之后还没有完成业务操作就被另外一个业务将身份切换导致当前身份失效的问题,从而造成业务成功率下降,甚至难以完成当下互联网应用用户中心模块中通常提供了切换账户身份的能力,但是这些能力往往都不会考虑对当前身份下正在进行的业务成功与否及造成的影响,当切换身份异常频繁时就会导致业务难以继续。

4、为此,我们提出一种基于java实现同一账户多种身份在高并发场景中的管理方法来解决上述问题。


技术实现思路

1、现在方案中在高并发场景下频繁切换账户身份造成业务无法稳定进行。使用本方法在账户身份切换后,设置账户身份切换保护时间,保护时间范围内再次切换账户身份将其业务放入重试队列,保证了每次账户身份切换后都能有一定的时间去完成后续业务,等待账户身份切换保护时间过期后,其他业务再进行账户身份切换来完成后续业务,有效利用了账户资源并提高了业务完成速率及成功率。当下互联网应用用户中心模块中通常提供了切换账户身份的能力,但是这些能力往往都不会考虑对当前身份下正在进行的业务成功与否及造成的影响,当切换身份异常频繁时就会导致业务难以继续。

2、本申请提供一种基于java实现同一账户多种身份在高并发场景中的管理方法,s1:业务端发起账户身份切换请求后,将账户身份切换请求放入账户待切换身份任务列表中;

3、s2:然后发动驱动账户待切换身份列表执行的信息;

4、s3:服务端通过监听驱动账户待切换身份列表执行的消息,获取账户下的待切换身份列表;

5、s4:判断待切换身份列表是否不为空,如为空,则发送演示驱动账户待切换身份列表执行的消息,然后处理结束;若不为空,则获取账户下的待切换身份列表中时间最早的一个账户切换身份请求;

6、s5:设置账户身份切换保护时间,进行账户身份切换;

7、s6:然后判断账户身份是否切换成功,若切换成功后广播通知账户身份切换结果,然后移除账户下待切换身份列表中的记录;若账户身份切换不成功,则清空账户身份切换保护时间,然后广播通知账户身份切换结果,移除账户下待切换身份列表中的记录;

8、s7:处理结束。

9、包括业务端请求账户身份切换步骤和服务端异步处理账户身份切换步骤:

10、业务端请求账户身份切换步骤:业务端发起账户身份切换请求后,将账户身份切换请求放入账户待切换身份任务列表中,然后发动驱动账户待切换身份列表执行的信息;

11、服务端异步处理账户身份切换步骤:通过监听驱动账户待切换身份列表执行的消息,获取账户下的待切换身份列表,判断待切换身份列表不为空时,获取账户下的待切换身份列表中时间最早的一个账户切换身份请求,然后判断账户身份切换保护时间是否为空,若不为空则发送延时驱动账户待切换身份列表执行,然后处理结束,如果为空则需要设置账户身份切换保护时间,进行账户身份切换,然后判断账户身份是否切换成功,若切换成功后广播通知账户身份切换结果,然后移除账户下待切换身份列表中的记录,若账户身份切换不成功,则清空账户身份切换保护时间,然后广播通知账户身份切换结果,移除账户下待切换身份列表中的记录,最后处理结束。

12、在一些实施方式中,所述账户身份为根据预设多种账户身份。

13、在一些实施方式中,发动驱动账户待切换身份列表执行的信息从账户身份待切换列表按照请求时间顺序执行。

14、在一些实施方式中,账户身份切换保护时间用于操作的响应结果是异步的。

15、在一些实施方式中,该管理方法用于操作的账户系统是一账户多身份,且不支持多账户身份同时在线的账户系统。

16、在一些实施方式中,该管理方法采用的语言为java语言。

17、本申请提供的基于java实现同一账户多种身份在高并发场景中的管理方法,具有如下技术效果:

18、在一个账户下有多种身份,多种身份可同时在线的账户管理系统下,对高并发场景下频繁切换身份导致业务无法继续的场景无法支持的情况下,完成前置资源协调调度器的设计,对账户身份资源做协调分配,解决了特定场景下的资源协调问题,有效利用了账户资源并提高了业务完成速率及成功率,提高系统稳定性及特定场景的适应能力。

19、通过如下技术实现了同一账户多种身份在高并发场景中的管理方法:

20、(1)对账户切换身份设计了账户切换身份保护时间。

21、(2)通过广播的方式将账户切换身份通知到业务方。

22、(3)通过消息驱动的方式协调账户切换身份并完成延时重试切换的能力。



技术特征:

1.一种基于java实现同一账户多种身份在高并发场景中的管理方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于java实现同一账户多种身份在高并发场景中的管理方法,其特征在于,所述账户身份为根据预设多种账户身份。

3.根据权利要求1所述的基于java实现同一账户多种身份在高并发场景中的管理方法,其特征在于,发动驱动账户待切换身份列表执行的信息从账户身份待切换列表按照请求时间顺序执行。

4.根据权利要求1所述的基于java实现同一账户多种身份在高并发场景中的管理方法,其特征在于,账户身份切换保护时间用于操作的响应结果是异步的。

5.根据权利要求1所述的基于java实现同一账户多种身份在高并发场景中的管理方法,其特征在于,该管理方法用于操作的账户系统是一账户多身份,且不支持多账户身份同时在线的账户系统。

6.根据权利要求1所述的基于java实现同一账户多种身份在高并发场景中的管理方法,其特征在于,该管理方法采用的语言为java语言。


技术总结
本申请提供一种基于Java实现同一账户多种身份在高并发场景中的管理方法,包括以下步骤:S1:业务端发起账户身份切换请求后,将账户身份切换请求放入账户待切换身份任务列表中;S2:然后发动驱动账户待切换身份列表执行的信息;S3:服务端通过监听驱动账户待切换身份列表执行的消息,获取账户下的待切换身份列表;S4:判断待切换身份列表是否不为空;S5:设置账户身份切换保护时间,进行账户身份切换;S6:然后判断账户身份是否切换成功;S7:处理结束。本申请的基于Java实现同一账户多种身份在高并发场景中的管理方法,有效利用了账户资源并提高了业务完成速率及成功率,提高系统稳定性及特定场景的适应能力。

技术研发人员:吴立正,任英杰,周晓明
受保护的技术使用者:百望股份有限公司
技术研发日:
技术公布日:2024/3/21
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1