一种基于Web的数据交互方法

文档序号:10698568阅读:322来源:国知局
一种基于Web的数据交互方法
【专利摘要】本发明提供一种基于Web的数据交互方法,在web的基础上使用元数据把客户端创建路网时产生的数据管理起来,再通过websocket把经过标准化的数据传输到服务端,最后对标准化后的数据进行解析并存入数据库,对从ArcSDE管理的SQL数据库获取到的数据重复上述的步骤,再在客户端显示出来,这就实现了HTML5客户端与ArcSDE数据库之间的互操作。
【专利说明】
一种基于Web的数据交互方法
技术领域
[0001] 本发明涉及数据通信领域,更具体地,涉及一种基于Web的数据交互方法。
【背景技术】
[0002] 传统的不同数据格式的数据的交互方法主要有:数据格式转换和直接访问。若数 据格式转换是不同系统之间数据格式的直接转换,这个方法不但会损坏数据信息,而且还 需要详细掌握对方的数据结构;若数据格式转换是不同的系统之间采用一定数据交换格式 标准作为中介来实现数据转换,但是这些数据标准很复杂,需要投入很大的资金和精力进 行维护。基于直接访问的互操作指的是一个系统可以直接访问另外一个系统的数据,并把 数据读入内存,它不需要中介格式也不需要拥有该数据格式的宿主,不足之处是需要充分 了解要访问数据的格式,且只对某一特定的数据格式访问服务,实用性不强。

【发明内容】

