一种面向移动终端与服务器数据交互方式的方法技术

技术编号:36284918 阅读:52 留言:0更新日期:2023-01-13 09:55
本发明专利技术公开了一种面向移动终端与服务器数据交互方式的方法,既解决了服务器和不同终端交互时数据一致性和连续性问题,又能保持服务器端和终端的松耦合性。其技术方案为:第一终端将数据封装成JSON格式的字节流字符串;第一终端将封装成的字节流字符串作为JSON格式的一个属性提交至服务器;服务器端从接收到的字节流字符串中解析JSON格式的数据,并单独存储字节流,将解析出的业务数据与单独存储的字节流建立索引关系;服务器接收到第二终端发出的获取JSON格式数据的请求时,返回对应的JSON格式的字节流字符串;第二终端在接收到JSON格式的字节流字符串后解析恢复成本地数据。式的字节流字符串后解析恢复成本地数据。式的字节流字符串后解析恢复成本地数据。

【技术实现步骤摘要】
一种面向移动终端与服务器数据交互方式的方法


[0001]本专利技术涉及一种数据交互技术,具体涉及一种面向移动终端与服务器数据交互方式的方法。

技术介绍

[0002]目前市场上主流的一种移动端与服务器端数据交互的方式为通过JSON格式的数据进行交互。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
[0003]移动端将需要请求的数据封装成JSON串,在请求的header中指定contentType为application/json,而服务器通过@RequestBody将JSON格式的字符串转为JAVA对象作为输入,经过业务处理后又将需要返回给移动端的JAVA对象转化成JSON格式的字符串,移动端最终对JSON字符串进行解析,形成需要展示的页面。
[0004]该方式存在的主要缺陷是:面对复杂数据结构时,第一终端提交的数据在第二终端获取时的数据失真问题。详细而言,由于移动终端和服务器端两者侧重的业务价值点不同,造成了两者数据结构上的差异,比如如图1所示,在第一终端提交JSON数据属性包含(a,b,c,d,e)到服务器端时,由于服务器端认为d和e没有实际业务价值而不进行持久化保存,最终只保存(a,b,c),那么在第二终端请求服务器端相同的业务数据时获得的JSON数据(a,b,c)往往已经和第一终端提交的JSON数据(a,b,c,d,e)大相径庭,但是对于第二终端来说,d和e可能也是具备临时业务价值的数据。
[0005]为了解决以上问题,最容易想到的方案是将服务器的数据结构和终端保持一致,但是该方案会造成服务器端存在大量无实际业务价值的表结构和数据,而且造成终端和服务器端的紧耦合,非常不利于后期维护。

技术实现思路

