代理---ai数据获取与处理

一、代理产生的需求分析
    当有客户需要定制ai、bi产品的大屏、报警时,需要调用ai、bi等数据的api,但是直接调用ai、bi的api是不能够获取数据的,因为,调用接口的时候,需要通过验证才可以,否则调用接口就是返回的是401状态(未授权的状态),所以,就需要定制一款产品,可以直接调用代理所提供的api获取ai的数据。在代理产生之前都是通过定制ai产品,对外提供开放的api提供数据,这样的做法操作起来比较繁琐,而且效率较低,所以,我们就使用了代理的方式获取ai数据。
二、代理系统原理
    根据ai、bi等产品的特性,在每一次调用dv的api时,请求的url的请求头中都会携带一些登陆验证的信息,对接用户中心的产品和没有对接用户中心的产品,登陆认证的方式是不同。
    1、对接用户中心
        对接用户中心时,登陆时访问的接口为:/account/sessionId.do    请求方法:get
    在访问其他接口之前,都会先调用这个接口获取用户的登陆信息,然后,再调用其它接口之前,每次请求的url的头信息中都会携带登陆接口所返回的认证信息,这样就可以正常访问ai、bi等产品的其他接口了。
    2、无对接用户中心
        当是部署单独的产品时,登陆时访问的接口为:/tpm/account/login  请求方法:post
    剩下的具体的操作过程是和  对接用户中心  的步骤是一样的,区别是,两个登陆接口所返回的值是不同的。
    3、代理的优化处理
        具备了基本的核心功能,后续就需要有许多优化的处理,这个工作目前已知的需要优化的部分 完成情况为:
        3.1 请求参数的处理(已完成)
        3.2 常量字段处理(已完成)
        3.3 请求流程的简化(正在进行...)
        3.4 数据请求接口化(正在进行...)
        3.5 多线程请求数据功能的实现(需要对接Ai5.0)
        
三、代理的模块化分析
    1. 开发环境配置
    1.1 IDE及周边设置
    software requirements:
    JDK (Oracle Hotspot JDK version >= 1.8.0_45)
    Intellij IDEA
    Git
    Maven (version >= 3.2.0)
    lombok (version >= 0.11.8)
    1.2 代码风格
    MetaMx Java Code.xml (在idea中设置代码风格)
    2. 项目和代码说明
    2.1 项目结构

|----pivot-ai (ai代理模块)
|----pivot-bi (bi代理模块)
|----pivot-dm (data manager, 模型管理模块)
|----pivot-util (data util, 工具类集合)
|----pivot-install (安装包项目)
```
类似proxy-ai和proxy-bi模块可根据需求添加或删除
    技术栈
    目前我们使用 SpringBoot + MyBatis + MySQL
    2.2 代码提交规范与jira使用
       1. 请确保对源代码的每一行修改(包括配置)都有对应的jira issue;
       2. 提交修改时comment内容如下格式: `git commit -m "JIRA-NUM: your commit comment goes here"`;其中`JIRA-NUM`为对应的jira号;
       3. commit提交到远程代码仓库后,即时更新jira issue,添加注释;注释内容为:
    * **每一个**commit的gitlab链接地址,如` http://git.oneapm.me/tps/tps/commit/8be09dd228eccab1d81fa0baaae5c438928670a0`;
    * 如果建立了远程分支,请写明分支名称;
    * 请在注释中写明修改的内容;如有必要,尽量阐明bug原因或者新功能的内容或者修改对系统的重大影响等;
       4. 功能开发完成,或者bug修改结束,需要通知测试同事测试;
       5. 测试通过,在gitlab页面,创建pull request,并提交给相关同事审核,审核通过后由审核同事负责merge;
       6. 开发过程中请更新对应的jira状态;
       7. bug修改的分支名,以`fix/`作为前缀;新功能分支名以`feature/`作为前缀;定制分支名以`release/`作为前缀;
打包命令:
    mvn clean package
执行打包命令后,会在proxy-install/target路径下生成.tar.gz和.zip两个安装包
    3. 运行项目
       1. 解压medivh-proxy.tar.gz或medivh-proxy.zip包
       2. 执行根路径下的startup.sh脚本启动项目

       4. 执行根路径下的shutdown.sh脚本终止项目
    
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值