[0003] 本发明提供一种基于Web的数据交互方法,来实现不同存储格式的数据之间的交 互。
[0004] 为解决上述技术问题,本发明的技术方案如下:
[0005] -种基于Web的数据交互方法,包括客户端向服务器传输数据的过程和服务器向 客户端传输数据的过程;
[0006] 客户端向服务器传输数据的过程如下:
[0007] Sl:客户端将需传输至服务器的数据进行标准化;
[0008] S2:客户端利用传输协议把标准化后的数据传输到服务器,该服务器保存数据的 格式不同于客户端创建路网时产生的数据的格式;
[0009] S3:服务器根据标准化数据的标准以及传输协议标准对客户端传过来的数据进行 解析把数据反序列化之后保存到服务器的数据库中;
[0010]服务器向客户端传输数据的过程如下:
[0011] S4:服务器将其数据库中的数据进行与Si中相同的标准化后利用传输协议把标准 化后的数据传输到客户端,客户端中保存数据的格式与服务器数据库中数据的格式不同;
[0012] S5:客户端根据标准化数据的标准以及传输协议标准对客户端传过来的数据进行 解析把数据反序列化后在客户端上显示出来。
[0013] 步骤Sl中对获取到的数据进行标准化的过程如下:
[0014] 对获取到的数据进行格式转换,利用元数据对格式转换后的数据进行组织后再进 行数据封包。
[0015] 进一步地,所述元数据包括用户名UserID、登陆密码Password、顶级路网 NetworkID、操作编号OperationID;客户端/服务器利用该元数据把在服务器与客户端之间 交互的数据组织起来以便管理和储存。
[0016] 进一步地,进行数据封包的过程如下:
[0017] 定制数据的消息格式,格式包括:开始符、数据长度、功能关键字、数据内容和结尾 符;
[0018] 定制制定协议字符和功能关键字。
[0019] 进一步地,步骤S3或S5中数据解析的过程如下:
[0020] 循环接收数据,把数据存入服务器或客户端其的队列,定时从队列里面取数据,根 据数据的长度判断数据是否已经接收完整,当接收到的数据未完整,继续接收数据直到数 据直到数据包接收完整,当接收到的数据包已经完整,从队列出列存入服务器数据库或在 客户端上显示。
[0021 ]优选地,所述步骤S2或S4中采用的传输协议是websocket协议。
[0022]与现有技术相比,本发明技术方案的有益效果是:
[0023]在web的基础上使用元数据把客户端创建路网时产生的数据管理起来,再通过 websocket把经过标准化的数据传输到服务端,最后对标准化后的数据进行解析并存入数 据库,对从ArcSDE管理的SQL数据库获取到的数据重复上述的步骤,再在客户端显示出来, 这就实现了HTML5客户端与ArcSDE数据库之间的互操作。
【附图说明】
[0024]图1为本发明方法的流程图;
[0025]图2为本发明XML文件坐标对象转换成JSON格式坐标流程图;
[0026]图3、4为用JSON格式以及元数据对数据进行组织时的数据总体组织树状图;
[0027] 图5为本发明中数据解析流程图; 图6为本发明中数据长度的获取流程图。
【具体实施方式】
[0028] 附图仅用于示例性说明,不能理解为对本专利的限制;
[0029] 为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品 的尺寸;
[0030] 对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解 的。
[0031] 下面结合附图和实施例对本发明的技术方案做进一步的说明。
[0032] 实施例1
[0033] 一种基于Web的数据交互方法,包括客户端向服务器传输数据的过程和服务器向 客户端传输数据的过程;
[0034] 客户端向服务器传输数据的过程如下:
[0035] Sl:客户端将需传输至服务器的数据进行标准化;
[0036] S2:客户端利用传输协议把标准化后的数据传输到服务器,该服务器保存数据的 格式不同于客户端创建路网时产生的数据的格式;
[0037] S3:服务器根据标准化数据的标准以及传输协议标准对客户端传过来的数据进行 解析把数据反序列化之后保存到服务器的数据库中;
[0038] 服务器向客户端传输数据的过程如下:
[0039] S4:服务器将其数据库中的数据进行与SI中相同的标准化后利用传输协议把标准 化后的数据传输到客户端,客户端中保存数据的格式与服务器数据库中数据的格式不同;
[0040] S5:客户端根据标准化数据的标准以及传输协议标准对客户端传过来的数据进行 解析把数据反序列化后在客户端上显示出来。
[0041 ] 本实施例中,如图1所示,以从HTML5客户端创建路网存储到ArcSDE管理的SQL数据 库为例,获取HTML5客户端创建路网时产生的数据,对获取到的数据进行标准化,其中标准 化的子流程有:首先,对数据进行格式转换;其次,对获取到的数据坐标进行转换;再次,利 用元数据对数据进行组织;最后,进行数据封包。数据标准化后,利用Websocket协议把标准 化的数据传输到服务端,然后服务端根据制定的数据标准以及Websocket协议标准对客户 端传过来的数据进行解析,把数据反序列化之后进行数据的入库;对从ArcSDE管理的SQL数 据库获取到的数据重复上述的步骤,再在客户端显示出来,这就实现了 HTML5客户端与 ArcSDE数据库之间的互操作。
[0042]本实施例中,如图2所示,以GIS地理信息数据在不同的系统或客户端之间的交互 为例,将交互的数据都转换成JSON格式,HTML5客户保存的数据的格式是XML,如:
[0043] <!DOCTYPE html>
[0044] 〈head〉
[0045] <title>Mrbool.com-HTML5Tutorials</title>
[0046] 〈meta charset = "utf_8"/>
[0047] 〈/head〉
[0048] 〈body〉
[0049] <h2>HTML5SVG Polygon Example</h2>
[0050] <svg id = 〃svgPolygonTutorial〃height = 〃200〃xmlns = 〃http: //www.w3 · org/ 2000/svg">
[0051] 〈polygon id = "myPolygon"points = "10,10 75,150 150,60"
[0052] style = "fill:#63BCF7;stroke:black;stroke-width:3"/>
[0053] </svg>
[0054] 〈/body〉
[0055] </html>
[0056] 它记录了要素的一些几何属性,由于HTML5客户端支持JSON数据格式,以JSON格式 存储了拓扑以及属性之类的信息,这里要处理的是把坐标对象转换成JSON格式,它需要从 XML文件中提取出来并进行转换JSON格式为:{Geometry: [{ "X" : 10,"Y" : 10},{ "X" :75,"Y" : 150} { "X" : 150,"Y" :60} ]}。由于HTML5客户端传输的GIS数据包括屏幕坐标,而在GIS使用的 是地理坐标,所以这里有必要对坐标进行转换,地理坐标定义规则:X轴向右递增,Y轴向上 递增;屏幕坐标定义规则:x轴向右递增,Y轴向下递增。他们的不同:地理坐标和屏幕坐标的 区别仅仅只是在于Y轴递增方向是相反的,更具下式能将XML格式转换成JSON格式:
[0057]将屏幕坐标转换为地理坐标的公式如下:
[0058] ptGeo .X = geo_center_.X+(ptWnd.X-see_center_.X)*resolution
[0059] ptGeo · Y = geo_center_. Y_(ptWnd · Y_see_center_. Y)*resolution
[0060] 将地理坐标转换为窗口坐标的公式如下:
[0061 ] ptffnd.X = see_center_.X+( long) ((ptGeo .X-geo_center_.X)/resolution+0.5)
[0062] ptffnd.Y = see_center_.Y-(long)((ptGeo.Y-geo_center_.Y)/resolution+0.5)
[0063] 其中ptWnd表示窗口坐标,ptGeo代表地理坐标,see_center是屏幕坐标的窗口中 心、geo_center是地理坐标的视野中心,而resolutionjfjt是当前的比例尺。
[0064] 本实施例中,利用元数据对数据进行组织,元数据主要包括用户名(UserID),登陆 密码(Password),顶级路网(NetworkID),操作编号(OperationID)等,这些数据用树的形式 把操作数据组织起来,既方便了数据的管理,也方便了数据的存储。对于数据的组织采取 JSON格式,数据的组织结构用树的形式来表示,操作数据的组织形式如附图3、4(其中,图3、 4是路网对象的组织形式,并不是逻辑过程,它代表的是路网的树状结构)。
[0065]对数据进行封包,其流程如下:
[0066]封包步骤一:制定消息格式,其消息格式如表A. 1 [0067] 表A.1消息格式
[0069] 其中数据长度是数据的总字节数,用8个字节表示,考虑客户端传输过程中 websocket协议添加的数据头文件字节数,在服务端接收到的数据包长度应等于数据包长 度,协议制定的包头包尾长度以及websocket协议添加的数据头文件字节数之和,不足8个, 在前面补0;功能关键字用分类标识+2字节序号表示,不足3个,在前面补0.开始符合结尾符 分别用1个字节表示。对于数据长度的获取流程如附图6
[0070] 封包步骤二:制定协议字符
[0071] 开始符:"*";
[0072] 结束符:"#";
[0073]封包步骤三:制定功能关键字
[0074]功能关键字采用分类标识+2字节序号,如UOl,分类标识见表A. 2。
[0075]表A.2功能关键字分类定义
[0077] 不例:*00000096L01 {"userobject": {"UserName": "ming","Password": "123"," Createiime : , UserKesume : I\#
[0078] 如图5所示,数据解析过程如下:循环接收数据,把数据存入服务器或客户端其的 队列,定时从队列里面取数据,根据数据的长度判断数据是否已经接收完整,当接收到的数 据未完整,继续接收数据直到数据包接收完整,当接收到的数据包已经完整,从队列出列存 入服务器数据库或在客户端上显示。
[0079] 相同或相似的标号对应相同或相似的部件;
[0080] 附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;
[0081] 显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对 本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可 以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本 发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求 的保护范围之内。
【主权项】
1. 一种基于Web的数据交互方法,其特征在于,包括客户端向服务器传输数据的过程和 服务器向客户端传输数据的过程; 客户端向服务器传输数据的过程如下: S1:客户端将需传输至服务器的数据进行标准化; S2:客户端利用传输协议把标准化后的数据传输到服务器,该服务器保存数据的格式 不同于客户端创建路网时产生的数据的格式; S3:服务器根据标准化数据的标准以及传输协议标准对客户端传过来的数据进行解析 把数据反序列化之后保存到服务器的数据库中; 服务器向客户端传输数据的过程如下: S4:服务器将其数据库中的数据进行与S1中相同的标准化后利用传输协议把标准化后 的数据传输到客户端,客户端中保存数据的格式与服务器数据库中数据的格式不同; S5:客户端根据标准化数据的标准以及传输协议标准对客户端传过来的数据进行解析 把数据反序列化后在客户端上显示出来。2. 根据权利要求1所述的基于Web的数据交互方法,其特征在于,所述步骤S1中对获取 到的数据进行标准化的过程如下: 对获取到的数据进行格式转换,利用元数据对格式转换后的数据进行组织后再进行数 据封包。3. 根据权利要求2所述的基于Web的数据交互方法,其特征在于,所述元数据包括用户 名11861'10、登陆密码?38 8¥(^(1、顶级路网如七¥〇410、操作编号(^6瓜1:;[〇1110;客户端/服务器 利用该元数据把在服务器与客户端之间交互的数据组织起来以便管理和储存。4. 根据权利要求2所述的基于Web的数据交互方法,其特征在于,进行数据封包的过程 如下: 定制数据的消息格式,格式包括:开始符、数据长度、功能关键字、数据内容和结尾符; 定制制定协议字符和功能关键字。5. 根据权利要求2所述的基于Web的数据交互方法,其特征在于,步骤S3或S5中数据解 析的过程如下: 循环接收数据,把数据存入服务器或客户端其的队列,定时从队列里面取数据,根据数 据的长度判断数据是否已经接收完整,当接收到的数据未完整,继续接收数据直到数据包 接收完整,当接收到的数据包已经完整,从队列出列存入服务器数据库或在客户端上显示。6. 根据权利要求1所述的基于Web的数据交互方法,其特征在于,所述步骤S2或S4中采 用的传输协议是websocket协议。
【文档编号】H04L29/08GK106067893SQ201610253497
【公开日】2016年11月2日
【申请日】2016年9月14日 公开号201610253497.7, CN 106067893 A, CN 106067893A, CN 201610253497, CN-A-106067893, CN106067893 A, CN106067893A, CN201610253497, CN201610253497.7
【发明人】何兆成, 陈展球
【申请人】中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1