CN108156256B - 一种基于云服务器组的消息实时推送方法及系统 - Google Patents
一种基于云服务器组的消息实时推送方法及系统 Download PDFInfo
- Publication number
- CN108156256B CN108156256B CN201810039073.XA CN201810039073A CN108156256B CN 108156256 B CN108156256 B CN 108156256B CN 201810039073 A CN201810039073 A CN 201810039073A CN 108156256 B CN108156256 B CN 108156256B
- Authority
- CN
- China
- Prior art keywords
- server group
- message
- order
- receiving terminal
- cloud server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供了一种基于云服务器组的消息实时推送方法及系统,其中,一种基于云服务器组的消息实时推送方法,云服务器组从服务器组获取移动终端的订单数目,按照接收时间戳顺序将订单数目信息组织成消息队列,按照所述消息队列通过订单生成器将消息队列与授权码进行封装生成订单,并生成订单日志;设置一个消息器,提取所述生成订单和订单日志;设置一个分类器,按照授权码将生成订单进行分类;设置一个消息推送器,将进行分类的生成订单消息进行推送。本发明还提供了一种系统,应用于上述的方法,方便构建多用户、多角色、超高并发的消息实时推送系统。
Description
技术领域
本发明涉及一种通信技术,具体地涉及一种基于云服务器组的消息实时推送方法及系统。
背景技术
现在,互联网已经成为人们购物和企业销售商品的一种重要途径,提供网上商品销售服务的网站也非常的多。电子商务经过十多年高速发展,已经成为国民经济重要的组成部分,目前电子商务的市场机会主要集中在垂直电子商务、区域性电子商务、传统中小企业电商化等,但所有现有商家、潜在商家发展电子商务都普遍存在以下问题制约着商家快速发展:1)对第三方平台的依赖度过高;2)跨平台开店冗余性强、成本高、数据维护烦;3)面对烦多的平台提供的增值服务性系统难选择,系统间难交互;4)系统整体的信息化程度低,很多分析与操作仍需手工实现;5)并没有一种销售平台实现市场商户自营和代运营相互结合。而往往商家因为自身原因,很难对销售消息进行管理和实时监管。6)而且现有电商平台并没有实现PC网站、微网站、APP、移动终端网站的四网结合,现有电商平台所针对的网络和设备比较单一,没法满足现在商家的需求。7)由于数据过大,对于数据的处理变得至关重要,没有一种平台是基于云计算来实现电商服务平台的。
因此,希望能够减少服务层的负载,提高数据处理的速度和信息交互的实时性,达到更好的商家和客户的体验效果。所以亟需一种全新的消息实时推送去解决上述问题。
发明内容
有鉴于此,本发明的主要目的是提供一种基于云服务器组的消息实时推送方法及系统。
本发明采用的技术方案是:
一种基于云服务器组的消息实时推送方法,包括
设置一组服务器组,以及至少设置一个接收终端,所述接收终端用于获取用户的订单数目;
设置一组单向密钥,以及一个单一ID地址的授权码,用以匹配服务器组和接收终端的连接;
设置一个计时器,与单向密钥组合以便设置一个单向密钥的期限T1,
设置一个查询器,与计时器组合实时查询期限T1的有效性,对于不在期限T1内的单向密钥,服务器组给予删除或者重新授权;
设置一组连接密钥,匹配服务器组与云服务器组的双向连接;
云服务器组从服务器组获取移动终端的订单数目,
按照接收时间戳顺序将订单数目信息组织成消息队列,
按照所述消息队列通过订单生成器将消息队列与授权码进行封装生成订单,并生成订单日志;
设置一个消息器,提取所述生成订单和订单日志;
在消息器内设置一个监测模块,所述监测模块用于实时监测生成订单从接收终端、查询器的变动状况,
以及设置一个修改器,对所述监测模块监测变动的生成订单进行修改,修改后由订单生成器更新生成订单,并更新订单日志;
设置一个分类器,按照授权码将生成订单进行分类;
设置一个消息推送器,将进行分类的生成订单消息进行推送,
设置一个接口调理器,对推送的生成订单消息进行识别,识别生成订单消息的分类,按照分类将生成订单消息推送至接收终端。
优选的,所述服务器组和接收终端进行匹配的方法如下:接收终端向服务器组发出连接指令,所述服务器组对连接指令进行识别,获取连接指令附带的接收终端信息,对所述接收终端信息进行核实是否在服务器组列表中,如果在服务器列表中,发送单向密钥至接收终端,接收终端收到单向密钥后进行密钥匹配,匹配完毕后建立通信,向服务器组再次发起通信指令,服务器组识别通信指令,向接收终端发送授权码,接收终端收到授权码后进行授权匹配;如果不在服务器列表中,则推送至黑名单。
优选的,所述服务器组和接收终端重新授权的方法如下:通过查询器与计时器组合实时查询期限T1的有效性,若在有效期内,不做任何动作,若不在有效期内,查询器与计时器组合实时查询接收终端信息在服务器组列表中的状态,获取是否延期的状态码,若获取到状态码,向接收终端发送新授权码,接收终端收到新授权码后进行授权匹配;若未获取到状态码,则从服务器组列表中删除,并备份该接收终端信息。
本发明提供了一种基于云服务器组的消息实时推送系统,包括
一组服务器组,以及至少一个接收终端,所述接收终端用于获取用户的订单数目;
所述服务器组内设置有至少一组一组单向密钥和与单向密钥匹配的单一ID地址的授权码,用以匹配服务器组和接收终端的连接;以及
所述服务器组内还设置有计时器和查询器,
所述计时器,与单向密钥组合以便设置一个单向密钥的期限T1
所述查询器,与计时器组合实时查询期限T1的有效性,对于不在期限T1内的单向密钥,服务器组给予删除或者重新授权;
一云服务器组,该云服务器组内设置有一组连接密钥,匹配服务器组与云服务器组的双向连接;所述云服务器组从服务器组获取移动终端的订单数目,按照接收时间戳顺序将订单数目信息组织成消息队列;以及
所述云服务器组内还设置有订单生成器、消息器、封装器、修改器、分类器以及接口调理器;
所述将消息队列与授权码通过封装器进行封装后由订单生成器生成订单,并生成订单日志,所述消息器提取所述生成订单和订单日志;
所述修改器对变动的生成订单进行修改,修改后由订单生成器更新生成订单,并更新订单日志;
所述分类器按照授权码将生成订单进行分类;
所述消息推送器将进行分类的生成订单消息进行推送,
所述接口调理器对推送的生成订单消息进行识别,识别生成订单消息的分类,按照分类将生成订单消息推送至接收终端。
优选的,所述授权码包括按照接收终端信息设置的终端特征码,用于唯一匹配接收终端。
优选的,所述消息队列与终端特征码通过封装器进行封装。
优选的,所述接口调理器内设置有处理器和多个接口模块。
优选的,所述处理器对生成订单消息进行识别并按照终端特征码进行分类,将分类后的生成订单消息与终端特征码进行封装形成通信消息,将封装后的通信消息由接口模块分发至各匹配的接收终端。
优选的,所述处理器内设置有处理器封装模块,该处理器封装模块用于将分类后的生成订单消息与终端特征码进行封装形成通信消息。
本发明具有以下优点:基于全网唯一对象ID,将消息按时间顺序组织成消息队列;基于云服务器组强大的实时通信能力,将队列消息推送到下流行的多种接收终端(如:微信公众号、支付宝生活号、手机短信、邮件等);系统处理引擎全面跟踪消息从生成到销毁的整个生命周期,生成必要的日志信息;方便构建多用户、多角色、超高并发的消息实时推送系统。
附图说明
图1为本发明的流程图;
图2为本发明中服务器组和接收终端进行匹配的方法流程图;
图3为本发明中服务器组和接收终端重新授权的方法流程图。
具体实施方式
下面将结合附图以及具体实施例来详细说明本发明,在此本发明的示意性实施例以及说明用来解释本发明,但并不作为对本发明的限定。
参照图1至3,本发明公开了一种基于云计算的实时通信方法及系统。
本发明采用的技术方案是:
本发明提供了本发明提供了一种基于云服务器组的消息实时推送系统,包括
一组服务器组,以及至少一个接收终端,所述接收终端用于获取用户的订单数目;
所述服务器组内设置有至少一组一组单向密钥和与单向密钥匹配的单一ID地址的授权码,用以匹配服务器组和接收终端的连接;以及
所述服务器组内还设置有计时器和查询器,
所述计时器,与单向密钥组合以便设置一个单向密钥的期限T1
所述查询器,与计时器组合实时查询期限T1的有效性,对于不在期限T1内的单向密钥,服务器组给予删除或者重新授权;
一云服务器组,该云服务器组内设置有一组连接密钥,匹配服务器组与云服务器组的双向连接;所述云服务器组从服务器组获取移动终端的订单数目,按照接收时间戳顺序将订单数目信息组织成消息队列;以及
所述云服务器组内还设置有订单生成器、消息器、封装器、修改器、分类器以及接口调理器;
所述将消息队列与授权码通过封装器进行封装后由订单生成器生成订单,并生成订单日志,所述消息器提取所述生成订单和订单日志;
所述修改器对变动的生成订单进行修改,修改后由订单生成器更新生成订单,并更新订单日志;
所述分类器按照授权码将生成订单进行分类;
所述消息推送器将进行分类的生成订单消息进行推送,
所述接口调理器对推送的生成订单消息进行识别,识别生成订单消息的分类,按照分类将生成订单消息推送至接收终端。
所述授权码包括按照接收终端信息设置的终端特征码,用于唯一匹配接收终端。
所述消息队列与终端特征码通过封装器进行封装。
所述接口调理器内设置有处理器和多个接口模块。
所述处理器对生成订单消息进行识别并按照终端特征码进行分类,将分类后的生成订单消息与终端特征码进行封装形成通信消息,将封装后的通信消息由接口模块分发至各匹配的接收终端。
所述处理器内设置有处理器封装模块,该处理器封装模块用于将分类后的生成订单消息与终端特征码进行封装形成通信消息。
参照图1,图1为本发明基于云服务器组的消息实时推送的流程图。
第一步:设置一组服务器组,以及至少设置一个接收终端,所述接收终端用于获取用户的订单数目;
第二步:设置一组连接密钥,匹配服务器组与云服务器组的双向连接;
第三步:云服务器组从服务器组获取移动终端的订单数目,
第四步:按照接收时间戳顺序将订单数目信息组织成消息队列,
第五步:按照所述消息队列通过订单生成器将消息队列与授权码进行封装生成订单,并生成订单日志;
第六步:设置一个消息器,提取所述生成订单和订单日志;
第七步:设置一个分类器,按照授权码将生成订单进行分类;
第八步:设置一个消息推送器,将进行分类的生成订单消息进行推送,具体为:设置一个接口调理器,对推送的生成订单消息进行识别,识别生成订单消息的分类,按照分类将生成订单消息推送至接收终端。
参照图2:图2为本发明中服务器组和接收终端进行匹配的方法流程图;
S1:设置一组服务器组,以及至少设置一个接收终端,所述接收终端用于获取用户的订单数目;
S2:设置一组单向密钥,以及一个单一ID地址的授权码,用以匹配服务器组和接收终端的连接;
S3:设置一个计时器,与单向密钥组合以便设置一个单向密钥的期限T1,
S4:设置一个查询器,与计时器组合实时查询期限T1的有效性,对于不在期限T1内的单向密钥,服务器组给予删除或者重新授权;其具体的步骤为:通过查询器与计时器组合实时查询期限T1的有效性,若在有效期内,不做任何动作,若不在有效期内,查询器与计时器组合实时查询接收终端信息在服务器组列表中的状态,获取是否延期的状态码,若获取到状态码,向接收终端发送新授权码,接收终端收到新授权码后进行授权匹配;若未获取到状态码,则从服务器组列表中删除,并备份该接收终端信息。
参照图3:图3为本发明中服务器组和接收终端重新授权的方法流程图。
A1:接收终端向服务器组发出连接指令,
A2:所述服务器组对连接指令进行识别,获取连接指令附带的接收终端信息,对所述接收终端信息进行核实是否在服务器组列表中,
A3:如果在服务器列表中,发送单向密钥至接收终端,接收终端收到单向密钥后进行密钥匹配,匹配完毕后建立通信,向服务器组再次发起通信指令,服务器组识别通信指令,向接收终端发送授权码,接收终端收到授权码后进行授权匹配;如果不在服务器列表中,则推送至黑名单。
以上对本发明实施例所公开的技术方案进行了详细介绍,本文中应用了具体实施例对本发明实施例的原理以及实施方式进行了阐述,以上实施例的说明只适用于帮助理解本发明实施例的原理;同时,对于本领域的一般技术人员,依据本发明实施例,在具体实施方式以及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种基于云服务器组的消息实时推送方法,其特征在于,包括
设置一组服务器组,以及至少设置一个接收终端,所述接收终端用于获取用户的订单数目;
设置一组单向密钥,以及一个单一ID地址的授权码,用以匹配服务器组和接收终端的连接;
设置一个计时器,与单向密钥组合以便设置一个单向密钥的期限T1,
设置一个查询器,与计时器组合实时查询期限T1的有效性,对于不在期限T1内的单向密钥,服务器组给予删除或者重新授权;
设置一组连接密钥,匹配服务器组与云服务器组的双向连接;
云服务器组从服务器组获取移动终端的订单数目,
按照接收时间戳顺序将订单数目信息组织成消息队列,
按照所述消息队列通过订单生成器将消息队列与授权码进行封装生成订单,并生成订单日志;
设置一个消息器,提取所述生成订单和订单日志;
在消息器内设置一个监测模块,所述监测模块用于实时监测生成订单从接收终端、查询器的变动状况,
以及设置一个修改器,对所述监测模块监测变动的生成订单进行修改,修改后由订单生成器更新生成订单,并更新订单日志;
设置一个分类器,按照授权码将生成订单进行分类;
设置一个消息推送器,将进行分类的生成订单消息进行推送,
设置一个接口调理器,对推送的生成订单消息进行识别,识别生成订单消息的分类,按照分类将生成订单消息推送至接收终端。
2.根据权利要求1所述的基于云服务器组的消息实时推送方法,其特征在于,所述服务器组和接收终端进行匹配的方法如下:接收终端向服务器组发出连接指令,所述服务器组对连接指令进行识别,获取连接指令附带的接收终端信息,对所述接收终端信息进行核实是否在服务器组列表中,如果在服务器组列表中,发送单向密钥至接收终端,接收终端收到单向密钥后进行密钥匹配,匹配完毕后建立通信,向服务器组再次发起通信指令,服务器组识别通信指令,向接收终端发送授权码,接收终端收到授权码后进行授权匹配;如果不在服务器组列表中,则推送至黑名单。
3.根据权利要求1所述的基于云服务器组的消息实时推送方法,其特征在于,所述服务器组和接收终端重新授权的方法如下:通过查询器与计时器组合实时查询期限T1的有效性,若在有效期内,不做任何动作,若不在有效期内,查询器与计时器组合实时查询接收终端信息在服务器组列表中的状态,获取是否延期的状态码,若获取到状态码,向接收终端发送新授权码,接收终端收到新授权码后进行授权匹配;若未获取到状态码,则从服务器组列表中删除,并备份该接收终端信息。
4.一种基于云服务器组的消息实时推送系统,其特征在于,包括一组服务器组,以及至少一个接收终端,所述接收终端用于获取用户的订单数目;
所述服务器组内设置有至少一组单向密钥和与单向密钥匹配的单一ID地址的授权码,用以匹配服务器组和接收终端的连接;以及
所述服务器组内还设置有计时器和查询器,
所述计时器,与单向密钥组合以便设置一个单向密钥的期限T1,所述查询器与计时器组合实时查询期限T1的有效性,对于不在期限T1内的单向密钥,服务器组给予删除或者重新授权;
一云服务器组,该云服务器组内设置有一组连接密钥,匹配服务器组与云服务器组的双向连接;所述云服务器组从服务器组获取移动终端的订单数目,按照接收时间戳顺序将订单数目信息组织成消息队列;以及
所述云服务器组内还设置有订单生成器、消息器、封装器、修改器、分类器以及接口调理器;
将所述消息队列与所述授权码通过封装器进行封装后由订单生成器生成订单,并生成订单日志,所述消息器提取所述生成订单和订单日志;
所述修改器对变动的生成订单进行修改,修改后由订单生成器更新生成订单,并更新订单日志;
所述分类器按照授权码将生成订单进行分类;
消息推送器将进行分类的生成订单消息进行推送,
所述接口调理器对推送的生成订单消息进行识别,识别生成订单消息的分类,按照分类将生成订单消息推送至接收终端。
5.根据权利要求4所述的基于云服务器组的消息实时推送系统,其特征在于,所述授权码包括按照接收终端信息设置的终端特征码,用于唯一匹配接收终端。
6.根据权利要求5所述的基于云服务器组的消息实时推送系统,其特征在于,所述消息队列与终端特征码通过封装器进行封装。
7.根据权利要求4所述的基于云服务器组的消息实时推送系统,其特征在于,所述接口调理器内设置有处理器和多个接口模块。
8.根据权利要求7所述的基于云服务器组的消息实时推送系统,其特征在于,所述处理器对生成订单消息进行识别并按照终端特征码进行分类,将分类后的生成订单消息与终端特征码进行封装形成通信消息,将封装后的通信消息由接口模块分发至各匹配的接收终端。
9.根据权利要求8所述的基于云服务器组的消息实时推送系统,其特征在于,所述处理器内设置有处理器封装模块,该处理器封装模块用于将分类后的生成订单消息与终端特征码进行封装形成通信消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810039073.XA CN108156256B (zh) | 2018-01-16 | 2018-01-16 | 一种基于云服务器组的消息实时推送方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810039073.XA CN108156256B (zh) | 2018-01-16 | 2018-01-16 | 一种基于云服务器组的消息实时推送方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108156256A CN108156256A (zh) | 2018-06-12 |
CN108156256B true CN108156256B (zh) | 2020-12-08 |
Family
ID=62461452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810039073.XA Expired - Fee Related CN108156256B (zh) | 2018-01-16 | 2018-01-16 | 一种基于云服务器组的消息实时推送方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108156256B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110035120A (zh) * | 2019-03-29 | 2019-07-19 | 惠州Tcl移动通信有限公司 | 消息推送方法、装置、电子设备及存储介质 |
CN118037399A (zh) * | 2023-08-11 | 2024-05-14 | 深圳美云集网络科技有限责任公司 | 一种基于通知信息的订单信息生成方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103745352A (zh) * | 2013-12-30 | 2014-04-23 | 北京中科金财电子商务有限公司 | Wap商户移动平台调用支付插件进行下单的方法 |
EP2913982A1 (en) * | 2014-02-28 | 2015-09-02 | AOL, Inc. | Systems and methods for optimizing message notification timing based on electronic content consumption associated with a geographic location |
CN107004190A (zh) * | 2014-10-10 | 2017-08-01 | 加拿大皇家银行 | 用于处理电子交易的系统 |
CN107230121A (zh) * | 2016-03-25 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 交易处理方法、装置及服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120233315A1 (en) * | 2011-03-11 | 2012-09-13 | Hoffman Jason A | Systems and methods for sizing resources in a cloud-based environment |
US9917912B2 (en) * | 2015-10-05 | 2018-03-13 | Vmware, Inc. | Efficient communication within hybrid cloud system |
-
2018
- 2018-01-16 CN CN201810039073.XA patent/CN108156256B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103745352A (zh) * | 2013-12-30 | 2014-04-23 | 北京中科金财电子商务有限公司 | Wap商户移动平台调用支付插件进行下单的方法 |
EP2913982A1 (en) * | 2014-02-28 | 2015-09-02 | AOL, Inc. | Systems and methods for optimizing message notification timing based on electronic content consumption associated with a geographic location |
CN107004190A (zh) * | 2014-10-10 | 2017-08-01 | 加拿大皇家银行 | 用于处理电子交易的系统 |
CN107230121A (zh) * | 2016-03-25 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 交易处理方法、装置及服务器 |
Non-Patent Citations (1)
Title |
---|
基于云计算的中小企业移动电商个性化平台创新研究;楼毅男;《软件导刊》;20160331;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108156256A (zh) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140365305A1 (en) | Providing geospatial-temporal next-best-action decisions | |
US10554762B2 (en) | Mobile event notifications | |
CN104579909B (zh) | 一种用户信息的分类、用户分组信息的获取方法和设备 | |
CN105554001B (zh) | 一种基于加密的通信方法和系统 | |
CN107124281A (zh) | 一种数据保全方法和相关系统 | |
CN108156256B (zh) | 一种基于云服务器组的消息实时推送方法及系统 | |
CN107634947A (zh) | 限制恶意登录或注册的方法和装置 | |
US20220414698A1 (en) | System and methods for using enhanced qr codes in a call to action | |
US9209994B2 (en) | System and method for enhanced application server | |
CN111488372A (zh) | 一种数据处理方法、设备及存储介质 | |
WO2018214301A1 (zh) | 基于微信群的健康管理公众号推广系统及方法 | |
CN108932640B (zh) | 用于处理订单的方法和装置 | |
CN104468330A (zh) | 分布式消息队列系统的数据处理方法和装置 | |
WO2018214303A1 (zh) | 基于关注量及消费次数的健康服务推广评估系统及方法 | |
WO2018214304A1 (zh) | 基于微信群的健康服务推广评估系统及方法 | |
CN114663057A (zh) | 工作流管理系统、方法,以及,电子设备 | |
Akingbesote et al. | Performance modeling of proposed guiset middleware for mobile healthcare services in e‐marketplaces | |
CN106941410B (zh) | 一种虚拟物品的快速展示方法及装置 | |
CN114565443B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
WO2018214300A1 (zh) | 基于微信的健康服务推广分析系统及方法 | |
CN104811529A (zh) | 移动终端或应用按照运动模式进行智能处理的方法 | |
EP4214663A1 (en) | System and method for promoting user engagement | |
CN109257430B (zh) | 基于区块链的互联网应用的系统、方法及服务器 | |
CN110796476A (zh) | 消息管理方法、装置及计算机可读存储介质 | |
CA3157120A1 (en) | System and method for email address selection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201208 Termination date: 20220116 |
|
CF01 | Termination of patent right due to non-payment of annual fee |