System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及大数据处理,特别是涉及一种数据处理方法、处理器和存储介质。
技术介绍
1、数据库的数据存储以及前端的数据展示均需要对数据进行一定的转换处理,比如,翻译、脱敏、解密、国际化处理。现有常规技术采用硬编码方式处理或者采用拦截器机制统一处理。
2、如图1所示,采用注解方式定义字段规则,比如,@utctimeconvert;加载翻译、国际化等资源,比如,某个字段不同语言下的值,通过定制全局拦截器(interceptor)逻辑,利用加载的资源对不同的字段规则进行处理。比如,如下代码所示:“@sensitivefield(rules={"phone"})private string phoneno;@utctimeconvert private java.util.dateupdatedat;”。
3、但是,由于每个应用管理各自资源,为了确保实时性和运行效率,各个应用需要分别处理资源的加载、刷新、缓存等逻辑,并且针对一些公共资源每个应用都会存储,增加了额外的储存开销;涉及到修改转换规则,比如:脱敏规则,需要每个应用分别修改代码并重新发版。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种数据处理方法、处理器和存储介质,用于解决每个应用服务各自管理各自的资源服务,额外重复存储开销、以及重复开发转换逻辑的技术问题。
2、第一方面,本申请提供了一种数据处理方法,所述方法包括:
3、接收访问请求,根据所述访问请求,确定待响应的应用服务;
4、向所述应用服务转发访问请求,以接收应用服务反馈的原始响应;
5、解析所述原始响应中的字段信息,根据所述字段信息查找本地缓存的规则集,找出目标转换规则;
6、利用目标转换规则对所述原始响应进行响应重写,以动态生成最终响应。
7、在其中一个实施例中,所述根据所述字段信息查找本地缓存的规则集,找出对应的转换规则的步骤之前,包括:
8、将所有所述应用服务配置为初次启动时,全量扫描加载应用服务的类处理器,获取所述应用服务中所有注解的字段信息;
9、将所有注解的字段信息输入至预设的规则集生成器中,以利用所述规则集生成器生成json格式的规则集。
10、在其中一个实施例中,所述利用所述规则集生成器生成json格式的规则集的步骤之后,包括:
11、将所有所述应用服务配置为统一注册servlet服务,当生成json格式的规则集时,通过所述servlet服务发布所述规则集访问入口的访问地址,以实现统一的查询入口。
12、在其中一个实施例中,所述根据所述字段信息查找本地缓存的规则集,找出对应的转换规则的步骤之前,还包括:
13、将所有所述应用服务配置为非初次启动时,全量扫描加载应用服务的类处理器,获取所述应用服务中新增注解的字段信息;
14、将新增注解的字段信息输入至预设的规则集生成器中,以利用所述规则集生成器进行相应处理后,更新json格式的规则集。
15、在其中一个实施例中,所述根据所述字段信息查找本地缓存的规则集,找出对应的转换规则的步骤之前,还包括:
16、将所有所述应用服务配置为依赖公共基础模块,以便利用所述公共基础模块统一定义所述规则集生成器以及所述规则集的访问入口。
17、在其中一个实施例中,所述接收访问请求的步骤之前,包括:
18、将网关配置为启动过程中,注册定时同步任务,以便在执行所述定时同步任务时,检查应用服务中更新的规则集,通过拉取更新后的规则集,使得网关本地缓存的规则集与应用服务中的规则集的规则同步。
19、在其中一个实施例中,将网关配置为启动过程中,注册定时同步任务,以便在执行所述定时同步任务时,检查应用服务中更新的规则集,通过拉取更新后的规则集,使得网关本地缓存的规则集与应用服务中的规则集的规则同步的步骤,包括:
20、将所述网关配置为在接收访问请求时,获取所述访问请求中的请求地址;
21、根据所述请求地址确定待响应的应用服务,以及根据所述请求地址找到应用服务中规则集的访问地址;
22、利用所述访问地址确定规则集中的目标转换规则,生成针对所述目标转换规则的定时同步任务;
23、根据所述定时同步任务建立请求地址与目标转换规则的映射关系;
24、利用所述映射关系刷新所述网关本地缓存的规则集,以使网关本地缓存的规则集与应用服务中的规则集的规则同步,进而利用网关本地缓存的规则集对所述原始响应进行规则匹配时,找到目标转换规则。
25、在其中一个实施例中,利用所述目标转换规则对所述原始响应进行响应重写,以动态生成最终响应的步骤,包括:
26、利用目标转换规则以及网关本地预先加载的资源服务对原始响应进行响应重写,以动态生成最终响应。
27、第二方面,本申请提供了一种处理器,被配置为执行第一方面任意一项所述的数据处理方法。
28、第三方面,本申请提供了一种计算机可读存储介质,其该机器可读存储介质上存储有指令,其特征在于,该指令在被处理器执行时使得所述处理器被配置成执行根据第一方面中任一项所述的数据处理方法。
29、上述数据处理方法、处理器和存储介质,由于采用了接收访问请求,根据所述访问请求,确定待响应的应用服务;向所述应用服务转发访问请求,以接收应用服务反馈的原始响应;解析所述原始响应中的字段信息,根据所述字段信息查找本地缓存的规则集,找出目标转换规则;利用所述目标转换规则对所述原始响应进行响应重写,以动态生成最终响应。本方案是基于现有接收访问请求后反馈响应的基础上进行的方案改良,包括注解定义、资源加载、规则执行等沿用原有模式,对开发人员来说不会引入任何额外的成本,新旧方案切换只需要屏蔽应用的相关拦截器,然后通过引入统一的公共基础模块,自动注册规则发布的接口;把原有的资源服务、执行逻辑从应用层迁移到网关层,实现了由各个应用分散管理到网关的统一管理,从而减少了整体运维复杂度。现有方案中每个应用服务需要独立维护字典、翻译词条等资源服务的缓存数据,存在至少两个问题:(1)对一些公共资源冗余缓存造成资源浪费;(2)一旦数据发生变化需要各个服务执行清理缓存刷新数据的逻辑。基于此,本方案将转换逻辑交给网关统一执行,更加满足架构分层理论。服务层无需考虑前端个性化展示需求,这部分处理全部交给网关处理,实现一套业务代码通过网关层定制转换规则满足不同前端不同业务系统的展示需求,从而实现前后端逻辑解耦;除了数据处理的规则外,其他如接口权限级别、是否需要采集日志等规则都可以采用类似处理,可以达到举一反三的效果。应用层只负责定义,执行交给网关统一执行。
本文档来自技高网...【技术保护点】
1.一种数据处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述字段信息查找本地缓存的规则集,找出目标转换规则的步骤之前,包括:
3.根据权利要求2所述的数据处理方法,其特征在于,所述利用所述规则集生成器生成JSON格式的规则集的步骤之后,包括:
4.根据权利要求2所述的数据处理方法,其特征在于,所述根据所述字段信息查找本地缓存的规则集,找出目标转换规则的步骤之前,还包括:
5.根据权利要求2所述的数据处理方法,其特征在于,所述根据所述字段信息查找本地缓存的规则集,找出对应的转换规则的步骤之前,还包括:
6.根据权利要求3所述的数据处理方法,其特征在于,所述接收访问请求的步骤之前,包括:
7.根据权利要求6所述的数据处理方法,其特征在于,所述将网关配置为启动过程中,注册定时同步任务,以便在执行所述定时同步任务时,检查应用服务中更新的规则集,通过拉取更新后的规则集,使得网关本地缓存的规则集与应用服务中的规则集的规则同步的步骤,包括:
8.根据权利要求1
9.一种处理器,其特征在于,被配置为执行权利要求1至8任意一项所述的数据处理方法。
10.一种计算机可读存储介质,该机器可读存储介质上存储有指令,其特征在于,该指令在被处理器执行时使得所述处理器被配置成执行权利要求1至8中任一项所述的数据处理方法。
...【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述字段信息查找本地缓存的规则集,找出目标转换规则的步骤之前,包括:
3.根据权利要求2所述的数据处理方法,其特征在于,所述利用所述规则集生成器生成json格式的规则集的步骤之后,包括:
4.根据权利要求2所述的数据处理方法,其特征在于,所述根据所述字段信息查找本地缓存的规则集,找出目标转换规则的步骤之前,还包括:
5.根据权利要求2所述的数据处理方法,其特征在于,所述根据所述字段信息查找本地缓存的规则集,找出对应的转换规则的步骤之前,还包括:
6.根据权利要求3所述的数据处理方法,其特征在于,所述接收访问请求的步骤...
【专利技术属性】
技术研发人员:姜维,谢朝辉,李振兴,宋程杰,
申请(专利权)人:中科云谷科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。