From be0a9cb5625fd5e387c704c762f3dc85c75ac3b3 Mon Sep 17 00:00:00 2001 From: smallchi <564952747@qq.com> Date: Fri, 30 Aug 2019 18:21:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 30 ++----- api/README.md | 235 ++------------------------------------------------ 2 files changed, 16 insertions(+), 249 deletions(-) diff --git a/README.md b/README.md index 1dded66..9e7f42e 100644 --- a/README.md +++ b/README.md @@ -25,14 +25,6 @@ ![design_model](https://github.com/SmallChi/JT808DotNetty/blob/master/doc/img/design_model.png) -## 基于Tcp的消息业务处理程序(JT808.DotNetty.Tcp) - -通过继承JT808.DotNetty.Core.Handlers.JT808MsgIdTcpHandlerBase去实现自定义的消息业务处理程序。 - -## 基于Udp的消息业务处理程序(JT808.DotNetty.Udp) - -通过继承JT808.DotNetty.Core.Handlers.JT808MsgIdUdpHandlerBase去实现自定义的消息业务处理程序。 - ## 基于WebApi的消息业务处理程序(JT808.DotNetty.WebApi) 通过继承JT808.DotNetty.Core.Handlers.JT808MsgIdHttpHandlerBase去实现自定义的WebApi接口服务。 @@ -44,9 +36,10 @@ |接口名称|接口说明|使用场景| |:------:|:------|:------| | IJT808SessionPublishing| 会话通知(在线/离线)| 有些超长待机的设备,不会实时保持连接,那么通过平台下发的命令是无法到达的,这时候就需要设备一上线,就即时通知服务去处理,然后在即时的下发消息到设备。| -| IJT808SourcePackageDispatcher| 原包分发器| 需要将源数据转给其他平台| -| IJT808UplinkPacket| 上行数据包处理接口| 平台需要查看网关的上行数据日志(可以配合InfluxDB使用)| -| IJT808DownlinkPacket| 下行数据包处理接口| 平台需要查看网关的下行数据日志(可以配合InfluxDB使用)| +| IJT808MsgProducer| 数据生产接口| 网关将接收到的数据发送到队列| +| IJT808MsgConsumer| 数据消费接口| 将数据进行对应的消息业务处理(例:设备流量统计、第三方平台数据转发、消息日志等) | +| IJT808MsgReplyProducer| 应答数据生产接口|将生产的数据解析为对应的消息Id应答发送到队列 | +| IJT808MsgReplyConsumer| 应答数据消费接口| 将接收到的应答数据下发给设备| > 只要实现IJT808SessionPublishing接口的任意一款MQ都能实现该功能。 @@ -56,12 +49,15 @@ | Package Name | Version | Downloads | | --------------------- | -------------------------------------------------- | --------------------------------------------------- | -| Install-Package JT808.DotNetty.Core | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.Core.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.Core.svg) | | Install-Package JT808.DotNetty.Abstractions | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.Abstractions.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.Abstractions.svg) | +| Install-Package JT808.DotNetty.Core | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.Core.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.Core.svg) | | Install-Package JT808.DotNetty.Tcp | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.Tcp.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.Tcp.svg) | | Install-Package JT808.DotNetty.Udp | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.Udp.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.Udp.svg) | | Install-Package JT808.DotNetty.WebApi | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.WebApi.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.WebApi.svg) | | Install-Package JT808.DotNetty.WebApiClientTool | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.WebApiClientTool.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.WebApiClientTool.svg) | +| Install-Package JT808.DotNetty.Client | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.Client.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.Client.svg) | +| Install-Package JT808.DotNetty.Kafka | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.Kafka.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.Kafka.svg) | +| Install-Package JT808.DotNetty.RabbitMQ | ![JT808](https://img.shields.io/nuget/v/JT808.DotNetty.RabbitMQ.svg) | ![JT808](https://img.shields.io/nuget/dt/JT808.DotNetty.RabbitMQ.svg) | ## 举个栗子1 @@ -85,20 +81,10 @@ static async Task Main(string[] args) services.AddSingleton(typeof(ILogger<>), typeof(Logger<>)); services.AddJT808Configure() .AddJT808NettyCore(hostContext.Configuration) - //自定义日志下发包 - .ReplaceDownlinkPacket() //自定义会话通知(在线/离线)使用异步方式 //.ReplaceSessionPublishing() - //自定义原包转发 使用异步方式 - //.ReplaceSourcePackageDispatcher .AddJT808TcpNettyHost() - // 自定义Tcp消息处理业务 - .ReplaceMsgIdHandler() - .Builder() .AddJT808UdpNettyHost() - // 自定义Udp消息处理业务 - .ReplaceMsgIdHandler() - .Builder() .AddJT808WebApiNettyHost() .Builder(); //webapi客户端调用 diff --git a/api/README.md b/api/README.md index 7d8fa86..0a0eb82 100644 --- a/api/README.md +++ b/api/README.md @@ -10,9 +10,7 @@ ## 1.统一下发设备消息服务 -[基于Tcp统一下发设备消息服务](#tcp_send) - -[基于Udp统一下发设备消息服务](#udp_send) +[统一下发设备消息服务](#send) ## 2.管理会话服务 @@ -20,56 +18,35 @@ [基于Udp管理会话服务](#udp_session) -## 3.转发地址过滤服务 - -[基于Tcp转发地址过滤服务](#tcp_transmit) - ## 4.消息包计数服务(次日清零) [基于Tcp消息包计数服务](#tcp_counter) [基于Udp消息包计数服务](#udp_counter) -## 5.流量统计服务(次日清零) - -[基于Tcp流量统计服务](#tcp_traffic) - -[基于Udp流量统计服务](#udp_traffic) - -## 6.系统性能数据采集服务 +## 接口请求对照表 -[获取当前系统进程使用率](#system_collect) +### 公共接口请求 -## 接口请求对照表 +|请求Url|请求方式|说明| +|:------|:------|:------| +| 127.0.0.1:828/jt808api/UnificationSend| POST| 统一下发设备消息服务| ### 基于Tcp接口请求 |请求Url|请求方式|说明| |:------|:------|:------| -| 127.0.0.1:828/jt808api/Tcp/UnificationSend| POST| 基于Tcp统一下发设备消息服务| | 127.0.0.1:828/jt808api/Tcp/Session/GetAll| GET| 基于Tcp管理会话服务-获取会话集合| | 127.0.0.1:828/jt808api/Tcp/Session/RemoveByTerminalPhoneNo| POST| 基于Tcp管理会话服务-通过设备终端号移除对应会话| -| 127.0.0.1:828/jt808api/Tcp/Transmit/Add| POST| 基于Tcp转发地址过滤服务-添加转发过滤地址| -| 127.0.0.1:828/jt808api/Tcp/Transmit/Remove| POST| 基于Tcp转发地址过滤服务-删除转发过滤地址| -| 127.0.0.1:828/jt808api/Tcp/Transmit/GetAll| GET| 基于Tcp转发地址过滤服务-获取转发过滤地址信息集合| | 127.0.0.1:828/jt808api/Tcp/GetAtomicCounter| GET| 基于Tcp消息包计数服务| -| 127.0.0.1:828/jt808api/Tcp/Traffic/Get| GET| 基于Tcp流量统计服务| ### 基于Udp接口请求 |请求Url|请求方式|说明| |:------|:------|:------| -| 127.0.0.1:828/jt808api/Udp/UnificationSend| POST| 基于Udp统一下发设备消息服务| | 127.0.0.1:828/jt808api/Udp/Session/GetAll| GET| 基于Udp管理会话服务-获取会话集合| | 127.0.0.1:828/jt808api/Udp/Session/RemoveByTerminalPhoneNo| POST| 基于Udp管理会话服务-通过设备终端号移除对应会话| | 127.0.0.1:828/jt808api/Udp/GetAtomicCounter| GET| 基于Udp消息包计数服务| -| 127.0.0.1:828/jt808api/Udp/Traffic/Get| GET| 基于Udp流量统计服务| - -### 公共接口请求 - -|请求Url|请求方式|说明| -|:------|:------|:------| -| 127.0.0.1:828/jt808api/SystemCollect/Get| GET| 获取当前系统进程使用情况| ### 统一对象返回 JT808ResultDto\ @@ -88,38 +65,9 @@ | 404 | 没有该服务 | | 500 | 服务内部错误 | -### 基于Tcp统一下发设备消息服务 +### 基于Tcp统一下发设备消息服务 -请求地址:Tcp/UnificationSend - -请求方式:POST - -请求参数: - -|属性|数据类型|参数说明| -|------|:------:|:------| -| TerminalPhoneNo| string| 设备终端号| -| Data| byte[]| JT808 byte[]数组| - -返回数据: - -|属性|数据类型|参数说明| -|:------:|:------:|:------| -| Data| bool| 是否成功| - -返回结果: - -``` result1 -{ - "Message":"", - "Code":200, - "Data":true -} -``` - -### 基于Udp统一下发设备消息服务 - -请求地址:Udp/UnificationSend +请求地址:/UnificationSend 请求方式:POST @@ -292,89 +240,6 @@ } ``` -### 基于Tcp转发地址过滤服务 - -#### 1.添加转发过滤地址 - -请求地址:Tcp/Transmit/Add - -请求方式:POST - -请求参数: - -|属性|数据类型|参数说明| -|:------:|:------:|:------| -| Host| string| ip地址| -| Port| int| 端口号| - -返回数据: - -|属性|数据类型|参数说明| -|:------:|:------:|:------| -| Data| bool | 是否成功 - -返回结果: - -``` tr1 -{ - "Message":"", - "Code":200, - "Data":true -} -``` - -#### 2.删除转发过滤地址(不能删除在网关服务器配置文件配的地址) - -请求地址:Tcp/Transmit/Remove - -请求方式:POST - -请求参数: - -|属性|数据类型|参数说明| -|:------:|:------:|:------| -| Host| string| ip地址| - -返回数据: - -|属性|数据类型|参数说明| -|:------:|:------:|:------| -| Data| bool | 是否成功| - -返回结果: - -``` tr2 -{ - "Message":"", - "Code":200, - "Data":true -} -``` - -#### 3.获取转发过滤地址信息集合 - -请求地址:Tcp/Transmit/GetAll - -请求方式:GET - -返回数据: - -|属性|数据类型|参数说明| -|------|:------:|:------| -| Data| List\ | 远程ip地址(不加端口号)| - -返回结果: - -``` tr3 -{ - "Message":"", - "Code":200, - "Data":[ - "127.0.0.1" - ] -} -``` - ### 基于Tcp消息包计数服务 请求地址:Tcp/GetAtomicCounter @@ -426,87 +291,3 @@ } } ``` - -### 基于Tcp流量统计服务 - -请求地址:Tcp/Traffic/Get - -请求方式:GET - -返回数据: - -|属性|数据类型|参数说明| -|------|:------:|:------| -| TotalReceiveSize| double| 总接收大小(单位KB)| -| TotalSendSize| double| 总发送大小(单位KB)| - -返回结果: - -``` traffic1 -{ - "Message":"", - "Code":200, - "Data":{ - "TotalReceiveSize":0.0478515625, - "TotalSendSize":0.01953125 - } -} -``` - -### 基于Udp流量统计服务 - -请求地址:Udp/Traffic/Get - -请求方式:GET - -返回数据: - -|属性|数据类型|参数说明| -|------|:------:|:------| -| TotalReceiveSize| double| 总接收大小(单位KB)| -| TotalSendSize| double| 总发送大小(单位KB)| - -返回结果: - -``` traffic2 -{ - "Message":"", - "Code":200, - "Data":{ - "TotalReceiveSize":0.0478515625, - "TotalSendSize":0.01953125 - } -} -``` - -### 系统性能数据采集服务 - -请求地址:SystemCollect/Get - -请求方式:GET - -返回数据: - -|属性|数据类型|参数说明| -|------|:------:|:------| -| ProcessId| int| 进程Id| -| WorkingSet64| double| 进程分配内存(单位MB)| -| PeakWorkingSet64| double| 进程分配内存峰值(单位MB)| -| PrivateMemorySize64| double| 进程分配私有内存(单位MB)| -| CPUTotalProcessorTime| TimeSpan|进程执行CPU总处理时间| - -返回结果: - -``` sc -{ - "Message":"", - "Code":200, - "Data":{ - "ProcessId":101412, - "WorkingSet64":73.0625, - "PeakWorkingSet64":73.0625, - "PrivateMemorySize64":134.6796875, - "CPUTotalProcessorTime":"00:00:14.5625000" - } -} -``` \ No newline at end of file