公司业务各方面展开,要新上多个平台。需要不同域名的多个平台可以共享登陆状态。准确得说,就是需要一账通平台

现状:海银会(非标固收)与海银财富(公募基金)两个数据库、海银会平台一套系统

1.单点登录实现方案。

有两种技术方案:

1)A网站和B网站,登陆都跳C网站,C网站登陆后带着token返回A、B网站的相关页面。A、B网站将token存放到cookie中去并建立相关session。

2)A网站登陆,B网站、C网站都通过jsonp跨域取所有相关网站的cookie值获得token与登陆信息

结论:方案二从用户体验上更好,但是跨域的安全性不了解不确定。偏向于选择方案一

2.方案一,多平台登录问题解决了,但是多平台登录后都有本地session,一个平台登出,另一个平台也要登出怎么实现

有两种技术方案:

1)每次业务请求都额外请求一次B网站的服务,检查登录状态,是否为登出

2)在一个平台登出后,B网站负责像所有其他平台推送用户登出消息

结论:方案二不影响业务交易的性能,但是需要额外的基础架构建设(比如MQ等),时间紧迫。选择实现简单的方案一

3.一账通是仅实现会员管理,还是包括银行卡管理,资金管理等

一方意见:仅实现会员管理,多平台登录,实现简单,没必要把资金纳入到一账通中去。

另一方意见:将资金纳入一账通有一个好处,账户内金额可以跨平台使用可以更方便实现,毕竟是在一个系统内;如果卡由业务系统自行维护,则可能同一用户同一卡被验证多次,将银行卡管理纳入到一账通中的好处是,卡的鉴权验证只需做一次,节省成本。

结论:将银行卡管理及资金管理纳入一账通平台。逻辑上一账通一个整体,但其实可以切分成三个服务或三个微服务群

4.会员模型是怎么样的

结论:一个客户(以身份证为唯一识别)——>(1:n)——>平台用户(客户+平台)——>(1:n)——>钱包账户、临时账户、活动账户

5.银行卡管理做到什么程度?仅卡片信息?还是包含绑/解卡?

结论:

(1)为了同卡只验证一次,绑卡验证应该在一账通处理。

(2)绑卡与业务平台相关,一卡可以绑多个业务平台。一个业务平台也可以绑多个卡。

(3)需支持对业务平台进行解绑卡操作。

(4)对一账通平台进行解绑卡操作的话,需要检查该卡与所有业务平台均已解绑才可以解绑。

(5)一账通平台只负责维护卡与业务员平台的绑定关系。业务平台内多个业务与卡的签约关系由业务平台自行维护

6.银行卡管理模型是怎样的

结论:一个客户(以身份证为唯一识别)——>(1:n)——>银行卡——>(n:n)——>业务平台主签约

7.一账通平台是重新搭建还是改造原用户服务ucs-service

结论:原ucs-service除了用户服务还有其他功能,切分麻烦。另原用户模型为一客户一用户,整体控制都是以此为基础。建议重新开发一账通平台会员管理服务

8.资金管理平台是重新搭建还是改造原钱包服务wallet-service

结论:原wallet-service服务切分得比较合理,根据当前表结构及系统处理逻辑评估。改造原钱包服务,增加平台相关字段,为所有业务平台的统一资金服务

9.用户数据以海银会的库为基准,一账通会员管理连的也是海银会的库还是使用新建库

结论:从微服务的理念上来说,应该是一个服务一个库。且鉴于用用户库结构不清晰,预期将就改造,不如新建一个,大不了进行数据迁移。以旧模型强行承接新业务,不如以旧数据改造适配新模型。

10.原海银会业务与用户在同一个库里,有很多联表操作。分库后怎么处理

结论:原联表需求分为两类:与交易相关的以及报表相关的

与交易相关的如用户角色,用户权限等,有个特征,仅与用户个人相关,可通过服务调用直接获取单个用户相关信息。

而报表可能同时需要大量用户的信息,不管是多次调用单个用户信息服务还是批量调用,都不是很合适。从修改的工作量来看,也是非常大。所有联表的SQL语句及处理代码都要改动。代价太大。选择原库存放冗余数据,数据定时从一账通数据库同步至原库。

11.如果采用数据延迟同步的方式。在延迟阶段会有什么问题吗。

