From 9bc6c5b66ac05a60a0461699b1b1b50ab34b799d Mon Sep 17 00:00:00 2001 From: "SmallChi(Koike)" <564952747@qq.com> Date: Sat, 19 Sep 2020 23:08:27 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E6=96=87=E6=A1=A3=202.?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=97=A0=E7=94=A8=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 ++-- publish.gateway.bat | 2 - .../IJT808MsgIdHandler.cs | 14 ----- .../JT808.Gateway.MsgIdHandler.csproj | 30 ---------- .../JT808MsgIdHandlerExtensions.cs | 19 ------ .../JT808MsgIdHandlerHostedService.cs | 34 ----------- .../JT808.Gateway.Traffic/IJT808Traffic.cs | 37 ------------ .../JT808.Gateway.Traffic.csproj | 29 --------- .../JT808TrafficServiceExtensions.cs | 60 ------------------- .../JT808TrafficServiceHostedService.cs | 39 ------------ 10 files changed, 6 insertions(+), 268 deletions(-) delete mode 100644 src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/IJT808MsgIdHandler.cs delete mode 100644 src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808.Gateway.MsgIdHandler.csproj delete mode 100644 src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerExtensions.cs delete mode 100644 src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerHostedService.cs delete mode 100644 src/JT808.Gateway.Services/JT808.Gateway.Traffic/IJT808Traffic.cs delete mode 100644 src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808.Gateway.Traffic.csproj delete mode 100644 src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808TrafficServiceExtensions.cs delete mode 100644 src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808TrafficServiceHostedService.cs diff --git a/README.md b/README.md index 8de544d..103b44e 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,8 @@ | IJT808MsgConsumer| 数据消费接口| 将数据进行对应的消息业务处理(例:设备流量统计、第三方平台数据转发、消息日志等) | | IJT808MsgReplyProducer| 应答数据生产接口|将生产的数据解析为对应的消息Id应答发送到队列 | | IJT808MsgReplyConsumer| 应答数据消费接口| 将接收到的应答数据下发给设备| +| IJT808MsgReplyLoggingProducer| 网关应答数据日志生产接口|将网关能解析到直接能下发的数据发送到队列| +| IJT808MsgReplyLoggingConsumer| 网关应答数据日志消费接口|将网关能解析到直接能下发的数据发送到日志系统| > 使用物联网卡通过udp下发指令时,存储的那个socket地址端口,有效期非常短,不速度快点下发,那个socket地址端口就可能映射到别的对应卡去了,所以此处采用跟随设备消息下发指令。 @@ -44,11 +46,11 @@ |服务名称|服务说明|使用场景| |:------:|:------|:------| -|MsgIdHandler| 消息处理服务|从队列中消费设备上报数据,再结合自身的业务场景,将数据进行处理并入库 | +|MsgIdHandler (v1.0.2新版pipeline)| 消息处理服务|从队列中消费设备上报数据,再结合自身的业务场景,将数据进行处理并入库 | |MsgLogging | 消息日志服务|从队列中消费设备上报和平台应答数据,再将数据存入influxdb等数据库中,便于技术和技术支持排查设备与平台交互的原始数据| |ReplyMessage| 消息响应服务| 用于响应设备上报消息,以及下发指令信息到设备| |SessionNotice| 会话管理服务| 通知设备上线下线,对于udp设备来说,可以在设备上线时,将指令跟随消息下发到设备| -|Traffic|流量统计服务 |由于运营商sim卡查询流量滞后,通过流量统计服务可以实时准确的统计设备流量,可以最优配置设备的流量大小,以节省成本 +|Traffic (v1.0.2新版pipeline已移出)|流量统计服务 |由于运营商sim卡查询流量滞后,通过流量统计服务可以实时准确的统计设备流量,可以最优配置设备的流量大小,以节省成本 |Transmit| 原包转发服务|该服务可以将设备上报原始数据转发到第三方,支持全部转发,指定终端号转发| ## 基于WebApi的消息业务处理程序 @@ -78,11 +80,11 @@ Pipeline分为两种方式使用,一种是使用队列的方式,一种是网 | Install-Package JT808.Gateway.Client|  | | | | Install-Package JT808.Gateway.Kafka|  ||  | | Install-Package JT808.Gateway.Transmit |  ||  | -| Install-Package JT808.Gateway.Traffic |  | || | Install-Package JT808.Gateway.SessionNotice |  || | | Install-Package JT808.Gateway.ReplyMessage |  | | | | Install-Package JT808.Gateway.MsgLogging |  | || -| Install-Package JT808.Gateway.MsgIdHandler |  || | +| Install-Package JT808.Gateway.MsgIdHandler (v1.0.2新版已移出)|  || | +| Install-Package JT808.Gateway.Traffic (v1.0.2新版已移出)|  | || ## 基于DotNetty diff --git a/publish.gateway.bat b/publish.gateway.bat index 1484e64..9cb6fb1 100644 --- a/publish.gateway.bat +++ b/publish.gateway.bat @@ -5,10 +5,8 @@ dotnet pack .\src\JT808.Gateway.Client\JT808.Gateway.Client.csproj -c Release -- dotnet pack .\src\JT808.Gateway.WebApiClientTool\JT808.Gateway.WebApiClientTool.csproj -c Release --output nupkgs echo 'push service pacakge...' -dotnet pack .\src\JT808.Gateway.Services\JT808.Gateway.MsgIdHandler\JT808.Gateway.MsgIdHandler.csproj -c Release --output nupkgs dotnet pack .\src\JT808.Gateway.Services\JT808.Gateway.MsgLogging\JT808.Gateway.MsgLogging.csproj -c Release --output nupkgs dotnet pack .\src\JT808.Gateway.Services\JT808.Gateway.ReplyMessage\JT808.Gateway.ReplyMessage.csproj -c Release --output nupkgs dotnet pack .\src\JT808.Gateway.Services\JT808.Gateway.SessionNotice\JT808.Gateway.SessionNotice.csproj -c Release --output nupkgs -dotnet pack .\src\JT808.Gateway.Services\JT808.Gateway.Traffic\JT808.Gateway.Traffic.csproj -c Release --output nupkgs dotnet pack .\src\JT808.Gateway.Services\JT808.Gateway.Transmit\JT808.Gateway.Transmit.csproj -c Release --output nupkgs pause \ No newline at end of file diff --git a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/IJT808MsgIdHandler.cs b/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/IJT808MsgIdHandler.cs deleted file mode 100644 index a6bcd6e..0000000 --- a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/IJT808MsgIdHandler.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace JT808.Gateway.MsgIdHandler -{ - /// <summary> - /// JT808消息Id处理程序 - /// </summary> - public interface IJT808MsgIdHandler - { - void Processor((string TerminalNo, byte[] Data) parameter); - } -} diff --git a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808.Gateway.MsgIdHandler.csproj b/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808.Gateway.MsgIdHandler.csproj deleted file mode 100644 index 11a9963..0000000 --- a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808.Gateway.MsgIdHandler.csproj +++ /dev/null @@ -1,30 +0,0 @@ -<Project Sdk="Microsoft.NET.Sdk"> - - <Import Project="..\..\Version.props" /> - <PropertyGroup> - <TargetFramework>netstandard2.1</TargetFramework> - <LangVersion>8.0</LangVersion> - <Copyright>Copyright 2019.</Copyright> - <Authors>SmallChi(Koike)</Authors> - <RepositoryUrl>https://github.com/SmallChi/JT808Gateway</RepositoryUrl> - <PackageProjectUrl>https://github.com/SmallChi/JT808Gateway</PackageProjectUrl> - <licenseUrl>https://github.com/SmallChi/JT808Gateway/blob/master/LICENSE</licenseUrl> - <license>https://github.com/SmallChi/JT808Gateway/blob/master/LICENSE</license> - <GeneratePackageOnBuild>false</GeneratePackageOnBuild> - <Version>$(JT808GatewayPackageVersion)</Version> - <SignAssembly>false</SignAssembly> - <PackageLicenseFile>LICENSE</PackageLicenseFile> - <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> - <PackageId>JT808.Gateway.MsgIdHandler</PackageId> - <Product>JT808.Gateway.MsgIdHandler</Product> - <Description>基于JT808消息业务处理程序服务</Description> - <PackageReleaseNotes>基于JT808消息业务处理程序服务</PackageReleaseNotes> - <PackageLicenseFile>LICENSE</PackageLicenseFile> - </PropertyGroup> - <ItemGroup> - <ProjectReference Include="..\..\JT808.Gateway.Abstractions\JT808.Gateway.Abstractions.csproj" /> - </ItemGroup> - <ItemGroup> - <None Include="..\..\..\LICENSE" Pack="true" PackagePath="" /> - </ItemGroup> -</Project> diff --git a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerExtensions.cs b/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerExtensions.cs deleted file mode 100644 index 4a711e8..0000000 --- a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerExtensions.cs +++ /dev/null @@ -1,19 +0,0 @@ -using JT808.Gateway.Abstractions; -using Microsoft.Extensions.DependencyInjection; -using System; -using System.Collections.Generic; -using System.Text; - -namespace JT808.Gateway.MsgIdHandler -{ - public static class JT808MsgIdHandlerExtensions - { - public static IJT808ClientBuilder AddMsgIdHandler<TJT808MsgIdHandler>(this IJT808ClientBuilder jT808ClientBuilder) - where TJT808MsgIdHandler: IJT808MsgIdHandler - { - jT808ClientBuilder.JT808Builder.Services.AddSingleton(typeof(IJT808MsgIdHandler),typeof(TJT808MsgIdHandler)); - jT808ClientBuilder.JT808Builder.Services.AddHostedService<JT808MsgIdHandlerHostedService>(); - return jT808ClientBuilder; - } - } -} diff --git a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerHostedService.cs b/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerHostedService.cs deleted file mode 100644 index db2a100..0000000 --- a/src/JT808.Gateway.Services/JT808.Gateway.MsgIdHandler/JT808MsgIdHandlerHostedService.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System.Threading.Tasks; -using Microsoft.Extensions.Hosting; -using System.Threading; -using JT808.Gateway.Abstractions; - -namespace JT808.Gateway.MsgIdHandler -{ - public class JT808MsgIdHandlerHostedService : IHostedService - { - private readonly IJT808MsgConsumer jT808MsgConsumer; - - private readonly IJT808MsgIdHandler jT808MsgIdHandler; - public JT808MsgIdHandlerHostedService( - IJT808MsgIdHandler jT808MsgIdHandler, - IJT808MsgConsumer jT808MsgConsumer) - { - this.jT808MsgIdHandler = jT808MsgIdHandler; - this.jT808MsgConsumer = jT808MsgConsumer; - } - - public Task StartAsync(CancellationToken cancellationToken) - { - jT808MsgConsumer.Subscribe(); - jT808MsgConsumer.OnMessage(jT808MsgIdHandler.Processor); - return Task.CompletedTask; - } - - public Task StopAsync(CancellationToken cancellationToken) - { - jT808MsgConsumer.Unsubscribe(); - return Task.CompletedTask; - } - } -} diff --git a/src/JT808.Gateway.Services/JT808.Gateway.Traffic/IJT808Traffic.cs b/src/JT808.Gateway.Services/JT808.Gateway.Traffic/IJT808Traffic.cs deleted file mode 100644 index c7c6f94..0000000 --- a/src/JT808.Gateway.Services/JT808.Gateway.Traffic/IJT808Traffic.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Collections.Concurrent; -using System.Linq; - -namespace JT808.Gateway.Traffic -{ - public interface IJT808Traffic - { - long Get(string key); - long Increment(string terminalNo, string field, int len); - List<(string,long)> GetAll(); - } - - class JT808TrafficDefault : IJT808Traffic - { - private ConcurrentDictionary<string, long> dict = new ConcurrentDictionary<string, long>(); - - public long Get(string key) - { - long value; - dict.TryGetValue(key, out value); - return value; - } - - public List<(string, long)> GetAll() - { - return dict.Select(s => (s.Key, s.Value)).ToList(); - } - - public long Increment(string terminalNo, string field, int len) - { - return dict.AddOrUpdate($"{terminalNo}_{field}", len, (id, count) => count + len); - } - } -} diff --git a/src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808.Gateway.Traffic.csproj b/src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808.Gateway.Traffic.csproj deleted file mode 100644 index 9d2d525..0000000 --- a/src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808.Gateway.Traffic.csproj +++ /dev/null @@ -1,29 +0,0 @@ -<Project Sdk="Microsoft.NET.Sdk"> - <Import Project="..\..\Version.props" /> - <PropertyGroup> - <TargetFramework>netstandard2.1</TargetFramework> - <LangVersion>8.0</LangVersion> - <Copyright>Copyright 2019.</Copyright> - <Authors>SmallChi(Koike)</Authors> - <RepositoryUrl>https://github.com/SmallChi/JT808Gateway</RepositoryUrl> - <PackageProjectUrl>https://github.com/SmallChi/JT808Gateway</PackageProjectUrl> - <licenseUrl>https://github.com/SmallChi/JT808Gateway/blob/master/LICENSE</licenseUrl> - <license>https://github.com/SmallChi/JT808Gateway/blob/master/LICENSE</license> - <GeneratePackageOnBuild>false</GeneratePackageOnBuild> - <Version>$(JT808GatewayPackageVersion)</Version> - <SignAssembly>false</SignAssembly> - <PackageLicenseFile>LICENSE</PackageLicenseFile> - <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> - <PackageId>JT808.Gateway.Traffic</PackageId> - <Product>JT808.Gateway.Traffic</Product> - <Description>基于JT808设备流量统计服务</Description> - <PackageReleaseNotes>基于JT808设备流量统计服务</PackageReleaseNotes> - <PackageLicenseFile>LICENSE</PackageLicenseFile> - </PropertyGroup> - <ItemGroup> - <None Include="..\..\..\LICENSE" Pack="true" PackagePath="" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\..\JT808.Gateway.Abstractions\JT808.Gateway.Abstractions.csproj" /> - </ItemGroup> -</Project> diff --git a/src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808TrafficServiceExtensions.cs b/src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808TrafficServiceExtensions.cs deleted file mode 100644 index 1c39252..0000000 --- a/src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808TrafficServiceExtensions.cs +++ /dev/null @@ -1,60 +0,0 @@ -using JT808.Gateway.Abstractions; -using Microsoft.Extensions.DependencyInjection; -using System; -using System.Collections.Generic; -using System.Text; - -namespace JT808.Gateway.Traffic -{ - public static class JT808TrafficServiceExtensions - { - /// <summary> - /// 消息流量统计服务(不同的消费者实例) - /// </summary> - /// <param name="jT808ClientBuilder"></param> - /// <returns></returns> - public static IJT808ClientBuilder AddTraffic<TIJT808Traffic>(this IJT808ClientBuilder jT808ClientBuilder) - where TIJT808Traffic:IJT808Traffic - { - jT808ClientBuilder.JT808Builder.Services.AddSingleton(typeof(IJT808Traffic), typeof(TIJT808Traffic)); - jT808ClientBuilder.JT808Builder.Services.AddHostedService<JT808TrafficServiceHostedService>(); - return jT808ClientBuilder; - } - - /// <summary> - /// 消息流量统计服务(不同的消费者实例) - /// </summary> - /// <param name="jT808ClientBuilder"></param> - /// <returns></returns> - public static IJT808ClientBuilder AddTraffic(this IJT808ClientBuilder jT808ClientBuilder) - { - jT808ClientBuilder.JT808Builder.Services.AddSingleton(typeof(IJT808Traffic), typeof(JT808TrafficDefault)); - jT808ClientBuilder.JT808Builder.Services.AddHostedService<JT808TrafficServiceHostedService>(); - return jT808ClientBuilder; - } - - /// <summary> - /// 消息流量统计服务(不同的消费者实例) - /// </summary> - /// <param name="jT808GatewayBuilder"></param> - /// <returns></returns> - public static IJT808GatewayBuilder AddTraffic<TIJT808Traffic>(this IJT808GatewayBuilder jT808GatewayBuilder) - where TIJT808Traffic : IJT808Traffic - { - jT808GatewayBuilder.JT808Builder.Services.AddSingleton(typeof(IJT808Traffic), typeof(TIJT808Traffic)); - return jT808GatewayBuilder; - } - - - /// <summary> - /// 消息流量统计服务(不同的消费者实例) - /// </summary> - /// <param name="jT808NormalGatewayBuilder"></param> - /// <returns></returns> - public static IJT808GatewayBuilder AddTraffic(this IJT808GatewayBuilder jT808NormalGatewayBuilder) - { - jT808NormalGatewayBuilder.JT808Builder.Services.AddSingleton(typeof(IJT808Traffic), typeof(JT808TrafficDefault)); - return jT808NormalGatewayBuilder; - } - } -} diff --git a/src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808TrafficServiceHostedService.cs b/src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808TrafficServiceHostedService.cs deleted file mode 100644 index d4032f4..0000000 --- a/src/JT808.Gateway.Services/JT808.Gateway.Traffic/JT808TrafficServiceHostedService.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System.Threading.Tasks; -using Microsoft.Extensions.Hosting; -using System.Threading; -using JT808.Protocol.Extensions; -using JT808.Gateway.Abstractions; -using System; - -namespace JT808.Gateway.Traffic -{ - public class JT808TrafficServiceHostedService : IHostedService - { - private readonly IJT808MsgConsumer jT808MsgConsumer; - private readonly IJT808Traffic jT808Traffic; - - public JT808TrafficServiceHostedService( - IJT808Traffic jT808Traffic, - IJT808MsgConsumer jT808MsgConsumer) - { - this.jT808MsgConsumer = jT808MsgConsumer; - this.jT808Traffic = jT808Traffic; - } - - public Task StartAsync(CancellationToken cancellationToken) - { - jT808MsgConsumer.Subscribe(); - jT808MsgConsumer.OnMessage((item)=> { - //string str = item.Data.ToHexString(); - jT808Traffic.Increment(item.TerminalNo,DateTime.Now.ToString("yyyyMMdd"), item.Data.Length); - }); - return Task.CompletedTask; - } - - public Task StopAsync(CancellationToken cancellationToken) - { - jT808MsgConsumer.Unsubscribe(); - return Task.CompletedTask; - } - } -}