一种自动缓存网络请求返回数据的方法及系统与流程

文档序号:12124066阅读:197来源:国知局
一种自动缓存网络请求返回数据的方法及系统与流程
本发明涉及通信处理领域,尤其涉及一种自动缓存网络请求返回数据的方法及系统。
背景技术
:互联网应用开发通常使用HTTP协议向服务端请求数据,且需要将数据缓存在本地,在下次访问相同的数据时,可以优先使用本地的数据。缓存的方案通常有两种:一种是使用HTTP协议的缓存控制技术,通过协议头部的缓存声明,由HTTP客户端自动缓存;另一种是开发人员根据网络接口提供的与业务相关的数据结构,设计客户端存储结构,将返回数据解析后存储在本地。但是,上述HTTP协议的缓存控制技术,是一种通用的缓存技术,不能解析返回数据的数据结构,从而无法根据返回的数据字段做查询操作,也不能聚合相同接口返回的数据。上述由开发人员设计缓存返回数据方法的方式,需要针对每个服务端的不同接口设计缓存表,存在大量的重复开发工作,耗费时间。技术实现要素:本发明所要解决的技术问题是:提供一种自动缓存网络请求返回数据的方法及系统,实现了根据返回数据的结构自动创建缓存表缓存网络请求的返回数据。为了解决上述技术问题,本发明采用的技术方案为:本发明提供一种自动缓存网络请求返回数据的方法,包括:分配与网络接口相对应的请求标号;获取与所述请求标号相对应的网络请求返回的数据,得到原始数据;将所述原始数据转换成缓存机制定义的标准格式,得到标准数据;解析所述标准数据,得到所述网络请求的返回数据;创建与所述请求标号相对应的缓存数据表;所述缓存数据表包括第一编号和所述返回数据。本发明还提供一种自动缓存网络请求返回数据的系统,包括:分配模块,用于分配与网络接口相对应的请求标号;第一获取模块,用于获取与所述请求标号相对应的网络请求返回的数据,得到原始数据;转换模块,用于将所述原始数据转换成缓存机制定义的标准格式,得到标准数据;解析模块,用于解析所述标准数据,得到所述网络请求的返回数据;第一创建模块,用于创建与所述请求标号相对应的缓存数据表;所述缓存数据表包括第一编号和所述返回数据。本发明的有益效果在于:通过分配与网络接口相对应的请求标号,有利于在同一缓存数据表聚合具有相同请求标号的网络接口返回的数据;网络请求根据请求标号调用相应的网络接口;所述请求标号为在缓存数据表中聚合网络请求的返回数据的依据;通过将同一请求标号相对应的网络请求返回的数据转换成缓存机制定义的标准格式,从而可解析标准数据的数据结构,得到网络请求返回的参数名和参数值;根据网络请求返回的数据自动创建与所述请求标号相对应的缓存数据表,可根据网络接口、请求参数和查询字段在相应的缓存数据表中使用查询语句,查询所需的数据。附图说明图1为本发明一种自动缓存网络请求返回数据的方法的流程框图;图2为本发明一种自动缓存网络请求返回数据的系统的结构框图;标号说明:1、分配模块;2、第一获取模块;3、转换模块;4、解析模块;5、第一创建模块。具体实施方式为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。本发明最关键的构思在于:通过解析网络请求返回数据的数据结构,自动创建缓存数据表缓存网络请求的返回数据。如图1所示,本发明提供一种自动缓存网络请求返回数据的方法,包括:分配与网络接口相对应的请求标号;获取与所述请求标号相对应的网络请求返回的数据,得到原始数据;将所述原始数据转换成缓存机制定义的标准格式,得到标准数据;解析所述标准数据,得到所述网络请求的返回数据;创建与所述请求标号相对应的缓存数据表;所述缓存数据表包括第一编号和所述返回数据。进一步地,创建与所述请求标号相对应的缓存数据表之后,还包括:获取配置信息;所述配置信息包括主键字段、排序字段、索引字段和翻页控制参数;根据所述配置信息配置所述缓存数据表。由上述描述可知,通过配置缓存数据表,可优化查询操作,其中,可通过配置主键字段指定缓存数据表的主键;缓存数据表可以排序字段为依据进行排序;为索引字段创建索引,能够加快查询速度;翻页控制参数包括当前页数和每页项数,每页项数可指定缓存数据表每页包含的记录项数,通过当前页数可快速获取相应页中的数据记录。进一步地,还包括:获取所述返回数据的有效时间;获取网络请求的请求时间;根据所述有效时间和所述请求时间,计算得到过期时间;创建全局请求表;所述全局请求表包括第二编号、所述请求标号、网络接口的名称、参数名称、所述请求时间和所述过期时间。进一步地,还包括:获取所述返回数据的过期时间;创建全局请求表;所述全局请求表包括第二编号、所述请求标号、网络接口的名称、参数名称、所述请求时间和所述过期时间。由上述描述可知,可根据全局请求表管理网络请求返回数据的过期时间,所述全局请求表包括第二编号,可唯一标识全局请求表中的一条记录;所述全局请求表还包括所述请求标号、网络接口的名称、参数名称,开发人员根据网络接口的名称和参数名称找到相应的请求标号,从而可在与请求标号相应的缓存数据表中进行查询操作;所述全局请求表还包括所述请求时间,所述请求时间可区别对相同网络接口相同参数的多次请求;所述全局请求表还包括所述过期时间,当返回数据过期时,自动将其从缓存数据表中删除,可自动管理返回数据的生命周期。优选地,获取所述返回数据的过期时间有以下两种方式:方式一,读取HTTP协议响应头部的参数Cache-Control:max-age,max-age的值为所述返回数据的有效时间,单位为秒,可以从当前时间开始计算出返回数据的过期时间;方式二,读取HTTP协议响应头部的参数Expires,如果有设置,该参数的值为返回数据的过期时间;进一步地,还包括:创建缓存索引表;所述缓存索引表包括所述全局请求表中记录的标号和与全局请求表中记录对应的所述缓存数据表中记录的标号。由上述描述可知,缓存索引表记录全局请求表中的记录与缓存数据表中的记录的关联关系,可通过缓存索引表快速找到与全局请求表中记录的某次网络请求的返回数据。进一步地,还包括:为返回数据的字段及数据结构相同的网络接口分配相同的请求标号。由上述描述可知,通过为返回数据的字段及数据结构相同的网络接口分配相同的请求标号,可实现聚合不同网络接口的网络请求返回的数据,有利于集中对返回数据进行分析和处理。如:现有语文科目考试成绩查询接口和数学科目考试成绩查询接口,上述两个接口的网络请求返回数据的字段与数据结构相同,可通过为语文科目考试成绩查询接口和数学科目考试成绩查询接口分配相同的请求标号,实现聚合上述两个接口的网络请求返回数据,从而可对返回数据进行统一的分析和处理。如图2所示,本发明还提供一种自动缓存网络请求返回数据的系统,包括:分配模块1,用于分配与网络接口相对应的请求标号;第一获取模块2,用于获取与所述请求标号相对应的网络请求返回的数据,得到原始数据;转换模块3,用于将所述原始数据转换成缓存机制定义的标准格式,得到标准数据;解析模块4,用于解析所述标准数据,得到所述网络请求的返回数据;第一创建模块5,用于创建与所述请求标号相对应的缓存数据表;所述缓存数据表包括第一编号和所述返回数据。进一步地,还包括:第二获取模块,用于获取配置信息;所述配置信息包括主键字段、排序字段、索引字段和翻页控制参数;配置模块,用于根据所述配置信息配置所述缓存数据表。进一步地,还包括:第三获取模块,用于获取所述返回数据的有效时间;第四获取模块,用于获取网络请求的请求时间;计算模块,用于根据所述有效时间和所述请求时间,计算得到过期时间;第五获取模块,用于获取所述返回数据的过期时间;第二创建模块,用于创建全局请求表;所述全局请求表包括第二编号、所述请求标号、网络接口的名称、参数名称、所述请求时间和所述过期时间;第三创建模块,用于创建缓存索引表;所述缓存索引表包括所述全局请求表中记录的标号和与全局请求表中记录对应的所述缓存数据表中记录的标号。进一步地,还包括:请求标号分配模块,用于为返回数据的字段及数据结构相同的网络接口分配相同的请求标号。本发明的实施例一为:分配与网络接口相对应的请求标号;获取与所述请求标号相对应的网络请求返回的数据,得到原始数据;将所述原始数据转换成缓存机制定义的标准格式,得到标准数据;解析所述标准数据,得到所述网络请求的返回数据;创建与所述请求标号相对应的缓存数据表;所述缓存数据表包括第一编号和所述返回数据;获取配置信息;所述配置信息包括主键字段、排序字段、索引字段和翻页控制参数;根据所述配置信息配置所述缓存数据表;获取网络请求的请求时间;获取所述返回数据的过期时间;创建全局请求表;所述全局请求表包括第二编号、所述请求标号、网络接口的名称、参数名称、所述请求时间和所述过期时间;创建缓存索引表;所述缓存索引表包括所述全局请求表中记录的标号和与全局请求表中记录对应的所述缓存数据表中记录的标号。本发明的实施例二为:分配与网络接口host_name相对应的请求标号IF1;获取与所述请求标号IF1相对应的网络请求返回的数据,得到原始数据,所述原始数据为JSON数据格式,如下所示:{“count”:2,“items”:[{“id”:1000,“name”:“app1_name”,“version”:“v1.0.0”,“url”:“http://down.host.com/app1.apk”},{“id”:1001,“name”:“app2_name”,“version”:“v1.0.0”,“url”:“http://down.host.com/app2.apk”}]};通过解析器将所述原始数据转换成缓存机制定义的标准格式,得到标准数据,所述标准数据如下所示;globalValue={“count”:2}data=[{“id”:1000,“name”:“app1_name”,“version”:“v1.0.0”,“url”:“http://down.host.com/app1.apk”},{“id”:1001,“name”:“app2_name”,“version”:“v1.0.0”,“url”:“http://down.host.com/app2.apk”}]解析所述标准数据,得到网络请求返回的数据,包括参数名和对应的参数值;若当前无标号与请求标号IF1相同的缓存数据表,则新建缓存数据表,该缓存数据表的标号为IF1,该缓存数据表如表1所示:表1第一编号idnameversionurl11000app1_namev1.0.0http://down.host.com/app1.apk21001app2_namev1.0.0http://down.host.com/app2.apk配置标号为IF1的缓存数据表的主键字段为id,排序字段为id,索引字段为name,翻页控制参数中的当前页数为1,每页项数为5;根据上述配置信息,配置缓存数据表,以id为主键,并根据id从小到大排序,可快速获取小于预设id值的数据记录;为name字段建立索引,可根据name值快速获取相应的记录;根据翻页控制参数中的设置,当前缓存数据表显示页数为第一页,且最多显示五项记录;全局请求表中记录本次网络请求的相关信息,如表2所示:表2与表1所描述的缓存数据表和表2所描述的全局请求表相对应的缓存索引表如表3所示:表3第二标识第一标识1112从上表描述可知,全局请求表中的第二标识为1的记录所表示的网络请求的返回数据,是标号为IF1的缓存数据表中的第一标识为1和2所记录的数据。本发明的实施例三为:分配模块分配与网络接口相对应的请求标号;第一获取模块获取与所述请求标号相对应的网络请求返回的数据,得到原始数据;转换模块将所述原始数据转换成缓存机制定义的标准格式,得到标准数据;解析模块解析所述标准数据,得到所述网络请求的返回数据;第一创建模块创建与所述请求标号相对应的缓存数据表;所述缓存数据表包括第一编号和所述返回数据;第二获取模块获取配置信息;所述配置信息包括主键字段、排序字段、索引字段和翻页控制参数;配置模块根据所述配置信息配置所述缓存数据表;第四获取模块获取网络请求的请求时间;第五获取模块获取所述返回数据的过期时间;第二创建模块创建全局请求表;所述全局请求表包括第二编号、所述请求标号、网络接口的名称、参数名称、所述请求时间和所述过期时间;第三创建模块创建缓存索引表;所述缓存索引表包括所述全局请求表中记录的标号和与全局请求表中记录对应的所述缓存数据表中记录的标号。综上所述,本发明提供一种自动缓存网络请求返回数据的方法及系统,通过分配与网络接口相对应的请求标号,有利于在同一缓存数据表聚合具有相同请求标号的网络接口返回的数据;网络请求根据请求标号调用相应的网络接口;通过将同一请求标号相对应的网络请求返回的数据转换成缓存机制定义的标准格式,从而可解析标准数据的数据结构,得到网络请求返回的参数名和参数值;根据网络请求返回的数据创建与所述请求标号相对应的缓存数据表,可根据网络接口、请求参数和查询字段在相应的缓存数据表中使用查询语句,查询所需的数据;进一步地,通过配置缓存数据表,可优化查询操作;进一步地,通过全局请求表可自动管理返回数据的生命周期;进一步地,通过缓存索引表快速找到与全局请求表中记录的某次网络请求的返回数据;进一步地,可聚合相同网络接口不同参数的网络请求的返回数据。以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的
技术领域
,均同理包括在本发明的专利保护范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1