一种STS的token充值误差解决方法及系统技术方案

技术编号:23401202 阅读:60 留言:0更新日期:2020-02-22 13:21
本发明专利技术公开了一种STS的token充值误差解决方法,在输入充值数值NC后,通过判断充值数值NC与第一区间值N0的大小关系得出是否存在误差值;当存在误差值时,判断否关联虚拟账户,若是,则将误差值部分存入虚拟账户中待启用,若不是,则将误差值部分也生成充值token,来用于给用户充值。本发明专利技术还公开了一种STS的token充值误差解决系统,采用前面所述的方法进行工作。本发明专利技术在实际应用中避免了电力电价交易纠纷,且采用虚拟账户的方式直接减少了用户多次充值的麻烦,以及减少误差值,实现误差值部分的充分利用,在不关联虚拟账户时也能及时补充误差部分。

A method and system to solve the token recharge error of STS

【技术实现步骤摘要】
一种STS的token充值误差解决方法及系统
本专利技术涉及token误差解决
,尤其涉及一种STS的token充值误差解决方法及系统。
技术介绍
电能作为当今社会必不可少的生活能源,它的使用范围涉及各个国家和地区,并且其消费形式也多种多样。各地区电力管理部门,为了节约用电、合理配置电能、减少抄表工作量、解决电费回收率不高等问题,相关研究人员提出一种预付费计量系统来作为一个较好的解决方案,并且这种预付费计量系统在世界各地也得到了广泛应用,且已经成功运行多年。在国际上,以南非ESKOM电力局为主要组织者的STS协会发布的标准传输规范(以下简称STS)得到广泛应用,使得STS已经成为目前全球唯一的开放式预付费系统标准。并且,基于STS的预付费电能表和售电设备,它们彼此之间是可以相互兼容的,同时还可以允许在一个预付费系统安装的不同制造商的预付费表和售电设备互通互用。STS具备一套完整的安全体系,可以保证了购电过程的安全可靠。通常情况下,在使用STS表计时时,用户在用电前于售电中心获取一个由20个字符组成的充值码,也称token;之后再通过表上数字键盘或分离式CIU往表中输入token来实现用户对电量(或电费)的充值。在STS标准协议中规定,与token码对应的明文数据是一组66位的二进制数,主要包含了类号、子类号、随机数、token标识(TID)、购电量以及CRC校验。其中,类号(class)、子类号(subclass)用于区分用途;随机数(RND)、TID保证了token的唯一性和实效性,并且避免了同一token的重复使用;CRC校验则保证了数据的准确和完整。其具体的定义格式如附图1所示。目前,STS规定了两种充值token,即充电和充钱,其具体的格式如附图2所示。针对电量充值Amount如附图3所示。具体的计算方式如下,令完整的金额充值码由指数e和系数m组成,则有如下:当e=0时,Amount=10e×m;当e>0时,其中,电能量的单位是kWh、量纲为-1;水量单位是立方体(cubic)、量纲为-1;气量单位是立方体(cubic)、量纲为-1;时间单位是min、量纲为-1。针对货币充值Amount如附图4所示。具体的计算方式如下,令完整的金额充值码由符号S、指数e和系数m组成,则有如下:当S=0时,Amount为正数;当S=1时,Amount为负数;e=(1×e0)+(2×e1)+(4×e2)+(8×e3)+(16×e4)当e=0时,Amount=10e×m当e>0时,最小单位为10-5。综上所述,由于Amount采用上述格式进行数据传输,故在传输过程中会存在一定的误差,但不管是用电充值还是金额充值,其做大误差均不超过0.055%。其具体的误差如附图5所示。因此,在用户充值超过16383数值时会引起充值误差,这给用户和售电方带来困扰及利益冲突。
技术实现思路
本专利技术针对现有技术中的不足,提供一种STS的token充值误差解决方法,所述STS的token充值误差解决方法包括以下步骤:输入充值数值NC;判断充值数值NC与第一区间值N0的大小关系;当判断结果为充值数值NC≤第一区间值N0时,直接生成充值token,流程结束;当判断结果为充值数值NC>第一区间值N0时,自动分解充值数值NC为两部分,一部分生成充值token,且所述充值token的计算值Nf为所述充值数值NC的实际充入值,另一部分为剩余误差值,流程结束。可选地,当判断结果为充值数值NC>第一区间值N0时,再判断账户是否关联虚拟账户;当判断结果为账户是关联虚拟账户时,生成n个充值token与一个剩余误差值,所述剩余误差值存入虚拟账户中待启用,流程结束;当判断结果为账户不是关联虚拟账户时,生成n+1个充值token,流程结束;将充值数值NC除以第一区间值N0得到的值再取整数,所述整数即为所述n的值。可选地,当判断结果为账户是关联虚拟账户时,所述的STS的token充值误差解决方法还包括判断区间下限值Nmin、区间上限值Nmax与第一误差值的大小关系;所述区间下限值Nmin的数值大小为第一区间值N0的数值,所述区间上限值Nmax的数值大小为N5*0.055%的数值,所述N5*0.055%为最大区间值N5乘以最大误差0.055%的数值,所述第一误差值为NC1;当第一误差值NC1≤下限值Nmin时,所述充值数值NC一共生成一个充值token和一个剩余误差值,此时所述充值token计算值为所述充值数值NC的实际充入值,所述充值数值NC的实际充入值的数值大小为第一区间值N0的数值,所述剩余误差值的数值为所述第一误差值NC1的数值,所述剩余误差值存入虚拟账户中待启用;当下限值Nmin<第一误差值NC1≤上限值Nmax时,所述充值数值NC一共生成n个充值token和一个剩余误差值,此时所述n个充值token计算值总和为所述充值数值NC的实际充入值,每一个充值token计算值的数值大小均为第一区间值N0的数值,所述充值数值NC的实际充入值的数值大小为n个第一区间值N0的数值总和,所述充值数值NC减去n个第一区间值N0数值之和而得到的结果为所述剩余误差值的数值,所述剩余误差值存入虚拟账户中待启用。可选地,当判断结果为账户不是关联虚拟账户时,所述的STS的token充值误差解决方法还包括判断区间下限值Nmin、区间上限值Nmax与第一误差值的大小关系;所述区间下限值Nmin的数值大小为第一区间值N0的数值,所述区间上限值Nmax的数值大小为N5*0.055%的数值,所述N5*0.055%为最大区间值N5乘以最大误差0.055%的数值,所述第一误差值为NC1;当第一误差值NC1≤下限值Nmin时,所述充值数值NC一共生成一个充值token和一个剩余误差值充值token,此时所述一个充值token计算值和所述一个剩余误差值充值token计算值的总和为所述充值数值NC的实际充入值;当下限值Nmin<第一误差值NC1≤上限值Nmax时,所述充值数值NC一共生成n个充值token和一个剩余误差值充值token,此时所述n个充值token计算值以及所述剩余误差值充值token计算值的总和为所述充值数值NC的实际充入值,所述n个充值token中的每一个充值token计算值的数值大小均为第一区间值N0的数值,所述充值数值NC的实际充入值的数值大小为n个第一区间值N0的数值总和加上所述剩余误差值充值token计算值;可选地,所述的STS的token充值误差解决方法还包括:当充值数值NC>最大区间值N5时,对数值大小为最大区间值N5的充值数值进行如下操作:输入最大区间值N5;判断得到最大区间值N5>第一区间值N0;判断账户是否关联虚拟账户的操作,若是,则生成n个充值token与一个剩余误差值,所述剩余误差值存入虚拟账户中待启用,流程结束,若不是,则生成n+1个充值toke本文档来自技高网
...

