browser-os5711.2.总体设计-路由层详细设计_第1页
browser-os5711.2.总体设计-路由层详细设计_第2页
browser-os5711.2.总体设计-路由层详细设计_第3页
browser-os5711.2.总体设计-路由层详细设计_第4页
browser-os5711.2.总体设计-路由层详细设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Transformer 路由层详细设网络技术,)(),Transformer 路由层详细设网络技术,)(),修1如果系统已编写MRD,写明对应的MRD文档名修1如果系统已编写MRD,写明对应的MRD文档名 123背设计目 123背设计目系统环 TriggerCompute消息推订阅BCMS异步长连接管模块设4566.1.1Router主要组Channel的描 类设扩容考路由层与AuthService通UUIDService子模BCMS-Msgin异步 77891背 1背 TCPChannelTriggerPub/Subs2Transformer : 见Transformer总体设计protob

2、uf : Channel :指一个消息队列,可以有queuetopicTrigger : 见Transformer总体设计3设计目3.1 , , Schema 3.2系统的性能目标需要分解到模块,在此描述系统对该模块的性能要求。建议分条列出量化能指标,比如响应时间、超时率、资源占用、运行周期等。不能模糊、有岐义、2W4W请求处理在路由结点的延时:54系统环4.14.1.1BCMS-msgoutBCMS-Msgout支持可在一个TCP 成功的ack, confirm/ 于推送消息:(queue_id,subscriber_idRouterTCPfd4.1.2BCMS-Msgin目前只提供mcpa

3、ckidlservice,通信方式为一写一读,不提供ntapi这个异步nt需要自己实现4.1.2BCMS-Msgin目前只提供mcpackidlservice,通信方式为一写一读,不提供ntapi这个异步nt需要自己实现4.1.34.1.4 s4.2 5 设计思路及折5.1TriggerCompute 1) 一期,固定SchemaTrigger2) 有两点考虑1) Trigger 2) Trigger 5.21) :BCMSRouter;Router又如何知道把消息推给哪个sNode ? 1) cmd:BindTrigger = A2) 接入层透传cmd = B 入层, A2) 接入层透传cm

4、d = B 入层,trigger_id, 4) trigger_id, 终端5)BCMS通过连接conn_CB6) 路由结点查找转发规则,A7) A2)ACK,这个ACK这个要求sLayer:终端连接的fdRouter 之后,终端TACK, ARBCMSB:终端连接fd= 路由结点5.3BCMS 步 考虑直接 用NetReactor,同时可复用现有bcmsnt的一些代码逻辑6模块设6.16.1.1Router6.1.2.2Unregister 6.1.2.2Unregister 操作不方便 6.1.2.36.1.2.4Bind6.1.2.4Bind6.1.2.5Deliver6.1.2.5De

5、liver6.1.2.6Recover6.1.2.7Unbind6.1.2.7Unbind6.1.31. 6.1.31. - - - - - cmd bcms-msgout2)maptrigger-sBindTriggerRouterbmcsmaptriggersRoutersnode发来的送达确认(confirm)maptiggerbcms- deliver-6.1.46.1.4.1RouterBCMS-Msgout连接断开处msgout结点故障或者routermsgoutRouterBindTrigger6.1.46.1.4.1RouterBCMS-Msgout连接断开处msgout结点故

6、障或者routermsgoutRouterBindTrigger 更新 msgout结点重做订阅操作6.1.4.2Router重 6.26.2.1ChannelChannel1) 消息Schema(由用户提供2)Channel Channel的描在key : value :Protobuf定义ChannelInfo: message ChannelInfo requiredfixed32channel_options=/4bytes3,2,1,byte0 表示Channelbyte3:1 28bits用来表示属性durable,fifo32schema_type=requiredstrings

7、chema=requiredstringmessage_queue_name=32consume_timeout_s=messageMessagerequiredbytesmsg_body=1; required ?Type from = 2;64lifetime_s=64requiredstringmessage_queue_name=32consume_timeout_s=messageMessagerequiredbytesmsg_body=1; required ?Type from = 2;64lifetime_s=64enter_time_s=PubMsg:channel_name

8、=6.2.2Trigger s_layer_node_ip:Triggerkey: value :messageTriggerrequired string channel_name = 1; requiredfixed32schema_type=2; required string schema = 3;Transformer一期,消息不支持Schema,TriggerenumTiggerSchemaTypeTIGGER_NULL= TIGGER_SQL=/ / / / sql A.B.C的语法。同时预留扩展方式,即字符串可以是Json或者是Sql Schema部分与 6.36.4 IDLJ

9、SON message6.36.4 IDLJSON messageACL/ Auth message RegChannel Req requiredACLacl_param=1;rquuiredstringchannel_name= 总体设计 6.5算法描述(可选对关键或复杂的算法进行描述,该节可根据需要进行裁剪6.6 6.76.7.11) nshead原始用户数据nshead字段标明后续数据的描述方式,约定:1mcpack1,2mcpack2,JSON,4gzipJSON,5表示格式nsheadprotobufmessageoptionalfixed64trigger_id=1; requi

10、red bytes app_data = 2 rigger格式nsheadprotobufmessageoptionalfixed64trigger_id=1; required bytes app_data = 2 rigger trigger_id 3)格式nsheadprotobufmessage/ message32err_code=消息推送过程见$5.36.7.2AuthServiceAuthProtobufIDLnt与auth_server以nsheadprotbuf 通信PbRpcpublic/pbrpc库)、认证方式的定义由Auth, ChannelTrigger具体需要Aut

11、hauth6.8日志统计说明(可选2) 对模块涉及的日志统计进行说明6.9异常处理(可选对模块中异常情况的处对模块涉及的日志统计进行说明6.9异常处理(可选对模块中异常情况的处理进行说明,比如输入数据不合法、内存分配失败、模错误向外部模块返回的错误码及含义等6.10边界值说明(可选对模块中使用的边界值进行6.11配置项说明(可选对模块涉及到的配置项进行6.12测试考虑(可选说明从测试角度考虑设计方案,以及单元测试或联合测试需要考虑的关键事项。比如,测划、单元测试的思路、联合测试的重点、测试工具的开发和使用等 6.13各子模块设计(可选6.13.1UUIDServiceTriggerID的分配作为一个UUIDID64bit8561Routertrigger_id后,也应该到KVStore 6.13.3BCMS-Msgoutnt管理长连接订阅,如5.3 所述7 风险评估及对其它模块/系统影响(可选7.1在这里加上已经知道的或可能会发生的风险,包括技术、业务等方面。最好针对每个风险出相应的应对措施7.2与其它模块/在“4.1 中描述7.1在这里加上已经知道的或可能会发生的风险,包括技术、业务等方面。最好针对每个风险出相应的应对措

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论