[0006]以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
[0007]本专利技术的目的在于解决上述问题,提供了一种面向移动终端与服务器数据交互方式的方法,既解决了服务器和不同终端交互时数据一致性和连续性问题,又能保持服务器端和终端的松耦合性。
[0008]本专利技术的技术方案为:本专利技术揭示了一种面向移动终端与服务器数据交互方式的方法,方法包括:
[0009]步骤1:第一终端将数据封装成JSON格式的字节流字符串;
[0010]步骤2:第一终端将封装成的字节流字符串作为JSON格式的一个属性提交至服务器;
[0011]步骤3:服务器端从接收到的字节流字符串中解析JSON格式的数据,并单独存储字节流,将解析出的业务数据与单独存储的字节流建立索引关系;
[0012]步骤4:服务器接收到第二终端发出的获取JSON格式数据的请求时,返回对应的JSON格式的字节流字符串;
[0013]步骤5:第二终端在接收到JSON格式的字节流字符串后解析恢复成本地数据。
[0014]根据本专利技术的面向移动终端与服务器数据交互方式的方法的一实施例,在步骤1中,在第一终端提交数据至服务器之前,根据不同终端之间的数据一致性和连续性需求,选择性地将需要提交到服务器端的数据封装成JSON格式,并转化为字节流字符串。
[0015]根据本专利技术的面向移动终端与服务器数据交互方式的方法的一实施例,在步骤2中,服务器端的接口API额外提供jsonStream和jsonStreamVer属性,分别用来存储该字节流字符串及其版本,其中第一终端在提交JSON格式的业务数据的同时,将步骤1中封装的字节流字符串作为jsonStream属性,其中首次新增时jsonStreamVer为空,jsonStreamVer属性用于控制不同终端之间的数据同步及版本冲突问题。
[0016]根据本专利技术的面向移动终端与服务器数据交互方式的方法的一实施例,在步骤3中,服务器端接收到第一终端提交的数据后,解析步骤2所提交的JSON数据,首先根据业务数据的ID和jsonStreamVer属性的值来判断终端数据是否为首次接收该数据,如果是首次接收,则将业务数据对应的属性按照业务规则处理后存入相应业务数据表,随后将jsonStream字节流字符串与该业务数据ID值进行绑定后持久化存储到jsonStream表,并将该jsonStream字节流字符串的版本设置为1。
[0017]根据本专利技术的面向移动终端与服务器数据交互方式的方法的一实施例,在步骤4中,当第二终端请求服务器获取该业务数据时,服务器返回的JSON格式的数据包含该业务数据ID对应的jsonStream字节流字符串及其版本,其中JSON格式的返回参数只包含业务数据ID、jsonStream属性及版本属性,其他按业务需要额外返回。
[0018]根据本专利技术的面向移动终端与服务器数据交互方式的方法的一实施例,在步骤5中,当第二终端接收到服务器返回的数据后,首先与本地的业务数据ID对应的版本属性比对,如果本地不存在或者版本低于服务器版本,则需要将jsonStream逆向解析成JSON格式数据,再还原成第一终端的本地数据结构;如果本地版本不低于服务器版本,则说明第二终端的数据版本高于服务器版本,拒绝更新本次同步到的数据,以实现不同终端之间协同处理同一份数据,通过版本控制后不会产生数据不一致及版本冲突问题。
[0019]本专利技术还揭示了一种面向移动终端与服务器数据交互方式的方法,方法包括:
[0020]步骤一:第一终端将主从表数据封装成JSON格式的字节流字符串;
[0021]步骤二:第一终端将封装成字节流字符串的主从表属性分别作为JSON格式的两个属性提交至服务器;
[0022]步骤三:服务器端从接收到的字节流字符串中解析JSON格式的数据,并分别单独存储主从表的字节流,将解析出的主从表业务数据与单独存储的主从表字节流建立索引关系;
[0023]步骤四:服务器接收到第二终端发出的获取JSON格式数据的请求时,返回对应的
JSON格式的字节流字符串;
[0024]步骤五:第二终端接收到JSON格式的字节流字符串后解析恢复成本地数据。
[0025]根据本专利技术的面向移动终端与服务器数据交互方式的方法的一实施例,在步骤一中,在第一终端提交数据至服务器之前,根据不同终端之间的数据一致性和连续性需求,选择性地将需要提交到服务器端的主从表数据封装成JSON格式,并转化为字节流字符串。
[0026]根据本专利技术的面向移动终端与服务器数据交互方式的方法的一实施例,在步骤二中,服务器端的接口API额外提供主从表的js本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向移动终端与服务器数据交互方式的方法,其特征在于,方法包括:步骤1:第一终端将数据封装成JSON格式的字节流字符串;步骤2:第一终端将封装成的字节流字符串作为JSON格式的一个属性提交至服务器;步骤3:服务器端从接收到的字节流字符串中解析JSON格式的数据,并单独存储字节流,将解析出的业务数据与单独存储的字节流建立索引关系;步骤4:服务器接收到第二终端发出的获取JSON格式数据的请求时,返回对应的JSON格式的字节流字符串;步骤5:第二终端在接收到JSON格式的字节流字符串后解析恢复成本地数据。2.根据权利要求1所述的面向移动终端与服务器数据交互方式的方法,其特征在于,在步骤1中,在第一终端提交数据至服务器之前,根据不同终端之间的数据一致性和连续性需求,选择性地将需要提交到服务器端的数据封装成JSON格式,并转化为字节流字符串。3.根据权利要求1所述的面向移动终端与服务器数据交互方式的方法,其特征在于,在步骤2中,服务器端的接口API额外提供jsonStream和jsonStreamVer属性,分别用来存储该字节流字符串及其版本,其中第一终端在提交JSON格式的业务数据的同时,将步骤1中封装的字节流字符串作为jsonStream属性,其中首次新增时jsonStreamVer为空,jsonStreamVer属性用于控制不同终端之间的数据同步及版本冲突问题。4.根据权利要求1所述的面向移动终端与服务器数据交互方式的方法,其特征在于,在步骤3中,服务器端接收到第一终端提交的数据后,解析步骤2所提交的JSON数据,首先根据业务数据的ID和jsonStreamVer属性的值来判断终端数据是否为首次接收该数据,如果是首次接收,则将业务数据对应的属性按照业务规则处理后存入相应业务数据表,随后将jsonStream字节流字符串与该业务数据ID值进行绑定后持久化存储到jsonStream表,并将该jsonStream字节流字符串的版本设置为1。5.根据权利要求1所述的面向移动终端与服务器数据交互方式的方法,其特征在于,在步骤4中,当第二终端请求服务器获取该业务数据时,服务器返回的JSON格式的数据包含该业务数据ID对应的jsonStream字节流字符串及其版本,其中JSON格式的返回参数只包含业务数据ID、jsonStream属性及版本属性,其他按业务需要额外返回。6.根据权利要求1所述的面向移动终端与服务器数据交互方式的方法,其特征在于,在步骤5中,当第二终端接收到服务器返回的数据后,首先与本地的业务数据ID对应的版本属性比对,如果本地不存在或者版本低于服务器版本,则需要将jsonStream逆向解析成JSON格式数据,再还原成第一终端的本地数据结构;如果本地版本不低于服务器版本,则说明第二终端的数据版本高于服务器版本,拒绝更新本次同步到的数据,以实现不同终端之间协同处理同一份数据,通过版本控制后不会产生数据不一致及版本冲突问题。7.一种面向移动终端与服务器数据...

【专利技术属性】
技术研发人员:黄黎卿张恩辉施华刚曲伟成陈冠南李福娟宋健敏将本朋张力赵书星杨建勇陈艺丹俞琪孙程
申请(专利权)人:中国东方航空股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1