结论:只有查询报表类,会存在数据延迟的问题。如果有业务数据存在用户id,但用户相关信息没有同步过来时。如果连接方式采用LEFT JOIN,则结果可以查到相关交易数据,但是用户名等信息为空。如果连接方式采用INNER JOIN方式,则无法查到交易数据。这点需与业务方确认

12.如果业务方要求有些业务查询,必须准实时,不能有延迟,怎么实现

结论:大部分查询报表需求都应该可以接受十分钟,半小时甚至更长时间的延迟。可以采用定时增量同步的方式进行同步。如果实在有准实时查询需求,可以采用用户注册时同时推送的设计,准实时将新增用户信息推送到业务系统

13.会员库为新建库。那资金库是否需要新建?

结论:新建会员库的一大原因是,新建的会员库与原用户库相差巨大。所以选择新建。而改造后的资金库与新模型资金库是一样的。改造完原库,即为最终目标状态。现在迁移及将来迁移的成本是一样的。在当前项目时间紧迫的前提下,选择不迁移。直接使用原库,来减少wallet-service的改造量。等将来有时间再改造迁移

14.移动端是否要和PC打通,实现单点登录?

结论:比如PC登录了A网站,然后B网站的APP就自动登录了。总感觉用户体验怪怪的。而且貌似没有简单的解决方案,所以不实现该功能

15.那移动端的登录状态是由一账通处理还是业务系统自行处理

一方意见:移动端登录状态与一账通登录状态不共享,且失效时间不同。PC端一般为15分钟,移动端为60天。应由业务系统自行处理维护

另一方意见:同样是会员登陆,PC选择一账通,而移动端由业务系统维护。对于业务系统来说,业务切割不干净。要么就由业务系统统一维护,要么由一账通统一管理。一半一半不合理

结论:如果移动端登陆管理由各个业务系统自行维护,其代码其实是可以复用的,只是配置时间不同。既然代码可以复用不如抽出来作用一账通服务的一部分,提供给所有业务系统。所以需要在原设计基础上添加终端字段

16.现在有两个库的用户,进行数据合并的时候,如果同一个用户(同一个身份证号)在两个平台的用户名,密码不同,怎么处理

方案一:通通以一个平台为准,用户名、密码、手机号。出现冲突则以一个平台为准。等提供手机号,身份证,用户名,邮箱等多种登陆方式。一账通平台上线后,提示使用海银会的用户名密码登陆。海银财富的用户名密码将失效。如果不记得海银会用户名,可用身份证号或手机号登陆

方案二:表中建四列相关字段。平台1用户名、平台1密码、平台2用户名、平台2密码。一账通上线后新用户用户名密码记录在“平台1用户名”及“平台1密码”。原老用户可以用两种平台用户名密码组登陆。如  select …… from …… where (平台1用户名 = 'AAA' and 平台1密码 = ‘BBB’) OR (平台2用户名 = 'AAA' and 平台2密码 = ‘CCC’)

结论:鉴于平台2现在只有密文,需要额外的工作去了解平台2密码的加密方式。并且每一次登陆都要将收到的密码明文按照两种不同方式加密,浪费性能。且方案一提供多种方式登陆,应该可以覆盖所有用户

17.海银会目前调用采用的是hessian直连方式。新项目想使用SpringCloud,采用怎么的方案?

方案一:原系统移植为SpringBoot应用。采用feign的方式进行调用

方案二:新项目继续使用原本的框架,采用原来的hessian直连的调用方式

结论:鉴于SpringCloud大行其道,转型意愿强烈。一账通平台为新建重造的应用,非常适合直接使用SpringBoot及Springcloud。则采用如下方案:

当前系统架构:

过渡SpringCloud系统架构

仅改动原core包中提供远程调用的方法sendRemoteRequest。方法中对调用的目的进行判断,一账通相关业务路由至SpringCloud的Zuul网关,由Zuul来做负载均衡分发。其他调用走原本Hessian直连方式。这样所有业务系统都可以不作代码变更,只需重新编译部署就可以了。等将来将原有系统一点点往SpringBoot移植

转载于:https://www.cnblogs.com/keita/p/7767553.html

