本发明涉及股票数据处理的,尤其是涉及一种基于日志的高速异步缓冲方法、系统、设备及介质。
背景技术:
1、在股票金融网络应用中,会提供大量的数据供用户使用,进而帮助用户进行投资决策。
2、目前,用户在操作股票金融系统时,系统内会产生相对应的用户线程,根据用户线程对系统内的数据存储表进行访问,进而响应完成用户的操作,同时为了保证用户线程安全,会对访问数据存储表的多个用户线程增加锁。
3、但是,在给访问数据存储表的多个用户线程增加锁之前,系统一般需要根据用户线程对系统内的数据存储表进行调整,在未调整完之前,访问数据存储表的用户线程无法完成上锁,进而导致用户线程无法得到响应,当大量用户线程同时进行时,导致股票金融系统无法快速地完成响应,造成系统延迟,进而导致用户体验感差,因此,存在一定的改进空间。
技术实现思路
1、为了提高系统对用户线程的响应速度,减少系统的数据响应延迟的情况,本技术提供一种基于日志的高速异步缓冲方法、系统、设备及介质。
2、本技术的上述发明目的一是通过以下技术方案得以实现的:
3、一种基于日志的高速异步缓冲方法,所述基于日志的高速异步缓冲方法包括步骤:
4、基于用户操作生成多个用户线程,根据多个所述用户线程获取用户操作日志,其中,所述用户操作日志包括写入日志和读取日志;
5、根据所述用户操作日志访问预设的数据存储表,获取用户操作数据,将所述用户操作数据存储于预设的缓冲组件,所述缓冲组件包括写缓冲区和读缓冲区;
6、基于所述用户操作数据生成数据调整工作线程,将所述数据调整工作线程输入至预设的工作线程池,基于所述数据调整工作线程生成数据调整指令;
7、响应所述数据调整指令,对用户操作数据进行数据调整处理,基于数据调整处理后的用户操作数据对多个用户线程进行响应操作。
8、通过采用上述技术方案,当用户操作股票金融系统时,每次用户操作都会产生相对应的数据,根据用户对股票金融系统的操作生成相对应的用户线程,通过每个用户线程获取相对应的用户操作日志,用户操作日志包括有写入日志和读取日志,根据用户操作日志对预设的数据存储表进行访问,获取到用户操作数据,用户操作数据暂时存放于预设的缓冲组件内,同时利用用户操作数据生成数据调整工作线程,将数据调整工作线程输入至预设的工作线程池内,通过数据调整工作线程生成数据调整指令,进而根据数据调整指令,对存储在缓冲组件内的用户操作数据进行数据调整处理,待完成数据调整后,响应用户操作数据,从数据存储表内读取用户所需数据或将用户的待写入数据输入至数据调整处理过后的数据存储表内,在用户操作金融股票金融系统过程中,用户线程的功能只用于访问数据存储表以获取用户操作数据,利用缓冲组件进行存储记录用户操作数据,并将对数据存储表生成调整指令的操作存放到工作线程池内,能够有效减少用户线程的操作延迟,提高系统对用户线程的响应速度,减少系统的数据响应延迟的情况出现。
9、本技术在一较佳示例中可以进一步配置为:所述根据所述用户操作日志访问预设的数据存储表,获取用户操作数据,将所述用户操作数据存储于预设的缓冲组件,所述缓冲组件包括写缓冲区和读缓冲区,具体包括:
10、所述用户操作数据包块用户写入数据和用户读取数据;
11、当所述用户操作日志为写入日志时,根据所述写入日志访问数据存储表并获取用户写入数据,基于所述用户写入数据获取用户操作类型和待存储用户数据;
12、将所述用户操作类型与待存储用户数据进行关联,并以链表的数据结构存储至写缓冲区。
13、通过采用上述技术方案,当用户对股票金融系统的操作为写入时,用户操作日志为写入日志,根据用户对股票金融系统的写入日志获取用户写入数据,在用户写入数据中获取到用户操作类型以及待存储用户数据,将用户操作类型与待存储用户数据关联,并将所有待存储用户数据整理成链表的数据结构,暂存在缓冲组件中的写缓冲区,采用链表的数据结构对用户写入数据进行存储,更加便于根据操作类型对待存储数据进行处理,有效提高系统数据处理能力。
14、本技术在一较佳示例中可以进一步配置为:所述根据所述用户操作日志访问预设的数据存储表,获取用户操作数据,将所述用户操作数据存储于预设的缓冲组件,具体还包括:
15、当所述用户操作日志为读取日志时,基于所述读取日志在数据存储表中获取待读取数据;
16、将所述待读取数据构成环状缓冲数据结构存放于读缓冲区。
17、通过采用上述技术方案,当用户对股票金融系统的操作为读取时,用户操作日志为读取日志,根据用户对股票金融系统的读取日志,在系统内的数据存储表中将用户想要读取的数据,将待读取数据构成环状缓冲数据结构,存放于缓冲组件中的度缓冲区,读缓冲区内采用环状缓冲数据结构对待读取数据进行暂时存储,能够将每个用户线程绑定对应的一个待读取数据,在多用户线程同时响应时,能够避免多用户线程竞争导致系统响应延长。
18、本技术在一较佳示例中可以进一步配置为:所述基于所述读取日志在数据存储表中获取待读取数据,具体包括:
19、根据所述读取日志生成第一判断指令,基于所述第一判断指令判断数据是否存在数据存储表,得到第一判断结果;
20、当第一判断结果为数据不存在,则生成中止信号并输出至工作线程池,基于所述中止信号停止对读取日志的响应;
21、当第一判断结果为数据存在,生成第二判断指令,基于所述第二判断指令判断数据是否过期,得到第二判断结果,基于所述第二判断结果获取待读取数据。
22、通过采用上述技术方案,根据读取日志在数据存储表内读取用户所需数据前,通过第一判断指令判断用户所要读取的数据是否存在数据存储表内,若数据存储表内无存储用户所要读取的数据,则生成中止信号并输出至工作线程池内,基于中止信号中止用户的读取日志;若数据存储表内存储有用户所要读取的数据时,则生成第二判断指令,通过第二判断指令判断数据是否过期,并得到第二判断结果,根据第二判断结果确定响应用户读取日志的待读取数据。
23、本技术在一较佳示例中可以进一步配置为:所述基于所述用户操作数据生成数据调整工作线程,将所述数据调整工作线程输入至预设的工作线程池,基于所述数据调整工作线程生成数据调整指令,具体包括:
24、根据所述用户操作数据生成时间轮工作线程和数据淘汰工作线程;
25、将所述时间轮工作线程和数据淘汰工作线程存储于工作线程池,基于所述时间轮工作线程生成定时处理数据指令,基于所述数据淘汰工作线程生成缓冲更新指令。
26、通过采用上述技术方案,通过用户操作数据生成时间轮工作线程和数据淘汰工作线程,将生成的时间轮工作线程和数据淘汰工作线程输入至股票金融系统内的工作线程池内,工作线程池接收到时间路工作线程和数据淘汰工作线程后,生成定时处理数据指令和缓冲更新指令,将对数据进行处理的操作放到股票金融系统内的工作线程内执行,进而减少了用户线程的操作,提高了用户线程的响应时间。
27、本技术在一较佳示例中可以进一步配置为:所述响应所述数据调整指令,对用户操作数据进行数据调整处理,基于数据调整处理后的用户操作数据对多个用户线程进行响应操作,具体包括:
28、响应数据调整指令,获取数据存储表的当前存储容量,判断数据存储表的当前存储容量是否大于存储阈值;
29、当数据存储表的存储容量大于存储阈值时,基于数据调整指令对数据存储表内的数据设定淘汰顺序,按照所述淘汰顺序定时删除数据;
30、将写缓冲区内的用户操作数据输入至数据调整处理后的数据存储表内。
31、通过采用上述技术方案,当工作线程发出数据调整指令后,对于用户写入操作,在用户写入数据前,获取股票金融系统内的数据存储表的当前存储容量,以判断数据存储表的存储容量是否已经超过数据存储表的存储阈值,当数据存储表的当前存储容量超过存储阈值时,对数据存储表内的数据通过数据调整指令设置淘汰顺序,根据设置的淘汰顺序,定时删除数据存储表内的数据,进而能够释放数据存储表的存储容量,待数据存储表进行处理完后,将存储于写缓冲区内的用户操作数据输入至数据存储表内,响应用户写入操作。
32、本技术在一较佳示例中可以进一步配置为:所述响应所述数据调整指令,对用户操作数据进行数据调整处理,基于数据调整处理后的用户操作数据对多个用户线程进行响应操作,还包括:
33、响应数据调整指令,获取读取处理排序值,基于所述读取处理排序值对读缓冲区内的用户操作数据进行排序;
34、根据排序后的用户操作数据响应用户线程对应的读取操作。
35、通过采用上述技术方案,当工作线程发出数据调整指令后,对于用户的读取操作,根据数据调整指令生成读取处理排序值,通过读取处理排序值对读缓冲区内的用户操作数据进行排序处理,进而能够根据数据读取优先顺序将用户操作数据进行排序,将优先级较高的用户操作数据排在前端,使得用户能够优先读取到所要的数据,响应用户读取操作。
36、本技术的上述发明目的二是通过以下技术方案得以实现的:
37、一种基于日志的高速异步缓冲装置,所述基于日志的高速异步缓冲装置包括:
38、用户操作日志模块,用于基于用户操作生成多个用户线程,根据多个所述用户线程获取用户操作日志,其中,所述用户操作日志包括写入日志和读取日志;
39、用户操作数据模块,用于根据所述用户操作日志访问预设的数据存储表,获取用户操作数据,将所述用户操作数据存储于预设的缓冲组件,所述缓冲组件包括写缓冲区和读缓冲区;
40、数据调整指令模块,用于基于所述用户操作数据生成数据调整工作线程,将所述数据调整工作线程输入至预设的工作线程池,基于所述数据调整工作线程生成数据调整指令;
41、数据调整处理模块,用于响应所述数据调整指令,对用户操作数据进行数据调整处理,基于数据调整处理后的用户操作数据对多个用户线程进行响应操作。
42、通过采用上述技术方案,当用户操作股票金融系统时,每次用户操作都会产生相对应的数据,根据用户对股票金融系统的操作生成相对应的用户线程,通过每个用户线程获取相对应的用户操作日志,用户操作日志包括有写入日志和读取日志,根据用户操作日志对预设的数据存储表进行访问,获取到用户操作数据,用户操作数据暂时存放于预设的缓冲组件内,同时利用用户操作数据生成数据调整工作线程,将数据调整工作线程输入至预设的工作线程池内,通过数据调整工作线程生成数据调整指令,进而根据数据调整指令,对存储在缓冲组件内的用户操作数据进行数据调整处理,待完成数据调整后,响应用户操作数据,从数据存储表内读取用户所需数据或将用户的待写入数据输入至数据调整处理过后的数据存储表内,在用户操作金融股票金融系统过程中,用户线程的功能只用于访问数据存储表以获取用户操作数据,利用缓冲组件进行存储记录用户操作数据,并将对数据存储表生成调整指令的操作存放到工作线程池内,能够有效减少用户线程的操作延迟,提高系统对用户线程的响应速度,减少系统的数据响应延迟的情况出现。
43、本技术的上述目的三是通过以下技术方案得以实现的:
44、一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于日志的高速异步缓冲方法的步骤。
45、本技术的上述目的四是通过以下技术方案得以实现的:
46、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于日志的高速异步缓冲方法的步骤。
47、综上所述,本技术包括以下至少一种有益技术效果:
48、1、在用户操作金融股票金融系统过程中,根据用户对股票金融系统的操作生成相对应的用户线程,通过每个用户线程获取相对应的用户操作日志,根据用户操作日志对预设的数据存储表进行访问,获取到用户操作数据,用户操作数据暂时存放于预设的缓冲组件内,同时利用用户操作数据生成数据调整工作线程,将数据调整工作线程输入至预设的工作线程池内,通过数据调整工作线程生成数据调整指令,进而根据数据调整指令,对存储在缓冲组件内的用户操作数据进行数据调整处理,用户线程的功能只用于访问数据存储表以获取用户操作数据,利用缓冲组件进行存储记录用户操作数据,并将对数据存储表生成调整指令的操作存放到工作线程池内,能够有效减少用户线程的操作延迟,提高系统对用户线程的响应速度,减少系统的数据响应延迟的情况出现;
49、2、用户对股票金融系统的操作为写入时,用户操作日志为写入日志,根据用户对股票金融系统的写入日志获取用户写入数据,在用户写入数据中获取到用户操作类型以及待存储用户数据,将用户操作类型与待存储用户数据关联,并将所有待存储用户数据整理成链表的数据结构,暂存在缓冲组件中的写缓冲区,采用链表的数据结构对用户写入数据进行存储,更加便于根据操作类型对待存储数据进行处理,有效提高系统数据处理能力;
50、3、用户对股票金融系统的操作为读取时,用户操作日志为读取日志,根据用户对股票金融系统的读取日志,在系统内的数据存储表中将用户想要读取的数据,将待读取数据构成环状缓冲数据结构,存放于缓冲组件中的度缓冲区,读缓冲区内采用环状缓冲数据结构对待读取数据进行暂时存储,能够将每个用户线程绑定对应的一个待读取数据,在多用户线程同时响应时,能够避免多用户线程竞争导致系统响应延长;
51、4、通过用户操作数据生成时间轮工作线程和数据淘汰工作线程,将生成的时间轮工作线程和数据淘汰工作线程输入至股票金融系统内的工作线程池内,工作线程池接收到时间路工作线程和数据淘汰工作线程后,生成定时处理数据指令和缓冲更新指令,将对数据进行处理的操作放到股票金融系统内的工作线程内执行,进而减少了用户线程的操作,提高了用户线程的响应时间。