System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及金融科技领域,尤其涉及微服务领域,具体是指一种针对微服务间实现行情实时数据调用优化处理的方法、系统、装置、处理器及其计算机可读存储介质。
技术介绍
1、微服务是指将系统拆分成一组小而自治的服务的架构风格。每个微服务都独立运行,并且通过轻量级的通信机制来相互协作。市面上越来越多单体庞大的行情系统朝着微服务化发展,如何高效的进行微服务间的行情数据调用成了需要解决的问题。
2、证券市场的行情是波动的,投资者们关注股票各不相同,且存在市场不平衡的特点,存在市场突发事件下,投资者对某些股票数据突增关注的现象,基于微服务的证券行情系统中的行情数据调用往往存在热点数据的问题和高并发的问题。
3、目前的解决方法通常是通过将热点股票存在服务端本地或者redis等缓存组件中设置永不过期,但存在的问题是证券市场开盘高峰期时,投资者涌入,从而客户端并发调用大量增高,且覆盖的股票数据较多,市场变化莫测,热点股票不断变化,导致缓存使用越来越大。或者是后台通过监控缓存使用,在缓存数据即将过期时,异步更新缓存延长过期时间,该方法的缺陷是另外需要一个后台线程更新缓存中的数据。
技术实现思路
1、本专利技术的目的是克服了上述现有技术的缺点,提供了一种满足高效、操作简便、适用范围较为广泛的针对微服务间实现行情实时数据调用优化处理的方法、系统、装置、处理器及其计算机可读存储介质。
2、为了实现上述目的,本专利技术的针对微服务间实现行情实时数据调用优化处理的方法、系统、装置
3、该针对微服务间实现行情实时数据调用优化处理的方法,其主要特点是,所述的方法包括客户端进行行情实时数据调用优化的步骤和服务端进行行情实时数据调用优化的步骤,
4、所述的客户端进行行情实时数据调用优化的步骤,具体包括以下步骤:
5、(1-1)客户端向服务端发起行情数据调用的请求;
6、(1-2)查看该请求在客户端本地是否存在历史行情结果的缓存数据,获取缓存结果数据的时间戳,若无则获取时间戳为0,将其携带于请求头中,将请求发给服务端,等待服务端返回数据;
7、(1-3)如果服务端返回数据结果集为非空,则服务端返回带有最新数据,更新本地缓存数据以及时间戳;如果服务端返回数据结果为空,则服务端返回未带有最新数据,确认客户端缓存中的数据为最新,读取本地缓存数据;
8、所述的服务端进行行情实时数据调用优化的步骤,具体包括以下步骤:
9、(2-1)服务端接收实时的数据调用请求;
10、(2-2)进行拦截预处理,对比请求头所带的时间戳与本地缓存数据的时间戳;
11、(2-3)如果请求头所带时间戳不小于本地缓存数据的时间戳,则确认客户端有最新数据,服务端则不继续访问数据,直接返回空数据集;如果请求头所带时间戳小于本地缓存数据的时间戳,则执行步骤(2-4);
12、(2-4)如果请求头所带的时间戳小于服务端时间戳的请求,则服务端数据为最新,需要进一步调用并访问存储组件的数据;
13、(2-5)对相同键查询的请求进行合并调用,对其中第一个达到的请求进行数据调用,其他查询相同键的并发请求阻塞等待第一个调用的结果;
14、(2-6)基于查询相同键的并发请求,对第一个到达的请求发起数据调用,访问存储组件中的新数据,判断该过程是否在规定时间内获取到数据,如果未超时获取到数据,则执行步骤(2-7);如果超时,则执行步骤(2-8);
15、(2-7)将获取的最新数据更新到本地缓存,并将数据结果返回客户端;
16、(2-8)再次请求访问存储组件,并将数据结果返回客户端。
17、较佳地,所述的方法还包括以下步骤:
18、根据预设的过期时间及其缓存容量监控删除客户端微服务和服务端微服务的本地缓存行情数据。
19、较佳地,所述的方法还包括以下步骤:
20、根据时间窗口滑动的机制,淘汰服务端微服务中的存储组件中的行情数据。
21、较佳地,所述的步骤(1-2)、(2-2)、(2-3)或(2-4)中采用interceptor拦截器,所述的interceptor拦截器包括客户端拦截器和服务器拦截器,所述的客户端拦截器为grpc客户端在调用实际rpc之前调用的函数;所述的服务器拦截器为grpc服务器在到达实际rpc方法之前调用的函数;客户端的请求被发送出去之前获取本地缓存时间戳,服务端接收到请求时优先对请求中的时间戳与服务端本地时间戳进行比较。
22、较佳地,所述的步骤具体为:
23、通过对客户端发送请求的预处理与服务端的拦截处理,获取其时间戳进行比较,对于客户端时间戳不小于服务端时间戳的请求,则直接返回,采用客户端本地缓存数据作为结果;对于客户端时间戳小于服务端时间戳的请求,服务端进行数据调用的处理,并对相同键访问的请求进行合并调用。
24、该针对微服务间进行行情实时数据调用优化处理的系统,其主要特点是,所述的系统包括客户端,所述的客户端包括:
25、发送请求预处理模块,用于预处理请求,将查询请求在本地缓存是否存在结果集,如果有结果集,则获取其时间戳;如果没有结果集,则时间戳赋值为0,并携带时间戳向服务端发送数据调用请求;
26、请求返回处理模块,与所述的发送请求预处理模块相连接,用于接收服务端返回的数据结果集,根据是否未空数据集,进行不同的返回处理;如果返回空数据,则确认客户端本地缓存中的结果集为最新数据;如果返回数据,则更新客户端的本地缓存。
27、较佳地,所述的系统还包括服务端,所述的服务端包括:
28、请求拦截预处理模块,用于接收数据,且在数据真正调用前进行拦截预处理,比较请求头所带时间戳与服务端本地缓存时间戳大小,如果请求头所带时间戳不小于服务端本地缓存时间戳,则确认客户端的缓存数据为最新,服务端不需要继续调用,直接返回空数据;如果请求头所带时间戳小于服务端本地缓存时间戳,则请求继续调用;
29、合并调用处理模块,与所述的请求拦截预处理模块相连接,用于在继续调用的请求中,对相同键查询的请求进行合并调用,其中第一个达到的请求进行数据调用,而其他查询相同键的并发请求阻塞等待第一个调用的结果;
30、调用优先级处理模块,与所述的合并调用处理模块相连接,用于基于查询相同键的并发请求,对第一个到达的请求发起数据调用,并进行处理;
31、数据访问模块,与所述的调用优先级处理模块相连接,用于访问存储组件中的数据;
32、数据返回模块,与所述的数据访问模块相连接,用于返回数据结果,如果在拦截预处理中返回则返回空数据;如果在拦截预处理后返回则返回真实数据结果。
33、较佳地,所述的客户端还包括客户端的缓存淘汰模块,与所述的请求返回处理模块相连接,用于淘汰缓存数据。
34、较佳地,所述的本文档来自技高网...
【技术保护点】
1.一种针对微服务间实现行情实时数据调用优化处理的方法,其特征在于,所述的方法包括客户端进行行情实时数据调用优化的步骤和服务端进行行情实时数据调用优化的步骤,
2.根据权利要求1所述的针对微服务间实现行情实时数据调用优化处理的方法,其特征在于,所述的方法还包括以下步骤:
3.根据权利要求1所述的针对微服务间实现行情实时数据调用优化处理的方法,其特征在于,所述的方法还包括以下步骤:
4.根据权利要求1所述的针对微服务间实现行情实时数据调用优化处理的方法,其特征在于,所述的步骤(1-2)、(2-2)、(2-3)或(2-4)中采用interceptor拦截器,所述的interceptor拦截器包括客户端拦截器和服务器拦截器,所述的客户端拦截器为gRPC客户端在调用实际RPC之前调用的函数;所述的服务器拦截器为gRPC服务器在到达实际RPC方法之前调用的函数;客户端的请求被发送出去之前获取本地缓存时间戳,服务端接收到请求时优先对请求中的时间戳与服务端本地时间戳进行比较。
5.根据权利要求3所述的针对微服务间实现行情实时数据调用优化处理的方法
6.一种实现权利要求1的方法的针对微服务间进行行情实时数据调用优化处理的系统,其特征在于,所述的系统包括客户端,所述的客户端包括:
7.根据权利要求6所述的针对微服务间进行行情实时数据调用优化处理的系统,其特征在于,所述的系统还包括服务端,所述的服务端包括:
8.根据权利要求6所述的针对微服务间进行行情实时数据调用优化处理的系统,其特征在于,所述的客户端还包括客户端的缓存淘汰模块,与所述的请求返回处理模块相连接,用于淘汰缓存数据。
9.根据权利要求6所述的针对微服务间进行行情实时数据调用优化处理的系统,其特征在于,所述的服务端还包括服务端的缓存淘汰模块,与所述的数据返回模块相连接,用于淘汰缓存数据。
10.一种用于实现针对微服务间进行行情实时数据调用优化处理的装置,其特征在于,所述的装置包括:
11.一种用于实现针对微服务间进行行情实时数据调用优化处理的处理器,其特征在于,所述的处理器被配置成执行计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现权利要求1至5中任一项所述的针对微服务间实现行情实时数据调用优化处理的方法的各个步骤。
12.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述的计算机程序可被处理器执行以实现权利要求1至5中任一项所述的针对微服务间实现行情实时数据调用优化处理的方法的各个步骤。
...【技术特征摘要】
1.一种针对微服务间实现行情实时数据调用优化处理的方法,其特征在于,所述的方法包括客户端进行行情实时数据调用优化的步骤和服务端进行行情实时数据调用优化的步骤,
2.根据权利要求1所述的针对微服务间实现行情实时数据调用优化处理的方法,其特征在于,所述的方法还包括以下步骤:
3.根据权利要求1所述的针对微服务间实现行情实时数据调用优化处理的方法,其特征在于,所述的方法还包括以下步骤:
4.根据权利要求1所述的针对微服务间实现行情实时数据调用优化处理的方法,其特征在于,所述的步骤(1-2)、(2-2)、(2-3)或(2-4)中采用interceptor拦截器,所述的interceptor拦截器包括客户端拦截器和服务器拦截器,所述的客户端拦截器为grpc客户端在调用实际rpc之前调用的函数;所述的服务器拦截器为grpc服务器在到达实际rpc方法之前调用的函数;客户端的请求被发送出去之前获取本地缓存时间戳,服务端接收到请求时优先对请求中的时间戳与服务端本地时间戳进行比较。
5.根据权利要求3所述的针对微服务间实现行情实时数据调用优化处理的方法,其特征在于,所述的步骤具体为:
6.一种实现权利要求1的方法的针对微服务间进行行情实时数据调用优化处理的系统,其特征在于,...
【专利技术属性】
技术研发人员:俞枫,胡爽,赵振江,
申请(专利权)人:国泰君安证券股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。