数据交互装置和方法

文档序号:7817792阅读:262来源:国知局
数据交互装置和方法
【专利摘要】本发明提供了一种数据交互装置,包括:数据格式定义单元,用于预先定义统一的数据格式,该数据格式具体为带自描述信息的字符格式;服务接口定义单元,用于预先定义统一的数据接口;数据传输单元,用于基于预先定义的数据格式和预先定义的数据接口,按预设的通讯协议,进行数据传输。本发明还提供了一种数据交互方法。通过本发明的技术方案,可以在现有的数据交互方式基础上,充分利用单对象类型完成多对象类型的数据交互,建立多对象类型元数据参与的数据交互的通用、统一交互思路。
【专利说明】数据交互装置和方法

【技术领域】
[0001] 本发明涉及计算机【技术领域】,具体地,涉及一种数据交互装置和一种数据交互方 法。
[0002]

【背景技术】
[0003] 服务端向客户端提供服务,主要的协议和规范有远程过程调用协议(Rem〇te_ procedure_call,简称 RPC)、简单对象访问协议(SimpleObjectAccessProtocol,简称 SOAP)、表述性状态转移(RepresentationalStateTransfer,简称 REST)等。
[0004] REST在Web领域已经得到了广泛的接受。接口设计方面这一转变的关键证据是主 流Web2. 0服务提供者(包括Yahoo、Google和Facebook)对REST的采用,这些提供者弃用 或放弃了基于SOAP和WSDL的接口,而采用了更易于使用、面向资源的模型来公开其服务。 事实上,REST对Web的影响非常大,由于其使用相当方便,已经普遍地取代了基于SOAP和 WSDL的接口设计。REST主要有以下特点: ⑴显式地使用HTTP方法;⑵无状态;⑶公开目录结构式的URI;⑷传输XML、轻量级的 数据交换格式(JavaScriptObjectNotation,简称JS0N),或同时传输这两者。
[0005] 作为一般设计原则,通过在URI中使用名词而不是动词,对于遵循有关显式使用 HTTP方法的REST指导原则是有帮助的。在基于REST的Web服务中,协议已经对动词 (P0ST、GET、PUT和DELETE)进行了定义。REST要求开发人员显式地使用HTTP方法,并且使 用方式与协议定义一致。这个基本REST设计原则建立了创建、读取、更新和删除(create, read,update,anddelete;简称CRUD)操作与HTTP方法之间的一对一映射。
[0006] 在实际应用中,尤其是某些特定应用场景中,这些技术仍存在一些不足: (1)P0ST、GET、PUT和DELETE更容易处理创建、读取、更新和删除(create,read,update, and delete ;简称CRUD),但对于ERP来操作更为复杂,常用有审核、确认、付款等,虽然可以 把审核作为服务POST作为动作,但很别扭。
[0007] ⑵JS0N数据转换,n需要的数据格式和UAP提供的格式不一致,需要作格式转换。
[0008] ⑶错误机制,单纯了 http错误代码提示不详细。
[0009] 可见,Rest只是协议层作了规范,但对数据格式和服务没有详细描述,需要进一步 规范。
[0010] 因此,需要一种新的数据交互技术,可以在现有的数据交互方式基础上,充分利用 单对象类型完成多对象类型的数据交互,建立多对象类型元数据参与的数据交互的通用、 统一交互思路。
[0011]


【发明内容】

