数据库小组第N次小组会议

时间:2021-01-16 14:05:22

时间:5.30晚,9:30 ~ 11:30

主题:讨论android app与服务器之间数据同步的技术选型与实现

与会人:陈兆庭,黄志鹏,吴雪晴

讨论内容

  1. 大体分析
    关于数据同步,整体上有两部分,用户身份认证与数据同步。我们暂时没有查用户身份认证的问题,而主要查找了数据同步问题的解决方案。
    同步问题,大致分这几个部分:服务器端的技术选型,android端数据选型,数据传输协议,同步策略。

  2. 服务器端技术选型
    关于语言,因为大家没什么兴趣再学php python了,而且java是安卓开发的常规选择、资料比较多,所以我们还是选择了java。
    要用java,就几乎必然使用servlet。所以我们还是按照常规,选择servlet容器tomcat提供服务。
    对于数据库选型,我们同样选择了常规的mysql。
    关于如何存储用户数据,我们目前的想法是为每个用户建立分立的目录,在目录下类似安卓端,创建用户自己的数据库,保存用户的多媒体文件。

  3. 安卓端数据选型
    google有一个叫sync adapter的框架,可以支持后台自动同步和手动同步,并且支持认证。当然具体的认证方式和同步通信方式还是要我们自己写,但是这毕竟已经方便多了。

  4. 数据传输协议
    由于tomcat对http有较好的封装,所以我们打算使用http协议传输数据。
    对于数据库中各个表项的多个键值使用xml封装,对于多媒体文件分割成多个小块分别发送。(想用ftp 23333 我凭什么要自己写一个文件传输协议(这里只是写博客的人突然皮了一下))更具体的协议没有确定。

  5. 同步策略
    放在最后面是因为我们没有讨论出来。
    我们想了很多策略,如用标志位表示同步状态、用timestamp表示最后同步时间等,但似乎总是有bug。因此我们决定查一查资料再决定。

  6. (不知道为什么就随便)(了个)
    (写博客的人觉得三个人不足以完成这么艰巨的任务,想弄几个人来帮忙)
    陈兆庭:负责服务器端数据库部分的搭建、代码编写
    黄志鹏:负责服务器端网络、通讯部分的搭建、代码编写
    吴雪晴:负责安卓端的代码编写