System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及大数据与金融科技领域,尤其涉及项目启动方法、装置、计算机设备及存储介质。
技术介绍
1、在金融保险领域中,为了提高业务营销效果,权益系统的构建与维护成为了一个至关重要的环节。权益系统通过定义和管理各种权益包(通常包含用户可享有的服务、资源或特权),为用户提供了灵活多变的权益体验。然而,随着业务规模的扩大和权益种类的增多,权益包之间的依赖关系日益复杂,形成了一个庞大的、相互交织的权益包依赖关系。
2、现有技术中,为了在权益系统运行时能够高效地处理这些复杂的依赖关系,通常会在权益系统的本地项目启动时,预先执行依赖关系加载代码以实现将权益包依赖关系加载至本地内存中。然而,由于权益包依赖关系涉及到的权益包的数量非常多,运行依赖关系加载代码时,要先从根节点开始分析,然后依次去数据库查询依赖的权益包的信息,由于数据库查询的操作极其耗时,进而导致本地项目的启动时间较长,且本地项目的启动速度低下。
技术实现思路
1、本申请实施例的目的在于提出一种项目启动方法、装置、计算机设备及存储介质,以解决现有的本地项目的启动方式存在启动时间较长,且本地项目的启动速度低下的技术问题。
2、为了解决上述技术问题,本申请实施例提供一种项目启动方法,采用了如下所述的技术方案:
3、判断是否接收到用户触发的对于目标项目的启动请求;其中,所述启动请求携带所述用户的用户信息;
4、若是,从所述启动请求中提取出所述用户信息,并基于所述用户信息与预设的权限等级模型对用户
5、若所述用户通过权限验证,则判断在预设的本地缓存中是否存储有与所述目标项目对应的指定版本的第一依赖关系数据;
6、若所述本地缓存中未存储有所述第一依赖关系数据,则判断在预设的redis缓存中是否存储有与所述目标项目对应的指定版本的第二依赖关系数据;
7、若所述redis缓存中未存储有所述第二依赖关系数据,则判断在预设的远程服务中是否存储有与所述目标项目对应的指定版本的第三依赖关系数据;
8、若所述远程服务中存储有所述第三依赖关系数据,则从所述远程服务中获取所述第三依赖关系数据;
9、基于所述第三依赖关系数据对所述目标项目进行启动处理。
10、进一步的,在所述判断在预设的远程服务中是否存储有与所述目标项目对应的指定版本的第三依赖关系数据的步骤之后,还包括:
11、若所述远程服务中未存储有所述第三依赖关系数据,则获取与所述目标项目对应的依赖关系加载代码;
12、执行所述依赖关系加载代码,以从预设数据源中加载与所述指定版本对应的第四依赖关系数据;
13、对所述第四依赖关系数据进行数据验证;
14、若所述第四依赖关系数据通过数据验证,则基于所述第四依赖关系数据对所述目标项目进行启动处理。
15、进一步的,所述对所述第四依赖关系数据进行数据验证的步骤,具体包括:
16、对所述第四依赖关系数据进行完整性校验;
17、若所述第四依赖关系数据通过完整性校验,对所述第四依赖关系数据进行一致性校验;
18、若所述第四依赖关系数据通过一致性校验,则判定所述第四依赖关系数据通过数据验证,否则判定所述第四依赖关系数据未通过数据验证。
19、进一步的,在所述基于所述第四依赖关系数据对所述目标项目进行启动处理的步骤之后,还包括:
20、对所述第四依赖关系数据进行格式封装处理,得到目标依赖关系数据;
21、将所述目标依赖关系数据推送至所述远程服务;
22、基于所述第四依赖关系数据对所述redis缓存进行第一缓存更新处理,并在所述redis缓存中设置与所述第四依赖关系数据对应的第一缓存过期时间;
23、基于所述第四依赖关系数据对所述本地缓存进行第二缓存更新处理,并在所述本地缓存中设置与所述第四依赖关系数据对应的第二缓存过期时间。
24、进一步的,所述基于所述第四依赖关系数据对所述redis缓存进行第一缓存更新处理的步骤,具体包括:
25、判断在所述redis缓存中是否存储有与所述目标项目对应的过期依赖关系数据;
26、若所述redis缓存中未存储有所述过期依赖关系数据,则确定与所述第四依赖关系数据对应的目标数据结构;
27、基于所述目标数据结构将所述第四依赖关系数据存储至所述redis缓存内;
28、若所述redis缓存中存储有所述过期依赖关系数据,则使用所述第四依赖关系数据对所述过期依赖关系数据进行数据替换处理。
29、进一步的,所述基于所述用户信息与预设的权限等级模型对用户进行权限验证的步骤,具体包括:
30、调用所述权限等级模型,并获取预设业务操作权限表;
31、基于所述权限等级模型获取与所述用户信息对应的目标权限等级;
32、从所述业务操作权限表中查询出与本地项目启动的业务操作对应的指定权限等级范围;
33、判断所述目标权限等级是否处于所述指定权限等级范围内;
34、若是,判定所述用户通过权限验证,否则判定所述用户未通过权限验证。
35、进一步的,在所述判断在预设的本地缓存中是否存储有与所述目标项目对应的指定版本的第一依赖关系数据的步骤之后,还包括:
36、若所述本地缓存中存储有所述第一依赖关系数据,则从所述本地缓存中获取所述第一依赖关系数据;
37、基于所述第一依赖关系数据对所述目标项目进行启动处理。
38、为了解决上述技术问题,本申请实施例还提供一种项目启动装置,采用了如下所述的技术方案:
39、第一判断模块,用于判断是否接收到用户触发的对于目标项目的启动请求;其中,所述启动请求携带所述用户的用户信息;
40、第一验证模块,用于若是,从所述启动请求中提取出所述用户信息,并基于所述用户信息与预设的权限等级模型对用户进行权限验证;
41、第二判断模块,用于若所述用户通过权限验证,则判断在预设的本地缓存中是否存储有与所述目标项目对应的指定版本的第一依赖关系数据;
42、第三判断模块,用于若所述本地缓存中未存储有所述第一依赖关系数据,则判断在预设的redis缓存中是否存储有与所述目标项目对应的指定版本的第二依赖关系数据;
43、第四判断模块,用于若所述redis缓存中未存储有所述第二依赖关系数据,则判断在预设的远程服务中是否存储有与所述目标项目对应的指定版本的第三依赖关系数据;
44、第一获取模块,用于若所述远程服务中存储有所述第三依赖关系数据,则从所述远程服务中获取所述第三依赖关系数据;
45、第一启动模块,用于基于所述第三依赖关系数据对所述目标项目进行启动处理。
46、为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方本文档来自技高网...
【技术保护点】
1.一种项目启动方法,其特征在于,包括下述步骤:
2.根据权利要求1所述的项目启动方法,其特征在于,在所述判断在预设的远程服务中是否存储有与所述目标项目对应的指定版本的第三依赖关系数据的步骤之后,还包括:
3.根据权利要求2所述的项目启动方法,其特征在于,所述对所述第四依赖关系数据进行数据验证的步骤,具体包括:
4.根据权利要求2所述的项目启动方法,其特征在于,在所述基于所述第四依赖关系数据对所述目标项目进行启动处理的步骤之后,还包括:
5.根据权利要求4所述的项目启动方法,其特征在于,所述基于所述第四依赖关系数据对所述Red i s缓存进行第一缓存更新处理的步骤,具体包括:
6.根据权利要求1所述的项目启动方法,其特征在于,所述基于所述用户信息与预设的权限等级模型对用户进行权限验证的步骤,具体包括:
7.根据权利要求1所述的项目启动方法,其特征在于,在所述判断在预设的本地缓存中是否存储有与所述目标项目对应的指定版本的第一依赖关系数据的步骤之后,还包括:
8.一种项目启动装置,其特征在于,包括:<
...【技术特征摘要】
1.一种项目启动方法,其特征在于,包括下述步骤:
2.根据权利要求1所述的项目启动方法,其特征在于,在所述判断在预设的远程服务中是否存储有与所述目标项目对应的指定版本的第三依赖关系数据的步骤之后,还包括:
3.根据权利要求2所述的项目启动方法,其特征在于,所述对所述第四依赖关系数据进行数据验证的步骤,具体包括:
4.根据权利要求2所述的项目启动方法,其特征在于,在所述基于所述第四依赖关系数据对所述目标项目进行启动处理的步骤之后,还包括:
5.根据权利要求4所述的项目启动方法,其特征在于,所述基于所述第四依赖关系数据对所述red i s缓存进行第一缓存更新处理的步骤,具体包括:
6.根据权利要求1所述的项目启动方...
【专利技术属性】
技术研发人员:牛煜超,
申请(专利权)人:平安银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。