[0012] 本发明正是基于上述问题,提出了一种新的数据交互技术,可以在现有的数据交 互方式基础上,充分利用单对象类型完成多对象类型的数据交互,建立多对象类型元数据 参与的数据交互的通用、统一交互思路。
[0013] 有鉴于此,本发明提出了一种数据交互装置,包括:数据格式定义单元,用于预先 定义统一的数据格式,该数据格式具体为带自描述信息的字符格式;服务接口定义单元,用 于预先定义统一的数据接口;数据传输单元,用于基于预先定义的数据格式和预先定义的 数据接口,按预设的通讯协议,进行数据传输。在该技术方案中,由于预先定义统一的数据 格式和数据接口,可以通过定义统一的服务接口、数据格式、元数据、自定义JS0N格式等机 制,结合现有的Rest规范、JS0N规范,可以实现统一、高适配的数据交互技术。
[0014] 在上述技术方案中,优选地,所述数据格式定义单元预先定义的字符格式,包括版 本信息和分类信息;所述分类信息进一步包括业务对象、用户身份、流媒体、推式通知和批 量操作。
[0015] 在上述技术方案中,优选地,所述服务接口定义单元预先定义的数据接口,至少用 于执行的操作包括:数据解析的操作,服务标识查找的操作,JS0N序列化和数据转换的操 作,以及服务分发的操作。
[0016] 在上述技术方案中,优选地,所述数据传输单元进行数据传输的操作,具体包括: 解析数据的操作;解析服务的操作。
[0017] 在上述技术方案中,优选地,所述解析数据的操作,具体包括:基于待传输数据,构 建符合预先定义的数据格式的上下文信息;基于构建所得上下文信息,通过预先定义的数 据接口,依次进行数据解析处理和JS0N反序列化处理;和/或,所述解析服务的操作,具体 包括:基于数据解析结果,通过预先定义的数据接口,进行服务元数据的解析处理;基于服 务元数据的解析处理结果,通过预先定义的数据接口,进行相应服务的调用和分发处理。在 该技术方案中,可以通过服务端的统一服务入口、服务端无状态、服务端统一分发机制,很 容易实现集群、灾备的数据交互。
[0018] 根据本发明的又一个方面,还提出了一种数据交互方法,包括:步骤202:预先定 义统一的数据格式,该数据格式具体为带自描述信息的字符格式;步骤204:预先定义统一 的数据接口;步骤206:基于预先定义的数据格式和预先定义的数据接口,按预设的通讯协 议,进行数据传输。在该技术方案中,由于预先定义统一的数据格式和数据接口,可以通过 定义统一的服务接口、数据格式、元数据、自定义JS0N格式等机制,结合现有的Rest规范、 JS0N规范,可以实现统一、高适配的数据交互技术。
[0019] 在上述技术方案中,优选地,所步骤202预先定义的字符格式,包括版本信息和分 类信息;所述分类信息进一步包括业务对象、用户身份、流媒体、推式通知和批量操作。
[0020] 在上述技术方案中,优选地,所述步骤204预先定义的数据接口,至少用于执行的 操作包括:数据解析的操作,服务标识查找的操作,JS0N序列化和数据转换的操作,以及服 务分发的操作。
[0021] 在上述技术方案中,优选地,所述步骤206进行数据传输的操作,具体包括:解析 数据的操作;解析服务的操作。
[0022] 在上述技术方案中,优选地,所述解析数据的操作,具体包括:步骤302:基于待传 输数据,构建符合预先定义的数据格式的上下文信息;步骤304:基于构建所得上下文信 息,通过预先定义的数据接口,依次进行数据解析处理和JS0N反序列化处理;和/或,如图 4所示,所述解析服务的操作,具体包括:步骤402 :基于数据解析结果,通过预先定义的数 据接口,进行服务元数据的解析处理;步骤404 :基于服务元数据的解析处理结果,通过预 先定义的数据接口,进行相应服务的调用和分发处理。在该技术方案中,可以通过服务端的 统一服务入口、服务端无状态、服务端统一分发机制,很容易实现集群、灾备的数据交互。
[0023] 通过以上技术方案,可以在现有的数据交互方式基础上,充分利用单对象类型完 成多对象类型的数据交互,建立多对象类型元数据参与的数据交互的通用、统一交互思路。
[0024]

【专利附图】

【附图说明】
[0025] 图1示出了根据本发明的实施例的数据交互装置的框图; 图2示出了根据本发明的实施例的数据交互方法的流程图; 图3示出了根据本发明的实施例的解析数据的流程图; 图4示出了根据本发明的实施例的解析服务的流程图; 图5示出了现在的模式图; 图6示出了根据本发明的实施例的对服务端通讯的流程图; 图7示出了根据本发明的实施例的U8restContext负责上下文的解析和包装、以及 U8ActionInfo负责服务元数据的解析的程序截图; 图8示出了根据本发明的实施例的根据数据中的服务标识查找具体实现服务的程序 截图; 图9示出了根据本发明的实施例的数据交互方法的详细流程图。
[0026]

