基于Thrift框架的数据交换方案.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Thrift框架的数据交换方案.pdf

科技 创新 2015年第13期I科技创新与应用 2.2数据交换流程 服务器端 的流程如下 : 基于Thrift技术的数据交换流程主要分三步。首先要定义交换 (1)创建模型类型(Handler);(2)基于Handler创建数据处理器 数据的格式 ;其次定义接收或者发送数据的接 口;然后,通过Thrift (Processor);(3)创建数据传输方式 (Transport);(4)创建数据传输协 代码生成引擎为各系统生成数据接 口的底层实现。最后 ,实现具体 议(Protoco1);(5)基于Processor、Transport和Protocol创建服务器模 的数据交换的业务功能。定义数据格式和数据接 口是通过 thrift文 型(Server);(6)运行 Server。 件来描述的,在该文件定义数据的各项信息以及接 口函数的原型。 其中,Trnasport定义数据传输方式 ,可以为TCP/IP传输、内存 Thrift根据该文件会生成特点版本的数据接 口实现。开发者只需关 共享或者文件共享等。如TFileTransport是文件 (日志)传输类 、 心数据交换 的业务功能。 THttpTransport采用 Hnp传输协议进行数据传输、TSocket则用TCP 2_3数据交换实现 Socket进行数据传输、TZlibTransport会压缩后对数据进行传输 ,支 本节将假设 c系统(客户端 )向s系统(服务器端)传输一个包 持二进制或者XML。Protocol定义传输的数据格式,包括使用二进制 含姓名、性别、身份证号码信息的报文来阐述实现方案。 格式的TBinaryProtocol、使用压缩格式的TcompactPmtoc01、使用 首先,为所传输的报文定义数据结构格式以及接 口调用方法, JSON格式的TJSONProtocol等。 其定义文件如表 1所示。该文件需定义结构以及服务。在表 1中, 服务器端的核心代码如表2所示。 Message结构包括 ID、sex以及nalne这三项信息,而MessageStorage 表 3Thrift客户端核心代码 服务中定义了saveMessage方法。值得指出的是,这里定义的函数方 法只需定义原型,其具体实现 由开发者根据业务功能编写。该文件 以.thrift后缀名保存 ,如 message.thrift。 表 1Thrift的定义文件 接下来需根据该文件通过Thrift代码生成引擎生成数据交换接 口代码。本例生成 Java版本。具体是运行 thrift—r—genjavamessage. thrift命令。由于message.thrift文件中有一个结构体Message和一个 服务 MessageStorage,Thrift引擎会生成两个 java文件 :Message.java 和 MessageStorage.java。 然后,根据业务功能编写代码。在项 目工程中需引入上述步骤 生成的两个 iava文件 以及相应的lib包。这里,服务器端首先要实现 Thrift定义文件中所定义的service,即MessageStorage方法。在本例 这里选择TrhreadPoolServer线程池服务模型,使用标准的阻塞 的MessageStorage方法中,先打印接收到的报文中的姓名信息,然后 式 10,预先创建一组线程处理请求。当有客户端连接过来时,从线 再持久化保存,如表 2所示。 程池里分配可用的连接处理客户端请求。常用的TServer子类还包 表 2Thrift服务器端核心代码 括 : OOverride

文档评论(0)

170****0571 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档