区分公务和私务业务的船舶卫星通信流量计费方法
技术领域
本发明属于卫星通信领域,尤其涉及区分公务和私务业务的船舶卫星通信流量计费方法。
背景技术
全球90%的贸易运输由海运承担,海运已成为国家的战略性产业。卫星通信由于不受地域限制,是海上通信的首选手段。海运业的发展变化对海上卫星通信提出了更高的要求。
卫星通信由于带宽资源稀缺,资费较为昂贵,目前主要用于公务通信,保障船舶与岸上的日常通信联络,一般以语音和电子邮件通信为主。公务通信一般要求稳定可靠,但业务量通常不太多,卫星通信链路大多数时间是空闲的。与此同时,在船舶上工作的海员由于长时间远离亲友和陆地生活,迫切需要与外界沟通和交流,以改善远洋生活和娱乐条件,缓解精神压力。
因此,船舶卫星通信系统提供区分服务策略,识别并分别统计公务和私务网络流量,提供不同计费策略,在公务优先的前提下,利用空闲卫星链路资源,为船员个人提供通信和网络休闲娱乐服务,将有非常重要的现实意义。
目前国际上面向海洋船舶提供通信服务的卫星通信系统,比如Inmarsat系统,主要是以公务为服务对象,以整个船舶为单位进行上网流量统计,采用后付费计费策略,无法为船员个人提供上网服务。
发明内容
本发明的目的在于提供区分公务和私务业务的船舶卫星通信流量计费方法,该方法能够区分公务和船员个人私务通信业务,支持用户多样化的通信需求。
为了实现上述目的,本发明的技术方案是设计一种区分公务和私务业务的船舶卫星通信流量计费方法,该方法包括以下内容:
1)区分公务和私务业务的船舶卫星通信流量计费方法的系统组成:包括岸端分系统和船端分系统;所述岸端分系统包括账户管理模块、数据传输模块、数据存储模块、充值管理模块;所述船端分系统包括用户登录模块、数据采集模块、数据处理模块、数据上报模块、计费管理模块、账户配置模块、在线充值模块、上网控制模块。
2)区分公务和私务业务的船舶卫星通信流量计费方法的硬件设备:包括岸端服务器、本地有线网络、网络交换机、主站Modem、远端站Modem、卫星无线链路;所述岸端服务器通过本地有线网络与网络交换机及主站Modem相连,主站Modem与远端站Modem通过卫星无线链路相连。
3)区分公务和私务业务的船舶卫星通信流量计费方法的系统工作流程:用户通过有线或无线连接船载网络,然后访问用户登录页面,输入用户名/密码进行身份认证,通过身份认证的用户就可以自由访问英特网了。系统会实时采集用户通过船载系统上网所产生的数据流量,对所采集的流量进行上报计费处理。当用户账户中的套餐或余额不足时,系统会及时对该用户进行断网处理,防止产生欠费。用户可通过支付宝、微信等第三方充值渠道,对账户中进行充值,然后购买流量套餐。
由于卫星资费相对地面网高出很多,为防止设备后台偷跑流量,系统提供白名单功能。用户登录成功后即为默认的白名单模式。白名单模式下,用户仅能访问白名单列表中的特定页面、网址。用户可以自行切换为网络全开模式,全开模式下,用户上网便不再受白名单限制。
工作步骤如下:
步骤1:访问用户登录页面,输入用户名/密码进行身份认证;
步骤2:身份认证失败,转步骤一;
步骤3:身份认证成功,界面跳转个人账户界面,用户可访问英特网;
步骤4: 岸端分系统推送当前用户的流量套餐及账户余额;
步骤5:船端分系统实时采集用户上网流量;
步骤6:船端分系统根据用户当前IP地址与登录账户映射关系,分别统计各个用户的上网流量;
步骤7:船端分系统周期检查用户流量统计列表中的流量累积量,对授权为个人的账号,流量每达5kB或时间超过5分钟,则进行一次扣费操作,并检查公务和个人账号中的套餐余额和账户余额,若套餐余额扣完,则从账号余额扣费,如果账号余额也扣完,将立即断开该账号的上网功能;
步骤8:船端分系统定时向岸端分系统上报流量及计费信息。
4)区分公务和私务业务的船舶卫星通信流量计费方法的数据采集流程:数据采集模块实时去捕捉用户上网数据流量信息,当用户上网流量超过5kb时,将该条数据保存至数据库。
工作步骤如下:
步骤1:船端分系统数据采集模块实时捕捉船端所有上网数据流量;
步骤2:船端分系统根据用户当前IP地址与登录账户映射关系,区分来自不同账号的流量数据,分别统计并记录到各个用户的流量列表中。
5)区分公务和私务业务的船舶卫星通信流量计费方法的数据处理流程:数据处理模块负责将采集到的流量数据进行统计和处理,先按照用户套餐的到期顺序扣除用户套餐,若该用户已无可用套餐,扣除余额,当套餐和余额都扣完时,为该用户断网,防止产生欠费。
工作步骤如下:
步骤1:船端分系统周期检查流量列表,当某用户当前累积上网流量超过5kB或超过5分钟时,再根据账号授权信息判断该账号是公务还是私务,若是公务账号,则直接从用户套餐中扣除消耗的流量,若套餐余额不足,则从账号余额扣除流量费用,账户余额显示为负数;若是私物账号,则先从套餐中扣除消耗的流量,若套餐余额不足,就从账户余额进行换算扣除,如果余额也不足,则从账号余额扣除流量费用,账户余额显示为负数;
步骤2:船端分系统数据上报模块定时向岸端分系统上报流量统计信息及各用户套餐及余额信息。
6)区分公务和私务业务的船舶卫星通信流量计费方法的数据上报流程:数据上报模块负责主要将船端用户套餐、余额数据和流量使用信息同步至岸端。
工作步骤如下:
步骤1:船端分系统启动定时器;
步骤2:定时器时间到,则向岸端分系统上报流量及计费信息。
7)区分公务和私务业务的船舶卫星通信流量计费方法的岸端数据解析流程:岸端分系统定时从MQ队列中读取船端上报的数据,然后进行分析,并进行数据保存。
工作步骤如下:
步骤1:岸端分系统启动定时器;
步骤2:定时器时间到,岸端分系统从MQ队列中读取船端上报的数据;
步骤3:岸端分系统解析船端上报的数据;
步骤4:同步用户的套餐及账户余额信息,存储用户上网流量清单信息。
8)区分公务和私务业务的船舶卫星通信流量计费方法的上网模式切换流程:系统提供白名单和网络全开两种上网模式。用户登录成功后,可在个人账号界面对上网模块进行自定义。
工作步骤如下:
步骤1:用户登录;
步骤2:岸端分系统返回用户上网模式设置记录;
步骤3:根据记录,界面显示白名单开关打开/关闭;
步骤4:用户操作白名单开关,打开或关闭;
步骤5:上报用户操作记录。
9)区分公务和私务业务的船舶卫星通信流量计费方法的在线充值流程:系统针对个人用户提供在线充值和套餐订购功能。用户可使用微支付或支付宝在线对个人账号进行充值。
工作步骤如下:
步骤1:用户登录;
步骤2:进入个人账户充值界面;
步骤3:选择充值方式,输入充值金额;
步骤4:进入第三方支付充值流程;
步骤5:查看账户余额变化情况。
10)区分公务和私务业务的船舶卫星通信流量计费方法的订购套餐流程:充值成功后,就可以用账号余额购买流量套餐。账户余额也可以直接支付上网流量,但价格没有流量套餐优惠。
工作步骤如下:
步骤1:用户登录;
步骤2:进入套餐订购界面;
步骤3:选择套餐;
步骤4:完成订购;
步骤5:查看套餐余额变化情况。
11)区分公务和私务业务的船舶卫星通信流量计费方法的上网流量限额设置流程:个人用户可设置每日上网流量限额,防止流量使用过多,造成经济压力。
当用户在个人账户中设置了日使用流量额度后,在用户上网过程中,船载分系统将自动检查用户当日累计流量,若达到流量限额,系统将自动切断用户网络。
工作步骤如下:
步骤1:用户登录;
步骤2:进入流量监控页面;
步骤3:打开流量控制开关,输入日流量控制值;
步骤4:确认完成。
本发明的优点和有益效果在于:传统卫星通信系统主要提供电话语音通信,一般按照通信时长计费。
新一代船舶宽带卫星通信系统,基本都采用全IP方式与地面英特网互联互通,可为船舶用户提供VoIP、电子邮件以及其他数据通信服务。但以Inmarsat为代表的卫星通信系统,以保障公务通信为主,以整个船舶为计费单位,通常采用按月后付费方式进行结算。个人用户基本无法使用船载卫星通信服务。特殊情况下,个人用户及时使用了卫星通信系统,也无法区分并统计其上网流量,缺乏结算途径。Inmarsat系统的流量统计和结算全部放在卫星关口站,船端无对应设备。
本发明基于专门设计的船载网关设备的智能化处理能力,通过识别不同公务和个人用户登录账户的权限,自动区分并实时统计通过的公务和个人通信流量,分别累加到各自账号中。
公务流量采用后付费策略,每个自然月的月初,后台系统将自动生成该公务账户上月的通信详情及计费情况。个人通信流量采用预付费策略。个人用户先到系统中注册账户,然后通过微支付、支付宝或充值卡等多种方式对账户进行充值。系统支持船员本人或岸上亲友为指定账户充值。个人账户有余额后,就可以通过客户端软件在线预订流量套餐。系统为船员提供了多种规格的流量套餐和增量包。个人上网流量采用实时扣费策略,当账户流量余额快要用完时,系统将自动对船员进行提示。
船载智能网关设备带有QoS功能,优先保证船舶公务流量传输。在业务信道繁忙的情况下,系统支持语音优先策略。
附图说明
图1为本发明系统组成的示意图。
图2为本发明系统工作流程示意图。
图3为本发明数据采集流程示意图。
图4为本发明数据处理流程示意图。
图5为本发明岸端数据解析流程图。
图6为本发明在线充值流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例:
(一)开发环境
系统软件使用JAVA中的Spring-boot架构逻辑,后台使用的框架有:
SPRING MVC(后台分层结构)
SPRING JPA(数据库ORM)
WebSocket(H5长连接数据推送)
APACHE JACKSON(后台对象转换为前台数据)
ACTIVE MQ(消息队列)
Duird(数据源连接)
MySQL(数据库读写分离,分区表)
(二)部署方式
岸端分系统属于后台系统软件,岸端系统软件部署在卫星关口站的应用服务器上,用户数据存储在数据库服务器中。
船端分系统软件部署在船载智能网关设备上。
(三)运行环境
1)硬件环境
应用服务器
配备2个8核CPU,主频2.5GHz以上,内存配置32G,硬盘500G。
数据库服务器
配备2个8核CPU,主频2.5GHz以上,内存配置32G,2个SATA/ SAS 10K 1T磁盘。
船载智能网关设备
采用专门研制的船载智能网关设备。设备提供1个Wan口,4个Lan口,支持用户采用NAT或路由模式上网。
2)软件环境
应用服务器
操作系统:Redhat Enterprise Linux Advanced Server 6.4版;
Web服务器:Apache Tomcat7与Apache HTTP Server 2.4;
应用软件:岸端分系统软件Sealine.admin.web.war。
数据库服务器
数据库软件:MySql5.7。
船载智能网关设备
操作系统:Redhat Enterprise Linux Advanced Server 6.4版;
Web服务器:Apache Tomcat7与Apache HTTP Server 2.4;
应用软件:船端分系统软件Sealine.ship.web.war。
(四)系统实现方法
系统采用B/S架构,严格按照Java EE标准进行开发,基于JDK1.7 + SpringBoot +Spring MVC3.0+dubbo +Mysql + Cache + Redis + Sirho技术进行开发,使用RBAC的完全响应式权限管理方式。
1)岸端分系统
账户管理模块
账户管理模块负责管理系统中的所有用户账户信息,通过“账户属性”字段区分公务账户和个人账户。
账户里包括用户的个人信息,账户余额,充值记录,订购套餐等记录查询。账户管理模块还负责对船端用户登录信息进行校验,若校验通过,则向船端推送用户套餐流量余额和账户资金余额。
账户管理模块,数据量大,涉及到的外表较多,因此在系统架框上选用了MyCat数据库中间件,对用户进行水平分表。系统在查询统计方面性能得到很大的得升。
数据传输模块
采用消息总线框架Apache ActiveMQ,实现消息的分发和监控。MQ提供了NIO 异步传输协议,有效解决了卫星链路传输延迟大,并发数小的问题。船端对上报的数据进行了压缩处理,岸端对接收到的数据进行解压还原操作。
数据存储模块
数据存储模块对接收到的船端上报数据进行校验和解析,然后将用户流量清单存储到用户流量表中,将用户套餐剩余流量和账户余额值进行同步处理。
充值管理模块
岸端分系统充值管理模块与船端在线充值模块配置工作,用户通过船端充值接口提交充值信息后,调用第三方充值接口完成支付流程,然后给船端返回充值结果信息,并同步更新用户账户余额。
系统支持微信、支付宝、充值卡等支付方式,并支持对账、结算、退款等业务处理。通过第三方提供的SDK,并对SDK进行封装,形成统一的输入与输入出接口,适应接入第三方的支付接口,做到易扩展,改动小。
2)船端分系统
用户登录模块
船端分系统提供用户登录界面,用户输入用户名和密码后,船端分系统与岸端后台系统交互,由岸端进行用户身份认证,并给船端返回认证结果。若用户登录成功,岸端将向船端推送用户套餐流量余额和账户资金余额信息。
数据采集模块
船端数据采集模块负责实施采集船舶上的用户上网流量数据。数据采集功能主要基于
船载智能网关设备,利用Linux操作系统中自带的iptables组件实现流量统计。流量统计示
例:
统计网卡上的8080端口接收和发送的流量。
数据处理模块
数据处理模块对采集到的流量数据进行过滤、识别和统计。首先需要过滤掉目的地是本地的数据;其次,根据IP报文中的源/目的地址,匹配出该报文是来自/发往某个登录账号的设备;根据账号属性,识别该报文是公务数据还是个人私务数据;分别将统计到的流量累加到各账号的流量列表中去。
数据上报模块
船端也采用消息总线框架Apache ActiveMQ,负责消息数据的上传。系统首先对采集到的数据进行整理和压缩,然后通过Apache ActiveMQ 的NIO 异步传输协议,进行数据上报。采用数据压缩处理,可以有效节约卫星带宽资源消耗。
系统采用 Apache Mina 轻量级高性能网络程序框架,支持TCP、UDP和串口等多种传输通道。在传输前需要将数据转换成二进制数据,我们处理一个11位的手机号时,需要用int类型来存储占用空间为4字节,4 byte = 4*8 = 32 bit,压缩后的数据为12bit。压缩率提高了60%左右。在卫星传输过程中,数据的压缩率好坏直接会影响到用户的直观体验,特别是在用户登录的过程效果较好明显。
计费管理模块
船端分系统设置定时器,周期性扫描用户流量统计列表,当用户累计流量超过5kB或时间间隔达到5分钟,则将列表中记录的流量统计值从用户套餐流量余额中扣除;若套餐流量余额不足,不足部分从用户账户余额中换算扣除;如果账户余额也不够了,则通知上网控制模块,对用户进行断网处理。
系统使用多线程处理轮询任务,将原始流量清单按小时进行归并处理。提供异常计费处理流程,防止脏读、数据不同步等问题。
账户配置模块
船端用户个人账户界面提供配置功能,用户可以打开/关闭网络白名单功能。由于卫星通信资费较为昂贵,为防止用户设备其他应用后台偷跑流量,特设计此功能。
用户还可以打开流量控制开关,设置日流量限额,防止流量消耗过多。
在线充值模块
船端提供用户在线充值接口。船端分系统接收到用户的充值信息后,提交给岸端分系统,由岸端调用第三方充值接口,完成充值过程。岸端分系统将向船端返回充值结果,同步更新用户账户余额。
充值完成后,用户可以使用账号余额订购流量套餐。
上网控制模块
上网控制模块负责控制用户网络的通断开关。若船端分系统发现用户套餐余额不足,
且其账户余额也不足时,就切断该账号当前对应的IP地址的上网通道。该功能主要基于船
载智能网关设备,利用Linux操作系统中自带的iptables组件实现。
操作示例:
从iptables里禁止来自IP地址192.168.2.50的所有报文:
iptables -A INPUT -s 192.168.2.0/24 -j REJECT
从iptables里放开来自IP地址192.168.2.50的所有报文:
iptables -A INPUT -s 192.168.2.0/24 -j ACCEPT
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。