【具体实施方式】
[0027] 为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实 施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施 例及实施例中的特征可以相互组合。
[0028] 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可 以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开 的具体实施例的限制。
[0029] 图1示出了根据本发明的实施例的数据交互装置的框图。
[0030] 如图1所示,根据本发明的实施例的数据交互装置100,包括:数据格式定义 单:1〇2,用于预先定义统一的数据格式,该数据格式具体为带自描述信息的字符格式;月艮 务接口定义单元104,用于预先定义统一的数据接口;数据传输单元106,用于基于预先定 义的数据格式和预先定义的数据接口,按预设的通讯协议,进行数据传输。在该技术方案 中,由于预先定义统一的数据格式和数据接口,可以通过定义统一的服务接口、数据格式、 元数据、自定义JS0N格式等机制,结合现有的Rest规范、JS0N规范,可以实现统一、高适配 的数据交互技术。
[0031] 在上述技术方案中,优选地,数据格式定义单元102预先定义的字符格式,包括版 本信息和分类信息;分类信息进一步包括业务对象、用户身份、流媒体、推式通知和批量操 作。
[0032] 在上述技术方案中,优选地,服务接口定义单元104预先定义的数据接口,至少用 于执行的操作包括:数据解析的操作,服务标识查找的操作,JS0N序列化和数据转换的操 作,以及服务分发的操作。
[0033] 在上述技术方案中,优选地,数据传输单元106进行数据传输的操作,具体包括: 解析数据的操作;解析服务的操作。
[0034]在上述技术方案中,优选地,解析数据的操作,具体包括:基于待传输数据,构建符 合预先定义的数据格式的上下文信息;基于构建所得上下文信息,通过预先定义的数据接 口,依次进行数据解析处理和JS0N反序列化处理;和/或,解析服务的操作,具体包括:基 于数据解析结果,通过预先定义的数据接口,进行服务元数据的解析处理;基于服务元数据 的解析处理结果,通过预先定义的数据接口,进行相应服务的调用和分发处理。在该技术方 案中,可以通过服务端的统一服务入口、服务端无状态、服务端统一分发机制,很容易实现 集群、灾备的数据交互。
[0035] 图2示出了根据本发明的实施例的数据交互方法的流程图。
[0036] 如图2所示,根据本发明的实施例的数据交互方法,包括:步骤202:预先定义统一 的数据格式,该数据格式具体为带自描述信息的字符格式;步骤204 :预先定义统一的数据 接口;步骤206 :基于预先定义的数据格式和预先定义的数据接口,按预设的通讯协议,进 行数据传输。在该技术方案中,由于预先定义统一的数据格式和数据接口,可以通过定义统 一的服务接口、数据格式、元数据、自定义JS0N格式等机制,结合现有的Rest规范、JS0N规 范,可以实现统一、高适配的数据交互技术。
[0037] 在上述技术方案中,优选地,所步骤202预先定义的字符格式,包括版本信息和分 类信息;分类信息进一步包括业务对象、用户身份、流媒体、推式通知和批量操作。
[0038] 在上述技术方案中,优选地,步骤204预先定义的数据接口,至少用于执行的操作 包括:数据解析的操作,服务标识查找的操作,JS0N序列化和数据转换的操作,以及服务分 发的操作。
[0039] 在上述技术方案中,优选地,步骤206进行数据传输的操作,具体包括:解析数据 的操作;解析服务的操作。
[0040] 在上述技术方案中,优选地,如图3所示,解析数据的操作,具体包括:步骤302 :基 于待传输数据,构建符合预先定义的数据格式的上下文信息;步骤304 :基于构建所得上下 文信息,通过预先定义的数据接口,依次进行数据解析处理和JS0N反序列化处理;和/或, 如图4所示,解析服务的操作,具体包括:步骤402 :基于数据解析结果,通过预先定义的数 据接口,进行服务元数据的解析处理;步骤404 :基于服务元数据的解析处理结果,通过预 先定义的数据接口,进行相应服务的调用和分发处理。在该技术方案中,可以通过服务端的 统一服务入口、服务端无状态、服务端统一分发机制,很容易实现集群、灾备的数据交互。
[0041] 本发明的技术方案,基于现有技术及其不足,描述一种远程通讯的数据传输格式、 协议、JS0N序列化、服务分发,可用于客户/服务端的请求和响应,用于服务端和多种客户 端的统一接口。本发明的技术方案,涉及一种高适配性的方法和装置,通过定义统一的服务 接口、数据格式、元数据、自定义JS0N格式等机制,结合现有的Rest规范、JS0N规范,实现 统一、高适配的系统,具体可以达到以下目的: ⑴实现多终端的需求,支持PC、Pad、iPhone、Android、WindowPhone等;⑵支持多服 务器,实现集群、灾备、高伸缩性等;⑶增加动作元数据。把Rest中只有的四种动作改进成 成Actionlnfo,便于ERP中作复杂动作;⑷规范传输数据;(5)定义服务格式;(6)能实现客户 \服务端的数据转换。在JS0N序列化和反序列化时,在数据转换模块。
[0042] 在目前的三层或多层的分布式架构下,客户端和服务端的交互和通讯是必不可少 的重要环节,一般通过Web SerViCe、WCF等机制通讯。在服务端实现相应的服务,约定服务 名称、格式等。在客户端通过代理调用,代理包括服务代理的服务名称、方法、参数、返回值 等。现在的模式大概如图5。
[0043] 但由于服务端服务实现的功能不同,服务的名称,尤其是传输的数据和服务端接 收的参数差异非常大。这样导致在客户的生成的代理数量很多,后期的维护量大、适配性 差。
[0044] 为实现更高的适配性、统一性、低耦合,对服务端通讯作如图6设计: (-)定义统一、规范的数据格式 目前现在的交互方式中对传输的数据描述较少,本发明技术方方案中数据格式是带自 描述的字符格式。
[0045] http (s) ://host:port/{version}/{0bjectClass}/{flag} {version}:版本信息。如1。
[0046] { ObjectClass }:分类信息。包括业务对象、用户身份、流媒体、推式通知、批量操 作等,每一类信息固定不同的谓词。
[0047]

