System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据存储领域,具体而言,涉及一种数据交互中转方法及数据中转系统。
技术介绍
1、在当前技术环境下,随着企业业务的不断扩展和多元化,不同系统或应用程序之间的数据资源共享和交互变得日益频繁。
2、目前,最常见的交互方式是通过http(hyper text transfer protocol,超文本传输协议)请求直接调用第三方api(application programming interface,应用程序编程接口)接口来获取所需数据,随后进行相应的处理和格式转换,以满足自身系统的业务展示需求。例如,当a系统需要利用b系统的数据时,a系统会直接调用b系统提供的第三方api接口来获取数据,然后a系统基于自身的业务逻辑,对获取的数据进行必要的格式调整,以确保数据能够符合其业务展示的要求。
3、在系统间数据交互较少的情况下,直接调用对方系统的第三方api接口是一种有效可行的方式。但是,当系统间交互数据剧增且交互的系统数量增多时,系统间直接调用可能导致api响应时间延长,影响系统性能以及用户体验。
技术实现思路
1、本专利技术的目的在于提供一种数据交互中转方法及数据中转系统,以改善现有技术存在的问题。
2、本专利技术的实施例可以这样实现:
3、第一方面,本专利技术提供一种数据交互中转方法,应用于数据中转系统,所述数据中转系统包括数据获取组件、消费服务、响应组件、数据库和缓存库;所述消费服务维护有消息队列;所述方法包括:
5、所述消费服务将所述消息队列中的数据进行版本处理后写入所述数据库和所述缓存库;
6、所述响应组件在收到任一所述待交互系统或者客户端的数据请求时,基于所述数据请求从所述缓存库或者数据库查找出响应数据返回给发出所述数据请求的待交互系统或者客户端。
7、在可选的实施方式中,所述数据获取组件维护有线程池,所述线程池包括多个线程;所述数据获取组件定时调用各个待交互系统的第三方api接口以获取交互数据,并将所述交互数据存放至所述消息队列的步骤,包括:
8、针对每个所述待交互系统,所述数据获取组件定时基于预设获取总量以及所述线程池的实时空闲线程量,确定可用线程数量以及单线程获取量;
9、所述数据获取组件从所述线程池的所有空闲线程中随机选择所述可用线程数量个线程,并将选出的每个线程均作为所述待交互系统的调用线程;
10、每个调用线程基于自身的线程序号在所有调用线程中的排名、所述待交互系统的第三方api接口以及所述单线程获取量,生成数据获取请求,并向所述待交互系统发送所述数据获取请求;
11、每个调用线程在收到所述待交互系统返回的交互数据时,将收到的交互数据存储至所述消息队列。
12、在可选的实施方式中,所述交互数据包括其所属待交互系统的接口编号;所述数据库和所述缓存库中存储的交互数据均存在关联的版本信息;所述版本信息包括对应关联的交互数据所属待交互系统的接口编号和版本序号;
13、所述消费服务将所述消息队列中的数据进行版本处理后写入所述数据库和所述缓存库的步骤,包括:
14、所述消费服务从所述消息队列中读出一份待存交互数据;
15、所述消费服务基于所述待存交互数据携带的接口编号,从所述缓存库中查找出所述待存交互数据的当前版本信息;
16、所述消费服务基于所述当前版本信息,确定新版本信息;
17、所述消费服务将所述待存交互数据与所述新版本信息关联后存储至所述数据库和所述缓存库中。
18、在可选的实施方式中,所述消费服务基于所述当前版本信息,确定新版本信息的步骤,包括:
19、所述消费服务将所述当前版本信息中的版本序号加1,得到所述新版本信息。
20、在可选的实施方式中,所述数据库和所述缓存库中存储的交互数据均存在关联的版本信息,所述版本信息包括对应关联的交互数据所属待交互系统的接口编号和版本序号;
21、所述响应组件在收到任一所述待交互系统或者客户端的数据请求时,基于所述数据请求从所述缓存库或者数据库查找出响应数据返回给发出所述数据请求的待交互系统或者客户端的步骤,包括:
22、所述响应组件在收到任一所述待交互系统或者客户端的数据请求时,获取所述数据请求中携带的目标交互系统的接口编号;
23、所述响应组件基于所述目标交互系统的接口编号,从所述缓存库中查找匹配的至少一份待定交互数据,若所述缓存库中不存在匹配的待定交互数据,则从所述数据库查找匹配的所述至少一份待定交互数据;
24、所述响应组件基于每份所述待定交互数据对应关联的版本信息,从所述至少一份待定交互数据中确定出所述版本序号最大的目标交互数据;
25、所述响应组件将所述目标交互数据及其版本信息作为所述响应数据返回至发出所述数据请求的待交互系统或者客户端。
26、第二方面,本专利技术提供一种数据中转系统,所述数据中转系统包括数据获取组件、消费服务、响应组件、数据库和缓存库;所述消费服务维护有消息队列;
27、所述数据获取组件用于定时调用各个待交互系统的第三方api接口以获取交互数据,并将所述交互数据存放至所述消息队列;
28、所述消费服务用于将所述消息队列中的数据进行版本处理后写入所述数据库和所述缓存库;
29、所述响应组件用于在收到任一所述待交互系统或者客户端的数据请求时,基于所述数据请求从所述缓存库或者数据库查找出响应数据返回给发出所述数据请求的待交互系统或者客户端。
30、在可选的实施方式中,所述数据获取组件维护有线程池,所述线程池包括多个线程;针对每个所述待交互系统:
31、所述数据获取组件用于定时基于预设获取总量以及所述线程池的实时空闲线程量,确定可用线程数量以及单线程获取量;
32、所述数据获取组件还用于从所述线程池的所有空闲线程中随机选择所述可用线程数量个线程,并将选出的每个线程均作为所述待交互系统的调用线程;
33、每个调用线程用于基于自身的线程序号在所有调用线程中的排名、所述待交互系统的第三方api接口以及所述单线程获取量,生成数据获取请求,并向所述待交互系统发送所述数据获取请求;
34、每个调用线程用于在收到所述待交互系统返回的交互数据时,将收到的交互数据存储至所述消息队列。
35、在可选的实施方式中,所述交互数据包括其所属待交互系统的接口编号;所述数据库和所述缓存库中存储的交互数据均存在关联的版本信息;所述版本信息包括对应关联的交互数据所属待交互系统的接口编号和版本序号;
36、所述消费服务用于将所述消息队列中的数据进行版本处理后写入所述数据库和所述缓存库时,具体用于:
37、从所述消息队列中读本文档来自技高网...
【技术保护点】
1.一种数据交互中转方法,其特征在于,应用于数据中转系统,所述数据中转系统包括数据获取组件、消费服务、响应组件、数据库和缓存库;所述消费服务维护有消息队列;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述数据获取组件维护有线程池,所述线程池包括多个线程;所述数据获取组件定时调用各个待交互系统的第三方API接口以获取交互数据,并将所述交互数据存放至所述消息队列的步骤,包括:
3.根据权利要求1所述的方法,其特征在于,所述交互数据包括其所属待交互系统的接口编号;所述数据库和所述缓存库中存储的交互数据均存在关联的版本信息;所述版本信息包括对应关联的交互数据所属待交互系统的接口编号和版本序号;
4.根据权利要求3所述的方法,其特征在于,所述消费服务基于所述当前版本信息,确定新版本信息的步骤,包括:
5.根据权利要求1所述的方法,其特征在于,所述数据库和所述缓存库中存储的交互数据均存在关联的版本信息,所述版本信息包括对应关联的交互数据所属待交互系统的接口编号和版本序号;
6.一种数据中转系统,其特征在于,所述数据中转
7.根据权利要求6所述的数据中转系统,其特征在于,所述数据获取组件维护有线程池,所述线程池包括多个线程;针对每个所述待交互系统:
8.根据权利要求6所述的数据中转系统,其特征在于,所述交互数据包括其所属待交互系统的接口编号;所述数据库和所述缓存库中存储的交互数据均存在关联的版本信息;所述版本信息包括对应关联的交互数据所属待交互系统的接口编号和版本序号;
9.根据权利要求8所述的数据中转系统,其特征在于,所述消费服务用于基于所述当前版本信息,确定新版本信息时,具体用于:将所述当前版本信息中的版本序号加1,得到所述新版本信息。
10.根据权利要求6所述的数据中转系统,其特征在于,所述数据库和所述缓存库中存储的交互数据均存在关联的版本信息,所述版本信息包括对应关联的交互数据所属待交互系统的接口编号和版本序号;
...【技术特征摘要】
1.一种数据交互中转方法,其特征在于,应用于数据中转系统,所述数据中转系统包括数据获取组件、消费服务、响应组件、数据库和缓存库;所述消费服务维护有消息队列;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述数据获取组件维护有线程池,所述线程池包括多个线程;所述数据获取组件定时调用各个待交互系统的第三方api接口以获取交互数据,并将所述交互数据存放至所述消息队列的步骤,包括:
3.根据权利要求1所述的方法,其特征在于,所述交互数据包括其所属待交互系统的接口编号;所述数据库和所述缓存库中存储的交互数据均存在关联的版本信息;所述版本信息包括对应关联的交互数据所属待交互系统的接口编号和版本序号;
4.根据权利要求3所述的方法,其特征在于,所述消费服务基于所述当前版本信息,确定新版本信息的步骤,包括:
5.根据权利要求1所述的方法,其特征在于,所述数据库和所述缓存库中存储的交互数据均存在关联的版本信息,所述版本信息包括对应关联的交互数据所属待交互系统的接口编号...
【专利技术属性】
技术研发人员:李建州,吴秀峰,杨兴海,杨兴荣,
申请(专利权)人:世纪恒通科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。