工作小记——一账通平台设计分析及结果相关推荐

  1. 智慧园区医院一账通平台解决方案

    广大患者希望院方借助互联网.移动互联网等新技术,实现网上预约.网上挂号.网上查询就诊过程.就诊结果.医疗费用:居民需要查阅医院的专家资源介绍和治疗方案介绍,查询疾病的预防和愈合康复措施等知识,并可与医 ...

  2. Android高通平台调试Camera驱动全纪录

    项目比较紧,3周内把一个带有外置ISP,MIPI数据通信,800万像素的camera从无驱动到实现客户全部需求. 1日 搭平台,建环境,编译内核,烧写代码. 我是一直在Window下搭个虚拟机登服务器 ...

  3. 高通平台添加或者移植一个完整的camera

    OV8865 1.kernel部分: A.kernel_driver: 把驱动文件ov8865_qtech_f8865ac.c 放到kernel/drivers/media/platform/msm/ ...

  4. 速卖通平台交易佣金和运费能否开具发票呢?具体操作流程如下

    速卖通平台交易佣金能否开具发票呢? 速卖通交易佣金发票是由收款方新加坡公司开具,是形式发票,没有盖章,不同于国内的普通发票或增值税专用发票,参考下图所示,请问您是否还需要开具: 如果您有对账的需求,您 ...

  5. 高通平台环境搭建,编译,系统引导流程分析 .

    1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通开发板上烧录文件系统 建立高通平台开发环境 高通平台,android和 modem 编译流程分析 高通平台 7620 启动流 ...

  6. 关于高通平台王者荣耀,和平精英等游戏杂音问题

    关于高通平台王者荣耀,和平精英等游戏杂音问题 今天我将为大家讲述我在音频开发处理的第一个问题,王者荣耀的登录pop音问题. 问题描述:最新版本的手机上,安装了王者荣耀,和平精英,消消乐等游戏APP,可 ...

  7. 高通平台耳机知识记录

    一. 在高通平台中,默认使用内部codec的时候,耳机的输出及控制都是在内部codec中进行的,所以,可以想象得到,耳机的整个初始化起源过程,是在codec的初始化中.高通平台的machine驱动文件 ...

  8. 高通平台耳机知识记录(转载)

    一. 在高通平台中,默认使用内部codec的时候,耳机的输出及控制都是在内部codec中进行的,所以,可以想象得到,耳机的整个初始化起源过程,是在codec的初始化中.高通平台的machine驱动文件 ...

  9. [Linux Audio Driver] 高通平台内部MIC_BIAS简介

    #更新 2020.05.10 我觉得我这个标题取的不是很妥当,为了表达对技术的敬畏之心,我将原标题 <一文搞懂内部MIC_BIAS>修改为<高通平台内部MIC_BIAS简介> ...

最新文章

  1. 半个月3篇Nature/Science,95后曹原3年8篇顶刊,网友:杀疯了杀疯了
  2. LESSON 12.1-12.6 梯度提升树的基本思想梯度提升树的参数
  3. OpenGL生成的法线贴图并增加光照
  4. c 调用java包_C#调用java代码(IKVMC)
  5. 《D3.js数据可视化实战手册》—— 1.1 简介
  6. T-SQL中的透视和逆透视
  7. 朱海舟宣布新一批应用已经适配锤子TNT 网友:救救海舟
  8. Machine Learning - XII. Support Vector Machines支持向量机(Week 7)
  9. 《信号与系统学习笔记》—采样(一)
  10. 2022年第十三届蓝桥杯省赛真题及部分答案解析(Java B组)
  11. 正射影像、倾斜摄影测量相关软件汇总
  12. 上网账号口令怎么获取_我的路由器上网账号和口令忘记了该怎么办
  13. 微信公众号如何实现支付功能?
  14. 举头望明月打计算机术语,有趣的中秋节灯谜
  15. java程序制作成可执行.exe文件
  16. vue项目上线后服务器资源更新而浏览器有缓存不更新
  17. MacPro终端出现bash: touch: command not found
  18. [n年以前的诗] 回想那一次
  19. 快慢指针(Java版)
  20. Java各种加密方式集锦(AES,DES,RSA,DSA,MD5,SHA)

热门文章

  1. English Note 有关成功和人生意义的英语对话
  2. nvme分区选mbr还是guid_关于EFI系统分区(ESP)你应该知道的3件事
  3. 计算机推演未来发展动象,大学生计算机基础学习心得五篇
  4. 别再被骗了!你以为的大片其实是这样拍出的?
  5. weUI中调用手机摄像头拍照上传
  6. 专升本——英语视频学习
  7. 使用POI将数据库导出为excel表格
  8. 详解微信语音识别接口、OAuth2.0网页接口
  9. 最近想写一个类似鬼泣 收集红魂的功能,陆续写点东西作为笔记
  10. 基督教会史Church History in Plain Language 读书笔记