【权利要求】
1. 一种数据交互装置,其特征在于,包括: 数据格式定义单元,用于预先定义统一的数据格式,该数据格式具体为带自描述信息 的字符格式; 服务接口定义单元,用于预先定义统一的数据接口; 数据传输单元,用于基于预先定义的数据格式和预先定义的数据接口,按预设的通讯 协议,进行数据传输。
2. 根据权利要求1所述的数据交互装置,其特征在于,所述数据格式定义单元预先定 义的字符格式,包括版本信息和分类信息;所述分类信息进一步包括业务对象、用户身份、 流媒体、推式通知和批量操作。
3. 根据权利要求1所述的数据交互装置,其特征在于,所述服务接口定义单元预先定 义的数据接口,至少用于执行的操作包括: 数据解析的操作,服务标识查找的操作,JSON序列化和数据转换的操作,以及服务分发 的操作。
4. 根据权利要求1-3中任一项所述的数据交互装置,其特征在于,所述数据传输单元 进行数据传输的操作,具体包括: 解析数据的操作; 解析服务的操作。
5. 根据权利要求4所述的数据交互装置,其特征在于,所述解析数据的操作,具体包 括: 基于待传输数据,构建符合预先定义的数据格式的上下文信息; 基于构建所得上下文信息,通过预先定义的数据接口,依次进行数据解析处理和JSON 反序列化处理; 和/或, 所述解析服务的操作,具体包括: 基于数据解析结果,通过预先定义的数据接口,进行服务元数据的解析处理; 基于服务元数据的解析处理结果,通过预先定义的数据接口,进行相应服务的调用和 分发处理。
6. -种数据交互方法,其特征在于,包括: 步骤202 :预先定义统一的数据格式,该数据格式具体为带自描述信息的字符格式; 步骤204 :预先定义统一的数据接口; 步骤206 :基于预先定义的数据格式和预先定义的数据接口,按预设的通讯协议,进行 数据传输。
7. 根据权利要求6所述的数据交互方法,其特征在于,所步骤202预先定义的字符格 式,包括版本信息和分类信息;所述分类信息进一步包括业务对象、用户身份、流媒体、推式 通知和批量操作。
8. 根据权利要求6所述的数据交互方法,其特征在于,所述步骤204预先定义的数据接 口,至少用于执行的操作包括: 数据解析的操作,服务标识查找的操作,JSON序列化和数据转换的操作,以及服务分发 的操作。
9. 根据权利要求6-8中任一项所述的数据交互方法,其特征在于,所述步骤206进行数 据传输的操作,具体包括: 解析数据的操作; 解析服务的操作。
10. 根据权利要求9所述的数据交互方法,其特征在于,所述解析数据的操作,具体包 括: 步骤302 :基于待传输数据,构建符合预先定义的数据格式的上下文信息; 步骤304 :基于构建所得上下文信息,通过预先定义的数据接口,依次进行数据解析处 理和JSON反序列化处理; 和/或, 所述解析服务的操作,具体包括: 步骤402 :基于数据解析结果,通过预先定义的数据接口,进行服务元数据的解析处 理; 步骤404 :基于服务元数据的解析处理结果,通过预先定义的数据接口,进行相应服务 的调用和分发处理。
【文档编号】H04L29/06GK104320396SQ201410583095
【公开日】2015年1月28日 申请日期:2014年10月28日 优先权日:2014年10月28日
【发明者】白洪 申请人:用友优普信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1