System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据处理方法、装置、电子设备及计算机可读存储介质制造方法及图纸_技高网

数据处理方法、装置、电子设备及计算机可读存储介质制造方法及图纸

技术编号:40216538 阅读:5 留言:0更新日期:2024-02-02 22:24
本申请提供了一种数据处理方法、装置、电子设备及计算机可读存储介质。该方法包括:获取用户请求,用户请求中包括业务处理请求;通过异步子线程处理用户请求和/或异步队列处理业务处理请求;根据处理结果得到用户请求的响应结果。本申请通过采用异步子线程以及异步队列对数据处理系统获取的用户请求、业务处理请求等分别进行异步处理。由于在进行异步处理时,一个业务处理请求或用户请求完成时,其他业务处理请求或用户请求可以继续进行,可以实现并行处理,提高系统的整体性能。且各个任务队列或异步子线程在处理业务处理请求或用户请求时,可以直接返回结果,不受其他任务队列或异步子线程的影响,提高数据处理的响应速度。

【技术实现步骤摘要】

本申请涉及计算机,具体而言,涉及一种数据处理方法、装置、电子设备及计算机可读存储介质


技术介绍

1、随着微服务架构的推行,对微服务架构的性能提出了较大的挑战。目前,主要通过扩容节点的方式来提高微服务架构的性能。但是,这种扩容的方式无法有效解决业务问题。


技术实现思路

1、有鉴于此,本申请实施例的目的在于提供一种数据处理方法、装置、电子设备及计算机可读存储介质,能够有效提高系统的整体性能。

2、第一方面,本申请实施例提供了一种数据处理方法,获取用户请求,所述用户请求中包括业务处理请求;通过异步子线程处理所述用户请求和/或异步队列处理所述业务处理请求;根据处理结果得到所述用户请求的响应结果。

3、在上述实现过程中,通过采用异步子线程以及异步队列对数据处理系统获取的用户请求、业务处理请求等分别进行异步处理。由于在进行异步处理时,一个业务处理请求或用户请求完成时,其他业务处理请求或用户请求可以继续进行,进而可以实现并行处理,可以有效提高系统的整体性能。且各个任务队列或异步子线程在处理业务处理请求或用户请求时,可以直接返回结果,不受其他任务队列或异步子线程的影响,提高了数据处理系统的响应速度。再者,整个方案中无需增加硬件资源,可以极大的降低成本。

4、在一个实施例中,通过异步子线程处理所述用户请求,包括:通过servlet将一个或多个所述用户请求分别转交给一个或多个异步子线程;其中,所述servlet在将所述用户请求转交给所述异步子线程后反馈至容器;通过一个或多个所述异步子线程并行处理对应的一个或多个所述用户请求。

5、在上述实现过程中,通过servlet将一个或多个用户请求分别转交给一个或多个异步子线程,由于servlet能够在不同的程序之间共享数据,使得servlet在处理请求时可以轻松地访问服务器资源,并且可以将数据传递给其他程序或组件。另外,servlet使用的是轻量级java线程处理每个请求,进一步提高了处理大量并发请求时处理效率。

6、在一个实施例中,通过异步队列处理所述业务处理请求,包括:将一个或多个所述用户请求分别提交到对应的一个或多个任务队列,每个所述用户请求中包括一个或多个业务处理请求,所述任务队列为异步队列;通过一个或多个所述任务队列并行处理对应的一个或多个所述业务处理请求。

7、在上述实现过程中,由于任务队列在进行异步处理时,其中一个业务处理请求完成时,其他业务处理请求可以继续进行,进而可以实现并行处理。因而,通过设置一个或多个任务队列并行处理对应的一个或多个业务处理请求,可以提高系统的整体性能。另外,由于各个任务队列在处理业务处理请求时,一个任务队列处理的业务处理请求完成后不需要等待其他任务队列处理其他业务处理请求,就可以直接返回结果。因而,通过设置一个或多个任务队列并行处理对应的一个或多个业务处理请求,还可以提高数据处理系统的响应速度。

8、在一个实施例中,每个所述用户请求中包括一个或多个业务处理请求,每个异步子线程中包括一个或多个任务队列,通过异步子线程处理所述用户请求和异步队列处理所述业务处理请求,包括:通过servlet将一个或多个所述用户请求分别转交给一个或多个异步子线程;其中,所述servlet在将所述用户请求转交给所述异步子线程后反馈至容器;将每个所述异步子线程中的一个或多个所述用户请求中的一个或多个业务处理请求分别提交到所述异步子线程中对应的一个或多个所述任务队列中,所述任务队列为异步队列;通过一个或多个所述任务队列并行处理对应的一个或多个所述业务处理请求。

9、在上述实现过程中,当用户请求为多个时,将多个用户请求分别转交给对应的多个异步子线程,通过该多个异步子线程对多个用户请求进行异步并行处理。且对于每个异步子线程,当每个异步子线程中包括多个业务处理请求时,还可以将每个异步子线程中的多个业务处理请求分别提交到异步子线程中对应的多个任务队列中,通过多个任务队列并行处理对应的多个业务处理请求。由于在进行异步处理时,一个业务处理请求或用户请求完成时,其他业务处理请求或用户请求可以继续进行,进而可以实现并行处理,提高系统的整体性能。且各个任务队列或异步子线程在处理业务处理请求或用户请求时,可以直接返回结果,不受其他任务队列或异步子线程的影响,提高了数据处理系统的响应速度。