【技术保护点】
1.一种STS的token充值误差解决方法,其特征在于:所述STS的token充值误差解决方法包括以下步骤:/n输入充值数值NC;/n判断充值数值NC与第一区间值N0的大小关系;/n当判断结果为充值数值NC≤第一区间值N0时,直接生成充值token,流程结束;/n当判断结果为充值数值NC>第一区间值N0时,自动分解充值数值NC为两部分,一部分生成充值token,且所述充值token的计算值Nf为所述充值数值NC的实际充入值,另一部分为剩余误差值,流程结束。/n

【技术特征摘要】
1.一种STS的token充值误差解决方法,其特征在于:所述STS的token充值误差解决方法包括以下步骤:
输入充值数值NC;
判断充值数值NC与第一区间值N0的大小关系;
当判断结果为充值数值NC≤第一区间值N0时,直接生成充值token,流程结束;
当判断结果为充值数值NC>第一区间值N0时,自动分解充值数值NC为两部分,一部分生成充值token,且所述充值token的计算值Nf为所述充值数值NC的实际充入值,另一部分为剩余误差值,流程结束。


2.根据权利要求1所述的STS的token充值误差解决方法,其特征在于:
当判断结果为充值数值NC>第一区间值N0时,再判断账户是否关联虚拟账户;
当判断结果为账户是关联虚拟账户时,生成n个充值token与一个剩余误差值,所述剩余误差值存入虚拟账户中待启用,流程结束;
当判断结果为账户不是关联虚拟账户时,生成n+1个充值token,流程结束;
将充值数值NC除以第一区间值N0得到的值再取整数,所述整数即为所述n的值。


