本发明涉及卫星差分数据播发技术领域,特别涉及一种基于应用帐号级别的差分服务认证鉴权计费的系统和方法。
背景技术:
对于卫星差分数据播发,现有的业界通用方案为基于NTRIP协议(通过互联网进行RTCM网络传输的协议,Networked Transport of RTCM via Internet Protocol),播发本身相关的配置(如卫星系统、频点,差分数据类型、播发频率等)。
基于NTRIP协议原生的差分账号和挂载点方案是目前业界通用的解决方案。
NTRIP协议定义了差分账号(包括用户名和密码),挂载点(MountPoint)等参数:
1)Ntrip Server IP地址;
2)Ntrip Server IP端口;
3)差分账号用户名,用于用户认证;
4)差分账号密码,用于用户认证;
5)挂载点(MountPoint),所有与差分数据播发相关的配置关联到挂载点,挂载点开放给所有认证通过的差分账号用户自由选择。
现有差分帐号和挂载点方法如图1所示,包括以下步骤:
步骤S1,云端创建差分帐号并提供给终端设备;
步骤S2,终端设备用云端提供给自己的差分帐号接入云端;
步骤S3,云端基于差分帐号进行用户认证;如果用户认证成功,执行步骤S5;如果用户认证失败,执行步骤S4;
步骤S4,不允许终端设备接入挂载点;
步骤S5,终端设备选择挂载点;
步骤S6,云端根据终端设备选择的挂载点选择相应的播发配置;
步骤S7,云端按照播发配置播发相应的差分数据。
现有技术具有以下缺点:
1、差分账号用户认证通过后,没有细分的业务鉴权逻辑,所有挂载点开放给所有认证通过的差分账号用户,无法做到基于终端的业务鉴权以及相应的服务规格。
2、服务配置基于挂载点(MountPoint),每一次更改配置需要新增一个系统级挂载点,无法做到灵活的基于终端的服务配置。
3、计费的实现只能基于差分账号,无法实现基于服务规格和配置的灵活计费逻辑。
4、所有的业务逻辑都是基于差分账号级别,对于某些应用场景需要做到一组(大量)用户批量操作,较为繁琐,用户体验差。
5、只能手工为每一个终端分配差分账号,并手工填写输入到终端,对于大批量终端的操作非常繁琐。
6、现有方案无图形化界面进行配置。
7、现有方案无OpenAPI方式开发配置接口给第三方进行业务逻辑集成。
技术实现要素:
现有技术基于现有的NTRIP协议原生的方案已经不能解决上述问题,需要一种基于应用账号级别的差分数据播发配置、认证、鉴权、计费方法。本发明解决了基于应用账号和差分账号两个级别的差分数据播发配置、认证、鉴权和计费的技术问题。
本发明采用的技术方案是:
一种差分服务认证鉴权计费的系统,包括用户配置界面、差分用户数据库、认证和鉴权系统、计费系统、播发系统和n台终端设备,n至少为1;用户通过用户配置界面创建应用账号和差分账号池,配置服务规格和计费规格,差分用户数据库对服务规格和计费规格进行存储;认证和鉴权系统读取差分用户数据库)信息;差分用户数据库与计费系统、播发系统连接;播发系统将差分数据播发到终端设备。
进一步地,所述认证和鉴权系统用于对用户进行认证和鉴权,所述计费系统用于对差分数据服务进行计费,所述终端设备用于接收差分数据并进行定位计算。
一种差分服务认证鉴权计费的方法,包括以下步骤:
步骤1,用户通过用户配置界面登入云端,创建应用账号和差分账号池,并将应用账号提供给终端设备;
步骤2,激活终端设备;
步骤3,终端设备将应用账号接入到云端;
步骤4,认证和鉴权系统从差分用户数据库中读取应用账号信息,并进行认证;
步骤5,执行认证处理;
步骤6,认证和鉴权系统从差分用户数据库中读取应用账号允许的配额信息,并检查是否在配额范围内;
步骤7,认证和鉴权系统对终端设备进行差分帐号分配;
步骤8,认证和鉴权系统基于差分账号进行认证和鉴权;如果认证成功,执行步骤9a;如果认证失败,执行步骤9b;
步骤9a,在差分用户数据库中查找差分账号对应的服务规格和计费规格;
步骤9b,不允许接入;
步骤10,播发系统按照差分账号的服务规格进行差分数据播发;
步骤11,播发系统按照播发内容更新计费系统,计费系统对用户的差分服务进行扣费操作。
进一步地,所述步骤1中应用账号包括用户名和密码。
进一步地,所述步骤3包括步骤3a、步骤3b和步骤3b1:
步骤3a,终端设备不希望每一个差分服务绑定到物理设备,终端设备将应用账号接入到云端;
步骤3b,终端设备希望每一个差分服务绑定到物理设备,通过用户配置界面将所有的物理设备号与差分账号绑定,执行步骤3b1;
步骤3b1,终端设备将应用账号接入到云端,并同时上报物理设备号。
进一步地,所述步骤4包括步骤4a和步骤4b:
步骤4a,当执行步骤3a时,认证和鉴权系统从差分用户数据库读取应用帐号信息,并进行认证;
步骤4b,当执行步骤3b时,认证和鉴权系统从差分用户数据库中读取应用账号信息和物理设备号信息,并进行认证。
进一步地,所述步骤5包括步骤5a和步骤5b:
步骤5a,认证成功,允许终端设备(106)接入差分服务;
步骤5b,认证失败,不允许终端设备(106)接入差分服务。
进一步地,所述步骤7包括步骤7a和步骤7b:
步骤7a,配额信息在配额范围内,认证和鉴权系统(102)给终端设备(106)分配差分账号;
步骤7b,配额信息超出配额范围,认证和鉴权系统(102)不给终端设备(106)分配差分账号。
进一步地,所述步骤7中差分账号从差分账号池里随机分配或者绑定于物理设备。
本发明的有益效果如下:
1、可以实现基于终端设备级别的灵活的业务鉴权以及相应的服务规格。
2、可以实现基于应用账号级别(批量终端设备)的灵活的业务鉴权以及相应的服务规格。
3、可以实现基于终端设备级别的灵活的服务配置。
4、可以实现基于应用账号级别(批量终端设备)的灵活的服务配置。
5、可以实现基于终端设备级别的灵活的计费逻辑。
6、可以实现基于应用账号级别(批量终端设备)的灵活的计费逻辑。
7、可以实现自动为每一个终端分配差分账号,减少了终端操作的繁琐性。
8、可以实现用户选择的激活(计费开始)方式。
8、可以实现图形化界面进行配置。
9、可以实现OpenAPT方式开发配置接口给第三方进行业务逻辑集成。
10、应用账号分为应用标识和应用密钥,应用密钥用于加签,提高安全性。
11、双级账号体系(应用账号、应用密钥,加上差分账号、差分密码);
12、可选忽略挂载点(Mountpoint)的配置,而是根据用户在服务端的配置进行相应的服务,防止只购买了低规格服务的用户选择高规格的挂载点。
附图说明
图1是现有技术的流程图;
图2是本发明系统架构图;
图3是本发明流程图。
具体实施方式
下文中,结合附图和实施例对本发明作进一步阐述。
本发明系统架构图如图2所示,包括用户配置界面101、差分用户数据库103、认证和鉴权系统102、计费系统104、播发系统105和n台终端设备106,n至少为1;用户通过用户配置界面101可以创建应用账号和差分账号池,并配置服务规格和计费规格,差分用户数据库103对每一个差分帐号对应的服务规格和计费规格进行存储;认证和鉴权系统102读取差分用户数据库103信息;差分用户数据库103与计费系统104、播发系统105连接;播发系统105将差分数据播发到终端设备106。
较佳地,所述用户配置界面101有两种方式,一种是图形用户界面,另一种是OpenAPI方式,OpenAPI方式开放接口给第三方进行业务逻辑集成。
应用账号(包括用户名和密码),分为应用标识和应用密钥,其中:
-应用标识用于标识一个应用(可以对应于一个或一组终端设备);
-应用密钥用于加签,终端设备用服务端分配的应用密钥对整个消息进行加签后;
-服务端用相同的应用密钥进行加签并比对,防止消息被篡改伪造;
-应用密钥不在网络上进行传输,所以安全性相对与差分密码在网络上明文传输的方式是更高的。
认证和鉴权系统102:用于对用户进行认证和鉴权的系统。
计费系统104:用于对差分数据服务进行计费的系统。
终端设备106:用于接收差分数据并进行定位计算的设备。
结合图3对本发明流程做进一步阐述。
本发明中的差分服务认证鉴权计费的方法,包括以下步骤:
步骤1,用户通过用户配置界面101登入云端,创建应用账号和差分账号池,并将应用账号提供给终端设备106。
步骤2,激活终端设备106。
激活终端设备的目的是用户激活后开始计费,包括3种激活方式:
1、终端设备第一次连接到服务端,认证和鉴权通过后自动激活;
2、对于每个终端设备,由用户自己手动到服务端管理控制台(或OpenAPI)激活;
3、对于每个终端设备,由用户自己手动在终端上点击激活。
对于包年包月的用户,希望购买服务后过一段时间由他手工触发激活操作。
步骤3,终端设备106将应用账号接入到云端,包括步骤3a、步骤3b和步骤3b1:
步骤3a,终端设备106如果不希望每一个差分服务绑定到具体的物理设备,则终端设备106将应用账号接入到云端;
步骤3b,终端设备106如果希望每一个差分服务绑定到物理设备,通过用户配置界面101将所有的物理设备号与差分账号绑定,执行步骤3b1;
步骤3b1,终端设备106将应用账号接入到云端,并同时上报自己的物理设备号。
步骤4,云端的认证和鉴权系统102从差分用户数据库103中读取应用账号(包括用户名和密码)信息,并进行认证,包括步骤4a和步骤4b:
步骤4a,当执行步骤3a时,云端的认证和鉴权系统102从差分用户数据库103读取应用帐号信息,并进行认证;
步骤4b,当执行步骤4b时,云端的认证和鉴权系统102从差分用户数据库103中读取应用账号信息以及绑定好的具体的物理设备号信息,并进行认证。
步骤5执行认证处理,包括步骤5a和步骤5b:
步骤5a,认证成功,允许终端设备106接入差分服务;
步骤5b,认证失败,不允许终端设备106接入差分服务。
步骤6,云端的认证和鉴权系统102从差分用户数据库103中读取应用账号允许的配额信息,并检查是否在配额范围内。
步骤7,认证和鉴权系统102对终端设备106进行差分帐号分配,括步骤7a和步骤7b:
步骤7a,配额信息在配额范围内,认证和鉴权系统102给终端设备106分配差分账号;差分账号有可能是在配额允许的差分账号池里随机分配的,也有可能是绑定于具体物理设备的。
步骤7b,配额信息超出配额范围,认证和鉴权系统102不给终端设备106分配差分账号。
步骤8,云端的认证和鉴权系统102基于差分账号进行认证和鉴权;如果认证成功,执行步骤9a;如果认证失败,执行步骤9b。
步骤9a,在差分用户数据库103中查找该差分账号对应的服务规格和计费规格;
步骤9b,不允许接入。
步骤10,云端的播发系统105按照差分账号的服务规格进行差分数据播发。
步骤11,云端的播发系统105按照播发内容更新计费系统104,计费系统104对用户的差分服务进行扣费操作。
本发明对于计算机编程语言没有特别要求,优选采用JAVA语言。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。