10、在一个实施例中,每个所述任务队列设置有对应的处理周期,所述通过一个或多个所述任务队列并行处理对应的一个或多个所述业务处理请求,包括:在将所述用户请求提交到对应的任务队列时,分别触发开启每个所述任务队列的超时任务,所述超时任务为一个定时执行的定时线程;通过所述定时线程获取对应的所述任务队列处理所述用户请求的响应时间;分别判断每个所述任务队列的所述响应时间是否超过对应的处理周期;将所述响应时间超过对应的处理周期的所述任务队列的当前处理结果写入响应中,并释放所述任务队列相应的链接。

11、在上述实现过程中,通过对每个任务队列设置相应的处理周期,在任务队列的响应时间超过处理周期时,将该任务队列的前处理结果写入响应中,并提前释放该任务队列相应的链接,减少链路被占用的时间,提高数据处理效率。

12、在一个实施例中,所述用户请求中包括一个或多个数据,所述获取用户请求之后,所述方法还包括:判断所述数据是否有本地缓存;若所述数据没有本地缓存,判断所述数据是否有redis缓存;若所述数据有redis缓存,判断所述数据是否需要缓存到本地;若所述数据需要缓存到本地,将所述数据缓存到本地。

13、在一个实施例中,所述方法还包括:若所述数据没有redis缓存,查询数据库,获取所述数据对应的数据资源,并判断是否需要缓存所述数据到redis;若所述数据不需要缓存到所述redis,判断所述数据是否需要缓存到本地;若所述数据需要缓存到本地,将所述数据缓存到本地。

14、在上述实现过程中,由于越靠近计算资源,数据获取的速度越快,但因为系统资源的限制,不能将所有的数据都存储在内存中。通过将数据按照使用频率和更改情况分别在本地和redis中进行缓存,可以减少本地缓存的压力,并控制同时访问系统资源的数据量,降低系统拥堵的情况的发生,提高数据处理的效率。

15、在一个实施例中,所述数据为多个,多个数据通过限流模块在所述数据库中查询对应的数据资源。

16、在上述实现过程中,通过设置限流模块,可以限制访问数据库的数据量,避免缓存击穿导致的数据库崩溃,提高缓存系统可用性。

17、在一个实施例中,所述获取用户请求之后,所述方法还包括:将所述用户请求中的不同业务处理请求拆分到多个异步日志队列;通过多个所述异步日志队列分别写入对应的所述业务处理请求,并读取对应任务队列中的日志数据;通过所述异步日志队列将所述日志数据写入对应的文件中。

18、在上述实现过程中,通过设置多个异步日志队列,在需要对多个业务处理请求进行处理时,可以采用日志分发机制将不同业务处理请求拆分到不本文档来自技高网...

【技术保护点】

1.一种数据处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,通过异步子线程处理所述用户请求,包括:

3.根据权利要求1所述的方法,其特征在于,通过异步队列处理所述业务处理请求,包括:

4.根据权利要求1所述的方法,其特征在于,每个所述用户请求中包括一个或多个业务处理请求,每个异步子线程中包括一个或多个任务队列,通过异步子线程处理所述用户请求和异步队列处理所述业务处理请求,包括:

5.根据权利要求3或4所述的方法,其特征在于,每个所述任务队列设置有对应的处理周期,所述通过一个或多个所述任务队列并行处理对应的一个或多个所述业务处理请求,包括:

6.根据权利要求3或4所述的方法,其特征在于,所述用户请求中包括一个或多个数据,所述获取用户请求之后,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:

8.根据权利要求7所述的方法,其特征在于,所述数据为多个,多个数据通过限流模块在所述数据库中查询对应的数据资源。

9.根据权利要求3或4所述的方法,其特征在于,所述获取用户请求之后,所述方法还包括:

10.根据权利要求3或4所述的方法,其特征在于,所述用户请求为生成单号,所述方法还包括:

11.一种数据处理装置,其特征在于,包括:

12.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如权利要求1至10任一所述的方法的步骤。

13.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至10任一所述的方法的步骤。

...

【技术特征摘要】

1.一种数据处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,通过异步子线程处理所述用户请求,包括:

3.根据权利要求1所述的方法,其特征在于,通过异步队列处理所述业务处理请求,包括:

4.根据权利要求1所述的方法,其特征在于,每个所述用户请求中包括一个或多个业务处理请求,每个异步子线程中包括一个或多个任务队列,通过异步子线程处理所述用户请求和异步队列处理所述业务处理请求,包括:

5.根据权利要求3或4所述的方法,其特征在于,每个所述任务队列设置有对应的处理周期,所述通过一个或多个所述任务队列并行处理对应的一个或多个所述业务处理请求,包括:

6.根据权利要求3或4所述的方法,其特征在于,所述用户请求中包括一个或多个数据,所述获取用户请求之后,所述方法还包括:

7.根据权利要求6所述的方法...

【专利技术属性】
技术研发人员:陈灏毛宇朱木须邬建伟
申请(专利权)人:南京研利科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1