3.根据权利要求2所述的STS的token充值误差解决方法,其特征在于:
当判断结果为账户是关联虚拟账户时,所述的STS的token充值误差解决方法还包括判断区间下限值Nmin、区间上限值Nmax与第一误差值的大小关系;
所述区间下限值Nmin的数值大小为第一区间值N0的数值,所述区间上限值Nmax的数值大小为N5*0.055%的数值,所述N5*0.055%为最大区间值N5乘以最大误差0.055%的数值,所述第一误差值为NC1;
当第一误差值NC1≤下限值Nmin时,所述充值数值NC一共生成一个充值token和一个剩余误差值,此时所述充值token计算值为所述充值数值NC的实际充入值,所述充值数值NC的实际充入值的数值大小为第一区间值N0的数值,所述剩余误差值的数值为所述第一误差值NC1的数值,所述剩余误差值存入虚拟账户中待启用;
当下限值Nmin<第一误差值NC1≤上限值Nmax时,所述充值数值NC一共生成n个充值token和一个剩余误差值,此时所述n个充值token计算值总和为所述充值数值NC的实际充入值,每一个充值token计算值的数值大小均为第一区间值N0的数值,所述充值数值NC的实际充入值的数值大小为n个第一区间值N0的数值总和,所述充值数值NC减去n个第一区间值N0数值之和而得到的结果为所述剩余误差值的数值,所述剩余误差值存入虚拟账户中待启用。


4.根据权利要求3所述的STS的token充值误差解决方法,其特征在于:
当判断结果为账户不是关联虚拟账户时,所述的STS的token充值误差解决方法还包括判断区间下限值Nmin、区间上限值Nmax与第一误差值的大小关系;
所述区间下限值Nmin的数值大小为第一区间值N0的数值,所述区间上限值Nmax的数值大小为N5*0.055%的数值,所述N5*0.055%为最大区间值N5乘以最大误差0.055%的数值,所述第一误差值为NC1;
当第一误差值NC1≤下限值Nmin时,所述充值数值NC一共生成一个充值token和一个剩余误差值充值token,此时所述一个充值token计算值和所述一个剩余误差值充值token计算值的总和为所述充值数值NC的实际充入值;
当下限值Nmin<第一误差值NC1≤上限值Nmax时,所述充值数值NC一共生成n个充值token和一个剩余误差值充值token,此时所述n个充值token计算值以及所述剩余误差值充值token计算值的总和为所述充值数值NC的实际充入值,所述n个充值token中的每一个充值token计算值的数值大小均为第一区间值N0的数值,所述充值数值NC的实际充入值的数值大小为n个第一区间值N0的数值总和加上所述剩余误差值充值token计算值。


5.根据权利要求1-4所述的STS的token充值误差解决方法,其特征在于:
所述的STS的token充值误差解决方法还包括:
当充值数值NC>最大区间值N5时,对数值大小为最大区间值N5的充值数值进行如下操作:输入最大区间值N5;判断得到最大区间值N5>第一区间值N0;判断账户是否关联虚拟账户的操作,若是,则生成n个充值token与一个剩余误差值,所述剩余误差值存入虚拟账户中待启用,流程结束,若不是,则生成n+1个充值token,流程结束;
对超过最大区间值N5部分的补充充值数值,单独进行如下操作:输入补充充值数值;判断补充充值数值与第一区间值N0的大小关系操作,若判断结果为充值数值NC≤第一区间值N0,直接生成充值token,流程结束,若判断结果为充值数值NC>第一区间值N0,判断账户是否关联虚拟账户的操作,若是,则生成n个充值token与一个剩余误差值,所述剩余误差值存入虚拟账户中待启用,流程结束,若不是,则生成n+1个充值token,流程结束;
所述补充充值数值的数值大小为充值数值NC减去最大区间值N5而得到的数值。


6.根据权利要求1所述的...

【专利技术属性】
技术研发人员:周敏郭宇轩郭姗姗姚青李双全朱程鹏
申请(专利权)人:杭州海兴电力科技股份有限公司宁波恒力达科技有限公司南京海兴电网技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1