CN117041893A - 一种使用云计算技术发送国际短信的方法与系统 - Google Patents

一种使用云计算技术发送国际短信的方法与系统 Download PDF

Info

Publication number
CN117041893A
CN117041893A CN202311303785.5A CN202311303785A CN117041893A CN 117041893 A CN117041893 A CN 117041893A CN 202311303785 A CN202311303785 A CN 202311303785A CN 117041893 A CN117041893 A CN 117041893A
Authority
CN
China
Prior art keywords
short message
international short
sending
international
gateway
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.)
Granted
Application number
CN202311303785.5A
Other languages
English (en)
Other versions
CN117041893B (zh
Inventor
王彪
任燕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangxi Palm Power Network Technology Co ltd
Original Assignee
Jiangxi Palm Power Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangxi Palm Power Network Technology Co ltd filed Critical Jiangxi Palm Power Network Technology Co ltd
Priority to CN202311303785.5A priority Critical patent/CN117041893B/zh
Publication of CN117041893A publication Critical patent/CN117041893A/zh
Application granted granted Critical
Publication of CN117041893B publication Critical patent/CN117041893B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/04Arrangements for maintaining operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/09Management thereof
    • H04W28/0925Management thereof using policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/16Gateway arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种使用云计算技术发送国际短信的方法与系统,具体涉及通信技术和云计算技术领域。本发明提供了一种基于云计算的高并发发送国际短信的系统,系统包括配备负载均衡器的多个国际短信接收网关、一个业务内容管理模块、一个消息队列集群模块、多个国际短信发送网关、一个国际短信网关监测中心;使用云计算技术发送国际短信的系统可以将多个发送请求分配到多台国际短信网关中并行处理,实现了高效、稳定、安全的国际短信发送;该专利适用于各种跨境业务场景,可以大幅提高国际短信发送的效率和质量;此外,本发明能够过滤重复请求、自动重发,提高了发送的准确率和可靠性,降低了投诉率和风险。

Description

一种使用云计算技术发送国际短信的方法与系统
技术领域
本发明涉及移动通信技术领域,尤其涉及一种使用云计算技术发送国际短信的方法与系统。
背景技术
以往在发送国际短信时由于技术限制,需要投入大量的成本去建立可靠的服务器和网络基础设施来处理国际短信传输请求,还需要协商漫游协议、建立数据连接和解决技术差异来实现与不同国家和地区的网络运营商建立合作关系,并且在跨网络发送国际短信时,不但可能面临延迟和故障风险,还有可能由于黑客的攻击而被窃取国际短信中的主要信息。而在融入云计算技术后,可以利用云计算平台提供的各种服务,以成本更低、速度更快、安全度更高的特性实现国际短信发送功能。
实现弹性扩展、节约成本、全球覆盖、高可靠性、简化管理和安全性隐私保护是实现发送国际短信技术的几大难点,而云计算技术给这些难题提供了一个非常好的解题选择,云计算平台通过拥有动态调整资源、按需使用资源、掌握全国分布的数据中心、高可用性和容灾机制、统一管理界面与工具和多层次的安全措施这些特点,使得以上难点都能得以解决。
云计算是基于大规模的分布式计算和虚拟化技术,通过将计算和存储资源集中管理并提供给用户使用,云计算通过虚拟化、分布式计算、弹性扩展、虚拟化存储、网络通信、自动化管理这些功能为用户提供了灵活、可靠、高效的计算、存储和服务能力。
发明内容
本发明所要解决的一个问题是:
在发送国际短信系统中融入云计算技术,以更低成本更高效率为目的完成国际短信的高效、稳定、安全发送。
如图4所示,一种使用云计算发送国际短信的方法包括以下步骤:
S1:负载均衡器接收用户发送国际短信的请求,并分配发送请求到不同的短信接收网关;
S2:国际短信接收网关在接收到国际短信发送请求后,将发送任务推送至消息队列集群;
S3:消息队列集群模块根据各队列节点所在服务器的资源使用情况,自动存储发送任务至各队列节点服务器物理磁盘中;
S4:业务内容管理模块实时监测消息队列集群中是否有国际短信发送任务,若消息队列集群中存在待消费任务,则使用内容、黑白名单过滤规则消费该任务。将处理结果重新推送至消息队列集群,生成新的国际短信发送网关待发送任务;
S5:国际短信网关监测中心实时监测各短信网关的物理磁盘、CPU、内存使用效率并对系统硬件的各项资源设立预警阈值,主要监控服务的请求耗时、启停状态、所用物理资源情况信息,在发现异常后向管理人员发送告警短信和告警邮件。并且会定期将更新后的密钥发送给国际短信发送网关与国家代理商;
S6:国际短信发送网关实时监控消息队列集群是否有待发送网关消费任务,若有新的待发送网关消费任务存在,使用自身的发送功能消费此任务;
S7:国家代理商在接收到国际短信后,将国际短信发送给国家用户终端;
如图1所示,一种使用云计算技术发送国际短信的系统采用的技术方案如下:
云计算技术发送国际短信的系统配备一个负载均衡器,用于分配发送请求到不同的国际短信接收网关,负载均衡器使用nginx实现,在nginx的配置文件中添加国际短信接收网关的服务器信息,同时添加负载均衡配置信息;
国际短信接收模块包括多个国际短信接收网关1、国际短信接收网关2、国际短信接收网关3,国际短信发送模块包括多个国际短信发送网关1、国际短信发送网关2、国际短信发送网关3,每个国际短信接收网关可以独立接收国际短信发送请求,并且多个国际短信发送网关可以并行处理同一个国际短信发送请求,每个国际短信发送网关可以独立发送国际短信,每个国际短信发送网关实时监控消息队列集群是否有待发送网关消费任务,若有新的待发送网关消费任务存在,则使用发送网关自身的发送功能消费此任务。
消息队列集群模块接收到国际短信接收网关的国际短信发送请求后,消息队列集群模块根据队列节点所在服务器的资源使用情况,自动存储发送任务至队列节点服务器物理磁盘中。
业务内容管理模块是消息队列集群模块的消费中心,实时监测消息队列集群模块中是否有国际短信发送任务,若消息队列集群模块中存在待消费任务,则使用业务内容管理模块中的内容、黑白名单过滤规则消费该待消费任务,在业务内容管理模块处理完发送任务后,将处理结果重新推送至消息队列集群模块,生成新的国际短信发送网关待发送任务。
国际短信网关监测中心用于管理多个国际短信网关,监控发送进度和反馈收集,监测中心还可以根据不同的策略和规则,对国际短信发送请求进行处理和优化。
国际短信接收网关在接收到国际短信发送请求后,将发送任务推送至消息队列集群模块,消息队列集群模块根据各队列节点所在服务器的资源使用情况,自动存储发送任务至各队列节点服务器物理磁盘中,消息队列集群使用Kafka实现。
虽然Kafka作为消息中间件系统具有高可靠性,但在数据量庞大的情况下也可能产生丢包问题导致信息发送失败,使客户的利益受到侵害,所以此发明中使用Kafka结合消息缓冲与批量发送策略,进一步增强系统的健壮性和容错性,策略具体如下:
1、生产者在发送消息到Kafka之前,先将消息存储到持久化队列中,以确保生产者快速返回并减少对Kafka的依赖,在将消息存储到队列后,生产者可以异步地将消息批量发送到Kafka;
2、生产者每隔一段时间从队列中获取一批消息,然后批量发送到Kafka,以降低Kafka集群处理瞬时高峰负载的压力,提高消息的可靠性;
3、在集群中引入异步发送和回调机制,生产者在发送消息时以非阻塞方式进行发送,并通过回调函数处理发送完成或出错的情况,以避免由于Kafka响应过慢导致的生产者阻塞和重试机制的损失;
4、在生产者端实现监控和重试机制,以对发送失败的消息进行重新发送,确保消息可靠性。
进一步的,上述步骤中系统包括国际短信接收网关1、国际短信接收网关2、国际短信接收网关3,每个国际短信接收网关可以独立接收国际短信发送请求,包括:
每个国际短信接收网关可以独立接收国际短信发送请求,由于每个国际短信接收网关功能相同,在用户发送数量较大或发送数量较少时,可使用负载均衡器提供的策略动态增加或减少国际短信接收网关的数量,以保证每个国际短信接收网关的使用效率最大化的同时兼顾高并发发送量的发送需求,计算国际短信发送的吞吐量T,具体的计算公式为:
其中s表示本次国际短信发送请求的总数量,其中为国际短信发送请求的响应时间,/>=t_end – t_start, t_end为响应结束时间,t_start为响应开始时间,/>表示系统负载延时的平均时间,/>表示为系统当前的网络延时时间,k为比例系数,表示为当前国际短信发送量与系统可负载的最大国际短信发送数量的比值,0≤k≤1,根据k值调整国际短信发送系统的短信请求数量,降低系统的负载程度,获得最大的吞吐量;
当0≤k≤0.8时,不调整国际短信的请求数量;
当k>0.8时,将短信请求存储到持久化队列中,降低系统瞬时处理国际短信的数量。
对于短信接收网关,负载均衡器采用IP Hash搭配Hash环为数据结构的策略,将来自不同IP的发送请求分配至不同的短信接收网关,此时Hash算法采用一致性Hash算法,将作为Hash环的总节点数,均匀的分布在三台网关之间,采用公式作为Hash函数,其中X为国际短信接收网关收到的国际短信数量,动态化管理短信接收网关的数量,避免服务端网关宕机导致用户请求的丢失。
进一步的,上述步骤中提到本发明的系统包括一个业务内容管理模块,此模块作为消息队列集群模块的消费中心,实时监测消息队列集群中是否有国际短信发送任务,包括:
内容安全管理模块、黑白名单过滤、账户余额管理、短信签名管理、频率使用策略。
黑白名单过滤功能可以对特定的内容或者用户进行限制和过滤。用户可以根据需要将某些内容或用户添加到黑名单中,使其在系统中无法访问或被禁止。同样地,管理员也可以将某些内容或用户添加到白名单中,确保其正常接收在系统分发的短信。
频率使用策略功能是为了控制系统中某些操作的频率而设计的。系统会根据设定的策略对用户的操作进行监控和限制,防止恶意操作或者过度使用。
进一步的,上述步骤中国际短信发送系统包括多个国际短信发送网关,每个国际短信发送网关可以独立发送国际短信,包括:
每个短信发送网关可以独立发送国际短信,在执行发送任务时,按目标号码中所携带的运营商代码信息,确定发送目的国家或地区后调用相应国家的通道组,寻找该分组下合适的国际短信服务商,以便获得稳定的短信通道和可靠的短信发送服务。
通过国际短信服务商提供的接口,将用户编写好的短信内容发送到目的国家的手机上,并根据国际短信服务商提供的数据,统计短信的发送结果,以便了解短信的送达情况和效果。
进一步的,上述步骤中系统包括一个国际短信网关监测中心,该监测中心可以管理多个短信网关,并监控发送进度和反馈收集,包括:
国际短信网关监测中心实时监测各短信网关的物理磁盘、CPU、内存使用效率,并对系统硬件的各项资源设立预警阈值,对于超过预警阈值的向管理人员发送告警短信和告警邮件。
国际短信网关监测中心实时监测各短信网关的中所部署服务的运行状态,主要监控服务的请求耗时、启停状态、所用物理资源情况信息,在发现异常后向管理人员发送告警短信和告警邮件。
进一步的,为应对高并发高可用的国际短信发送需求,使用与计算技术中的nginx负载均衡、redis缓存集群、Kafka消息队列集群、elasticsearch搜索引擎、Docker/K8S容器虚拟技术,提升了系统对于海量发送需求的兼容性。
进一步的,上述步骤中短信网关的数量可动态添加或减少,各短信网关采用分布式部署,使得系统可对接各种不同的业务场景,无需关注各场景下的发送任务数量,提升系统的可扩展性。
本申请提供的一种使用云计算技术发送国际短信的方法与系统,通过负载均衡器将国际短信发送请求发送到不同的国际短信接收网关,国际短信接收网关在接收到国际短信发送请求后,将发送任务推送至消息队列集群模块。消息队列集群模块根据队列节点所在服务器的资源使用情况,自动存储发送任务至队列节点服务器物理磁盘中。业务内容管理模块实时监测消息队列集群中是否有国际短信发送任务。若消息队列集群模块中存在待消费任务,则使用业务内容管理模块中的内容、黑白名单过滤规则消费该任务。在业务内容管理模块处理完发送任务后,将处理结果重新推送至消息队列集群模块,生成新的国际短信发送网关待发送任务。监测中心可以管理多个短信网关,并监控发送进度和反馈收集。还可以根据不同的策略和规则,对国际短信发送请求进行处理和优化。每个国际短信发送网关可以独立发送国际短信,并且国际短信发送网关实时监控消息队列集群模块是否有待发送网关消费任务,若有新的待发送网关消费任务存在,则国际短信网关自身的发送功能消费此任务。
本发明的有益效果:传统的国际短信发送方法与系统中,发送国际短信将受到服务器和网络基础设施、网络运营商合作、短信网关和路由管理、字符编码和语言支持以及处理延迟和容错能力这些技术限制。这些限制可能导致发送国际短信变得更加昂贵、复杂和不可靠。而采用云计算技术后,在发送国际短信时可以提高发送效率、降低成本、增强可靠性、全球覆盖以及灵活性与可定制性实际价值。加入云计算技术后的国际短信发送系统能够满足跨国通信的需求,为用户提供便捷、高效和可靠的国际短信服务。
附图说明
图1为本发明的一种使用云计算技术发送国际短信的平台结构示意图;
图2为本发明的一种使用云计算技术发送国际短信的平台系统架构图;
图3为本发明的一种使用云计算技术发送国际短信的流程示意图;
图4为本发明的一种使用云计算技术发送国际短信的方法;
图5为本发明的一种计算机硬件设备图;
图6为本发明使用消息队列Kafka处理国际短信降低系统负载的示意图。
具体实施方式
下面结合说明书附图对本发明进一步清楚完整说明,但本发明的保护范围并不仅限于此。
实施例1:
一种使用云计算技术发送国际短信的方法与系统,其中一种使用云计算技术发送国际短信的方法,如图4所示,具体如下步骤实现:
S1:负载均衡器接收用户发送国际短信的请求,并分配发送请求到不同的国际短信接收网关;
S2:国际短信接收网关在接收到国际短信发送请求后,将发送任务推送至消息队列集群;
S3:消息队列集群模块根据各队列节点所在服务器的资源使用情况,自动存储发送任务至各队列节点服务器物理磁盘中;
S4:业务内容管理模块实时监测消息队列集群中是否有国际短信发送任务,若消息队列集群中存在待消费任务,则使用内容、黑白名单过滤规则消费该任务,将处理结果重新推送至消息队列集群,生成新的国际短信发送网关待发送任务;
S5:国际短信网关监测中心实时监测每个国际短信网关的物理磁盘、CPU、内存使用效率并对系统硬件的各项资源设立预警阈值,主要监控服务的请求耗时、启停状态、所用物理资源情况信息,在发现异常后向管理人员告警短信和告警邮件;
S6:国际短信发送网关实时监控消息队列集群是否有待发送网关消费任务,若有新的待发送网关消费任务存在,使用自身的发送功能消费此任务;
S7:国家代理商在接收到国际短信后,将国际短信发送给国家用户终端。
其中一种使用云计算技术发送国际短信的系统,如图1所示,系统包括:负载均衡服务模块、国际短信接受模块、消息队列集群模块、业务内容管理模块、国际短信发送模块。
负载均衡器用于分配发送请求到不同的国际短信接收网关,负载均衡器使用nginx实现,在nginx的配置文件中添加国际短信接收网关的服务器信息,同时添加负载均衡配置信息。
国际短信接收模块包括多个国际短信接收网关1、国际短信接收网关2、国际短信接收网关3,国际短信发送模块包括多个国际短信发送网关1、国际短信发送网关2、国际短信发送网关3,每个国际短信接收网关可以独立接收国际短信发送请求,并且多个国际短信发送网关可以并行处理同一个国际短信发送请求,每个国际短信发送网关可以独立发送国际短信,每个国际短信发送网关实时监控消息队列集群是否有待发送网关消费任务,若有新的待发送网关消费任务存在,则使用发送网关自身的发送功能消费此任务。
消息队列集群模块接收到国际短信接收网关的国际短信发送请求后,消息队列集群模块根据队列节点所在服务器的资源使用情况,自动存储发送任务至队列节点服务器物理磁盘中。
业务内容管理模块是消息队列集群模块的消费中心,实时监测消息队列集群模块中是否有国际短信发送任务,若消息队列集群模块中存在待消费任务,则使用业务内容管理模块中的内容、黑白名单过滤规则消费该任务,在业务内容管理模块处理完发送任务后,将处理结果重新推送至消息队列集群模块,生成新的国际短信发送网关待发送任务。
国际短信网关监测中心用于管理多个国际短信网关,监控发送进度和反馈收集,监测中心还可以根据不同的策略和规则,对国际短信发送请求进行处理和优化。
国际短信接收网关在接收到国际短信发送请求后,将发送任务推送至消息队列集群模块,消息队列集群模块根据各队列节点所在服务器的资源使用情况,自动存储发送任务至各队列节点服务器物理磁盘中,包括:
消息队列集群模块使用Kafka实现,消息队列接收消息流程如下:
a.producer在发布消息到partition时,只会与该partition的leader发生交互将消息发送给leader;
b.leader会将该消息写入其本地log,每个follower都从leader上pull数据做同步备份;
c.follower在pull到该消息并写入其log后,会向leader发送ack,一旦leader收到了ISR中的所有follower的ack,该消息就被认为已经commit了,leader将增加HW,然后向producer发送ack;
利用消息队列中的分区副本规则,同一个partition可以有多个副本,在多个副本中会选出一个做leader,其余的作为follower,只有leader对外提供读写服务,follower只负责从leader上同步拉取数据,以保障高可用;
队列每个topic有多个partition,每个partition有多个副本,这些partition副本分布在不同的broker上,以保障高可用;
为了提高性能,follower在pull到消息将其保存到内存中而尚未写入磁盘时,就会向leader发送ack;
消息队列处理消息流程如下:
A.partition的leader不断向customer发送请求,直到建立连接;
B.当customer空闲时,向leader发送ack建立连接;
C. leader收到建立连接的ack,传输消息给customer,并由customer接收并处理信息;
D. 若cunstomer的返回信息方式为”手动ack”,则customer处理完毕后,调用发送ack的方法,再次向partition的leader发送ack,告知消息处理完毕;
E. leader收到处理完毕的消息后,向customer回复收到ack,customer接收后,将自身标记为空闲,并向lead发送结束连接ack;
F. leader接收结束连接ack后队列的offset值则自动加1,由于队列是根据offset值来消费信息的,所以在offset值加1后即可表明该消息已经被消费了,且自动消费下一条消息。
如图6所示,为本发明使用消息队列Kafka处理国际短信降低系统负载的示意图,传统消息队列中使用的大多数是RocketMQ,其具有低延时高可靠且易于使用的特点,但其只适合在环境吞吐量不是特别大的情况下使用。考虑到国际短信的信息吞吐量在某些时刻会非常大,此发明中消息队列中使用的Kafka作为消息中间件系统,选择Kafka的优势如下:
1.Kafka能够处理大规模的消息流,通过基于磁盘的持久化机制、批量化写入和消费的方式来实现高效的消息传输和处理操作;
2.Kafka使用分布式复制机制,支持副本和故障恢复以确保数据在发送节点故障时不会丢失,保证消息的可靠性;
3.Kafka采用分布式结构,对比于RocketMQ,在大规模和高吞吐量的场景下其可以更加轻松的通过增加节点来扩展集群的容量和吞吐量,其提供的分区概念可以将负载分布到多个节点上以使用消费者组对负载进行均衡;
4.Kafka的生态系统对比于RocketMQ更加广泛,且社区也更加活跃,提供了更加丰富的工具、库与插件。
此发明中使用Kafka结合消息缓冲与批量发送策略,进一步增强系统的健壮性和容错性,策略具体如下:
1. 生产者在发送消息到Kafka之前,先将消息存储到持久化队列中,以确保生产者快速返回并减少对Kafka的依赖,在将消息存储到队列后,生产者可以异步地将消息批量发送到Kafka;
2.生产者每隔一段时间从队列中获取一批消息,然后批量发送到Kafka,以降低Kafka集群处理瞬时高峰负载的压力,提高消息的可靠性;
3.在集群中引入异步发送和回调机制,生产者在发送消息时以非阻塞方式进行发送,并通过回调函数处理发送完成或出错的情况,以避免由于Kafka响应过慢导致的生产者阻塞和重试机制的损失;
4.在生产者端实现监控和重试机制,以对发送失败的消息进行重新发送,确保消息可靠性。
虽然Kafka作为消息中间件系统具有高可靠性,但在数据量庞大的情况下也可能产生丢包问题导致信息发送失败,使客户的利益受到侵害,所以此发明中使用Kafka结合消息缓冲与批量发送策略,进一步增强系统的健壮性和容错性,策略具体如下:
1. 生产者在发送消息到Kafka之前,先将消息存储到持久化队列中,以确保生产者快速返回并减少对Kafka的依赖,在将消息存储到队列后,生产者可以异步地将消息批量发送到Kafka;
2.生产者每隔一段时间从队列中获取一批消息,然后批量发送到Kafka,以降低Kafka集群处理瞬时高峰负载的压力,提高消息的可靠性;
3.在集群中引入异步发送和回调机制,生产者在发送消息时以非阻塞方式进行发送,并通过回调函数处理发送完成或出错的情况,以避免由于Kafka响应过慢导致的生产者阻塞和重试机制的损失;
4.在生产者端实现监控和重试机制,以对发送失败的消息进行重新发送,确保消息可靠性。
所述步骤中系统包括多个国际短信接收网关1、国际短信接收网关2、国际短信接收网关3,每个国际短信接收网关可以独立接收国际短信发送请求,包括:每个国际短信接收网关可以独立接收国际短信发送请求,由于每个国际短信接收网关功能相同,在用户发送数量较大或发送数量较少时,可使用负载均衡器提供的策略动态增加或减少国际短信接收网关的数量,以保证每个国际短信接收网关的使用效率最大化的同时兼顾高并发发送量的发送需求,计算国际短信发送的吞吐量T,具体的计算公式为:
其中s表示本次国际短信发送请求的总数量,其中为国际短信发送请求的响应时间,/>=t_end – t_start, t_end为响应结束时间,t_start为响应开始时间,/>表示系统负载延时的平均时间,/>表示为系统当前的网络延时时间,k为比例系数,表示为当前国际短信发送量与系统可负载的最大国际短信发送数量的比值,0≤k≤1,根据k值调整国际短信发送系统的国际短信请求数量,降低系统的负载程度,获得最大的吞吐量。
当0≤k≤0.8时,不调整国际短信的请求数量;
当k>0.8时,将国际短信请求存储到持久化队列中,降低系统瞬时处理国际短信的数量。
对于国际短信接收网关,负载均衡器采用IP Hash搭配Hash环为数据结构的策略,将来自不同IP的发送请求分配至不同的国际短信接收网关,此时Hash算法采用一致性Hash算法,将作为Hash环的总节点数,均匀的分布在三台网关之间,采用公式/>作为Hash函数,其中X为国际短信接收网关收到的国际短信数量,动态化管理国际短信接收网关的数量,避免服务端网关宕机导致用户请求的丢失。
传统的负载均衡器通常使用IPHash作为负载均衡策略,而IP Hash中使用的数据结构为Hash表,当集群中新增节点时,使用Hash表进行IP哈希需要花费大量性能重新计算所有的IP哈希,且Hash表在某节点出现故障时无法自动适应节点故障,还需要手动进行配制和迁移。
由于在国际短信发送过程中需要保持高性能,而Hash表在实现国际短信发送的过程中遇见复杂情况仍有不少缺陷,此发明中选择使用Hash环作为IPHash的数据结构。在复杂均衡的过程中,Hash环通过将客户端IP地址哈希映射到环上的节点位置使得相邻的IP地址映射到不同节点上,可以实现更加均衡的分配。而Hash环在添加新节点时只需重新计算部分请求的哈希映射即可将新的请求均匀分配到新增节点上,并不需要像Hash表那样重新计算所有的IP哈希,扩展性更强效率更高。在遇到某个节点故障时,Hash环也会自动调整请求的Hash映射,其负责的请求会被重新分配到其他正常的节点以避免单点故障和服务中断,无需手动进行配置。并且Hash环常常结合一致性哈希算法使用,而一致性哈希算法能够在节点增删时最小化数据迁移以提高扩展性,且能够将较少请求重新映射到新的节点上,而其他请求仍然保持原有的映射关系。
为了验证高并发条件下系统架构的有效性和消息队列的性能,模拟真实场景,选择了具有高并发量的活动进行测试与分析。使用Jmeter测试工具进行性能测试,测试的性能指标包括系统响应时间、并发连接数与吞吐量。系统模拟短信发送请求,向服务器发送请求,测试对象接收短信,Jmeter采集响应数据,形成测试结果如表 1所示。
表1测试实验数据
所述步骤中提到本发明的系统包括一个业务内容管理模块,此模块作为消息队列集群模块的消费中心,实时监测消息队列集群中是否有国际短信发送任务,包括:
内容安全管理模块、黑白名单过滤、账户余额管理、短信签名管理、频率使用策略,支持分布式可扩展的实时搜索和分析。
黑白名单过滤功能可以对特定的内容或者用户进行限制和过滤。用户可以根据需要将某些内容或用户添加到黑名单中,使其在系统中无法访问或被禁止。同样地,管理员也可以将某些内容或用户添加到白名单中,确保其正常接收在系统分发的国际短信。
频率使用策略功能是为了控制系统中某些操作的频率而设计的。系统会根据设定的策略对用户的操作进行监控和限制,防止恶意操作或者过度使用。
所述步骤中系统包括多个国际短信发送网关1、国际短信发送网关2、国际短信发送网关3,每个国际短信发送网关可以独立发送国际短信,包括:
每个国际短信发送网关可以独立发送国际短信,国际短信发送网关提前与各个国家的各个运营商建立通道连接,将各个通道按其国家归属,分别建立不同的通道分组,在执行发送任务时,按目标号码中所携带的运营商代码信息,确定发送目的国家或地区后调用相应国家的通道组,寻找该分组下合适的国际短信服务商,以便获得稳定的国际短信通道和可靠的国际短信发送服务。
通过国际短信服务商提供的接口,将用户编写好的国际短信内容发送到目的国家的手机上,并根据国际短信服务商提供的数据,统计国际短信的发送结果,以便了解国际短信的送达情况和效果。
由于每个国际短信发送网关功能相同,在用户发送数量较大或发送数量较少时,可动态增加或减少国际短信发送网关的数量,以保证每个国际短信发送网关的使用效率最大化,同时兼顾高发送量的发送需求。
所述步骤中系统包括一个国际短信网关监测中心,该监测中心可以管理多个短信网关,并监控发送进度和反馈收集,包括:
国际短信网关监测中心实时监测每个国际短信网关的物理磁盘、CPU、内存使用效率,并对系统硬件的各项资源设立预警阈值,对于超过预警阈值的向管理人员发送告警短信和告警邮件。
国际短信网关监测中心实时监测每个国际短信网关中所部署服务的运行状态,主要监控服务的请求耗时、启停状态、所用物理资源情况信息,在发现异常后向管理人员发送告警短信和告警邮件。
所述步骤中所提到的一种使用云计算技术发送国际短信的系统,系统采用上述的发送国际短信的方法,如图3与图4所示,包括以下步骤:
负载均衡服务模块:使用nginx实现负载均衡,负载均衡器接收用户发送国际短信的请求,并分配发送请求到不同的国际短信接收网关。
国际短信接收模块:系统包括多个国际短信接收网关1、国际短信接收网关2、国际短信接收网关3,每个国际短信接收网关可以独立接收国际短信发送请求,各国际短信接收网关在接收到国际短信发送请求后,将发送任务推送至消息队列集群模块。
消息队列集群模块:消息队列集群模块根据各队列节点所在服务器的资源使用情况,自动存储发送任务至各队列节点服务器物理磁盘中。
业务内容管理模块:业务内容管理模块实时监测消息队列集群中是否有国际短信发送任务,若消息队列集群中存在待消费任务,则使用内容、黑白名单过滤规则消费该任务,之后将处理结果重新推送至消息队列集群,生成新的国际短信发送网关待发送任务。
国际短信发送模块:系统包括多个国际短信发送网关,每个国际短信发送网关可以独立发送国际短信,各国际短信发送网关实时监控消息队列集群是否有待发送网关消费任务,若有新的待发送网关消费任务存在,则使用自身的发送功能消费此任务。
国际短信网关监测中心:实时监测每个国际短信网关的物理磁盘、CPU、内存使用效率并对系统硬件的各项资源设立预警阈值,对于超过预警阈值的向管理人员发送告警短信和告警邮件,以及实现实时监测每个国际短信网关的中所部署服务的运行状态,主要监控服务的请求耗时、启停状态、所用物理资源情况信息,在发现异常后向管理人员发送告警短信和告警邮件。
所述步骤为中应对高并发高可用的国际短信发送需求,使用计算技术中的nginx负载均衡、redis缓存集群、Kafka消息队列集群、elasticsearch搜索引擎、Docker/K8S容器虚拟技术,提升了系统对于海量发送需求的兼容性。
所述步骤中国际短信网关的数量可动态添加或减少,每个国际短信网关采用分布式部署,使得系统可对接各种不同的业务场景,无需关注各场景下的发送任务数量,提升系统的可扩展性。
本申请提供的一种使用云计算技术发送国际短信的方法与系统,通过负载均衡器将国际短信发送请求发送到不同的国际短信接收网关,国际短信接收网关在接收到国际短信发送请求后,将发送任务推送至消息队列集群模块。消息队列集群模块根据各队列节点所在服务器的资源使用情况,自动存储发送任务至各队列节点服务器物理磁盘中。业务内容管理模块实时监测消息队列集群中是否有国际短信发送任务。若消息队列集群中存在待消费任务,则使用业务内容管理模块中的内容、黑白名单过滤规则消费该任务。在业务内容管理模块处理完发送任务后,将处理结果重新推送至消息队列集群,生成新的国际短信发送网关待发送任务。监测中心可以管理多个国际短信网关,并监控发送进度和反馈收集。还可以根据不同的策略和规则,对国际短信发送请求进行处理和优化,并且会定期发送密钥给国际短信发送网关与国家代理商。每个国际短信发送网关可以独立发送国际短信,并且各国际短信发送网关实时监控消息队列集群是否有待发送网关消费任务,若有新的待发送网关消费任务存在,则用发送网关自身的发送功能消费此任务。
本发明建立良好的发送国际短信的系统,再结合适配的云计算技术来完成对资源进行弹性扩展以及对各个国家地区进行覆盖,节省花成本的同时还能对管理流程进行简化,使发送国际短信更加灵活、可靠和高效。
本发明的实施例公布的是较佳的实施例,但并不局限于此,本领域的普通技术人员,极易根据上述实施例,领会本发明的精神,并做出不同的引申和变化,但只要不脱离本发明的精神,都在本发明的保护范围内。

Claims (5)

1.一种使用云计算技术发送国际短信的系统,包括:负载均衡服务模块、国际短信接收模块、消息队列集群模块、业务内容管理模块、国际短信发送模块,其特征在于:
负载均衡器用于分配发送请求到不同的国际短信接收网关,负载均衡器使用nginx实现,在nginx的配置文件中添加国际短信接收网关的服务器信息,同时添加负载均衡配置信息;
国际短信接收模块包括多个国际短信接收网关1、国际短信接收网关2、国际短信接收网关3,每个国际短信接收网关独立接收国际短信发送请求,并且多个国际短信发送网关并行处理同一个国际短信发送请求;
国际短信发送模块包括多个国际短信发送网关1、国际短信发送网关2、国际短信发送网关3,每个国际短信发送网关独立发送国际短信,每个国际短信发送网关实时监控消息队列集群是否有待发送网关消费任务,若有新的待发送网关消费任务存在,则使用发送网关自身的发送功能消费此任务;
消息队列集群模块接收到国际短信发送请求后,消息队列集群模块根据队列节点所在服务器的资源使用情况,自动存储发送任务至队列节点服务器物理磁盘中;
业务内容管理模块是消息队列集群模块的消费中心,实时监测消息队列集群模块中是否有国际短信发送任务,若消息队列集群模块中存在待消费任务,则使用业务内容管理模块中的内容、黑白名单过滤规则消费该待消费任务,在业务内容管理模块处理完发送任务后,将处理结果重新推送至消息队列集群模块,生成新的国际短信发送网关待发送任务;
国际短信网关监测中心用于管理多个国际短信网关,监控发送进度和反馈收集,监测中心根据不同的策略和规则,对国际短信发送请求进行处理和优化。
2.根据权利要求1所述的一种使用云计算技术发送国际短信的系统,其特征在于:系统包括多个国际短信接收网关1、国际短信接收网关2、国际短信接收网关3,每个国际短信接收网关独立接收国际短信发送请求,多个国际短信发送网关1、国际短信发送网关2、国际短信发送网关3,每个国际短信发送网关独立发送国际短信,在执行发送任务时,按目标号码中所携带的运营商代码信息,确定发送目的国家或地区后调用相应国家的通道组,寻找该分组下合适的国际短信服务商,获得稳定的国际短信通道和可靠的国际短信发送服务;
通过国际短信服务商提供的接口,将用户编写好的国际短信内容发送到目的国家的手机上,并根据国际短信服务商提供的数据,统计国际短信的发送结果,计算国际短信发送的吞吐量T,具体的计算公式为:
其中s表示本次国际短信发送请求的总数量,为国际短信发送请求的响应时间,/>=t_end – t_start,t_end为响应结束时间,t_start为响应开始时间,/>表示系统负载延时的平均时间,/>表示为系统当前的网络延时时间,k为比例系数,k表示当前国际短信发送量与系统可负载的最大国际短信发送数量的比值,0≤k≤1,根据k值调整国际短信发送系统的国际短信请求数量,降低系统的负载程度,获得最大的吞吐量;
当0≤k≤0.8时,不调整国际短信的请求数量;
当k>0.8时,将短信请求存储到持久化队列中,降低系统瞬时处理国际短信的数量;
对于国际短信接收网关,负载均衡器采用IP Hash搭配Hash环为数据结构的策略,将来自不同IP的发送请求分配至不同的国际短信接收网关,此时Hash算法采用一致性Hash算法,将作为Hash环的总节点数,均匀的分布在三台网关之间,采用公式/>作为Hash函数,其中X为国际短信接收网关收到的国际短信数量,动态化管理国际短信接收网关的数量。
3.根据权利要求1所述的一种使用云计算技术发送国际短信的系统,其特征在于:本发明的系统包括一个业务内容管理模块作为消息队列集群模块的消费中心,实时监测消息队列集群模块中是否有国际短信发送任务,包括:
内容安全管理模块、黑白名单过滤、账户余额管理、短信签名管理、频率使用策略,支持分布式可扩展的实时搜索和分析;
黑白名单过滤功能可以对特定的内容或者用户进行限制和过滤,用户可以根据需要将某些内容或用户添加到黑名单中,使其在系统中无法访问或被禁止,管理员也可以将特定内容或用户添加到白名单中,确保其正常接收在系统分发的国际短信;
频率使用策略功能是为了控制系统中恶意操作或者过度使用操作的频率而设计的,系统会根据设定的策略对用户的操作进行监控和限制,防止恶意操作或者过度使用。
4.根据权利要求1所述的一种使用云计算技术发送国际短信的系统,其特征在于:国际短信网关监测中心可以管理多个国际短信网关,并监控发送进度和反馈收集,包括:
国际短信网关监测中心实时监测每个国际短信网关的物理磁盘、CPU、内存使用效率,并对系统硬件的各项资源设立预警阈值,对于超过预警阈值的向管理人员发送告警短信和告警邮件;
国际短信网关监测中心实时监测每个国际短信网关中所部署服务的运行状态,主要监控服务的请求耗时、启停状态、所用物理资源情况信息,在发现异常后向管理人员发送告警短信和告警邮件。
5.一种使用云计算技术发送国际短信的方法,其特征在于采用权利要求1所述的系统,基于如下步骤实现:
S51:负载均衡器接收用户发送国际短信的请求,并分配发送请求到不同的国际短信接收网关;
S52:国际短信接收网关在接收到国际短信发送请求后,将发送任务推送至消息队列集群;
S53:消息队列集群模块根据各队列节点所在服务器的资源使用情况,自动存储发送任务至各队列节点服务器物理磁盘中;
S54:业务内容管理模块实时监测消息队列集群中是否有国际短信发送任务,若消息队列集群中存在待消费任务,则使用内容、黑白名单过滤规则消费该任务,将处理结果重新推送至消息队列集群,生成新的国际短信发送网关待发送任务;
S55:国际短信网关监测中心实时监测每个国际短信网关的物理磁盘、CPU、内存使用效率并对系统硬件的各项资源设立预警阈值,主要监控服务的请求耗时、启停状态、所用物理资源情况信息,在发现异常后向管理人员发送告警短信和告警邮件;
S56:国际短信发送网关实时监控消息队列集群是否有待发送网关消费任务,若有新的待发送网关消费任务存在,使用自身的发送功能消费此任务;
S57:国家代理商在接收到国际短信后,将国际短信发送给国家用户终端。
CN202311303785.5A 2023-10-10 2023-10-10 一种使用云计算技术发送国际短信的方法与系统 Active CN117041893B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311303785.5A CN117041893B (zh) 2023-10-10 2023-10-10 一种使用云计算技术发送国际短信的方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311303785.5A CN117041893B (zh) 2023-10-10 2023-10-10 一种使用云计算技术发送国际短信的方法与系统

Publications (2)

Publication Number Publication Date
CN117041893A true CN117041893A (zh) 2023-11-10
CN117041893B CN117041893B (zh) 2024-01-12

Family

ID=88628533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311303785.5A Active CN117041893B (zh) 2023-10-10 2023-10-10 一种使用云计算技术发送国际短信的方法与系统

Country Status (1)

Country Link
CN (1) CN117041893B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060075585A (ko) * 2004-12-28 2006-07-04 엘지전자 주식회사 이동통신단말기를 이용한 국제 sms메시지 전송방법
CN1835608A (zh) * 2006-04-25 2006-09-20 沈阳昂立信息技术有限公司 短信二级网关及业务平台
CN101287166A (zh) * 2008-02-22 2008-10-15 北京航空航天大学 一种用于电子会务辅助系统的短信息发布系统与发布方法
CN101431734A (zh) * 2008-11-07 2009-05-13 中兴通讯股份有限公司 一种短消息群发系统及方法
CN101616383A (zh) * 2008-06-27 2009-12-30 中国移动通信集团公司 短信路由方法、系统及与国际网关互联的网元
CN105306300A (zh) * 2015-11-03 2016-02-03 北京京东尚科信息技术有限公司 网络集群实时监控方法和系统
CN106453564A (zh) * 2016-10-18 2017-02-22 北京京东尚科信息技术有限公司 弹性云分布式海量请求处理的方法、装置及系统
WO2020000663A1 (zh) * 2018-06-25 2020-01-02 平安科技(深圳)有限公司 短信发送的方法、装置、计算机设备和存储介质
CN111628859A (zh) * 2020-06-05 2020-09-04 上海创蓝文化传播有限公司 一种基于分布式高并发条件下审核短信文本的方法及装置
CN115883309A (zh) * 2023-03-02 2023-03-31 江西掌中无限网络科技股份有限公司 基于saas模式的多业务上下游多协议接入平台及方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060075585A (ko) * 2004-12-28 2006-07-04 엘지전자 주식회사 이동통신단말기를 이용한 국제 sms메시지 전송방법
CN1835608A (zh) * 2006-04-25 2006-09-20 沈阳昂立信息技术有限公司 短信二级网关及业务平台
CN101287166A (zh) * 2008-02-22 2008-10-15 北京航空航天大学 一种用于电子会务辅助系统的短信息发布系统与发布方法
CN101616383A (zh) * 2008-06-27 2009-12-30 中国移动通信集团公司 短信路由方法、系统及与国际网关互联的网元
CN101431734A (zh) * 2008-11-07 2009-05-13 中兴通讯股份有限公司 一种短消息群发系统及方法
CN105306300A (zh) * 2015-11-03 2016-02-03 北京京东尚科信息技术有限公司 网络集群实时监控方法和系统
CN106453564A (zh) * 2016-10-18 2017-02-22 北京京东尚科信息技术有限公司 弹性云分布式海量请求处理的方法、装置及系统
WO2020000663A1 (zh) * 2018-06-25 2020-01-02 平安科技(深圳)有限公司 短信发送的方法、装置、计算机设备和存储介质
CN111628859A (zh) * 2020-06-05 2020-09-04 上海创蓝文化传播有限公司 一种基于分布式高并发条件下审核短信文本的方法及装置
CN115883309A (zh) * 2023-03-02 2023-03-31 江西掌中无限网络科技股份有限公司 基于saas模式的多业务上下游多协议接入平台及方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
宋婷;荀亚玲;: "改进线程池的移动通信数据传输系统优化", 计算机工程与应用, no. 24 *
张隽轩: "面向云服务的短信业务系统架构研究", 信息科技辑 *
杨伟明;刘玉良;: "基于CNGP的SP端短信增值业务平台的研究与实现", 计算机应用, no. 1 *
郑立;陈屹力;刘如明;郑丹?;: "基于开源的消息队列云服务研究", 信息通信技术与政策, no. 05 *

Also Published As

Publication number Publication date
CN117041893B (zh) 2024-01-12

Similar Documents

Publication Publication Date Title
US10735509B2 (en) Systems and methods for synchronizing microservice data stores
US11863460B1 (en) Agent message delivery fairness
KR101547719B1 (ko) 데이터 센터들에 걸쳐 데이터 서버들내 데이터 무결정의 유지
JP3837291B2 (ja) アプリケーション独立形メッセージングシステム
US7518983B2 (en) Proxy response apparatus
GB2407887A (en) Automatically modifying fail-over configuration of back-up devices
US20120218993A1 (en) Switch, information processing apparatus, and information processing system
WO2012097588A1 (zh) 数据存储方法、设备和系统
CN113422842B (zh) 一种考虑网络负载的分布式电力用电信息数据采集系统
TWI709865B (zh) 運維數據讀取裝置及其讀取方法
CN109639773A (zh) 一种动态构建的分布式数据集群控制系统及其方法
CN108512753B (zh) 一种集群文件系统中消息传输的方法及装置
JP4964666B2 (ja) 冗長化された通信経路を切り替える計算機、プログラム及び方法
CN113965587B (zh) 一种人工智能平台的数据获取方法、装置、设备、介质
CN110620798B (zh) Ftp连接的控制方法、系统、设备和存储介质
US20170048081A1 (en) Multi-ring reliable messaging system
JP2006048122A (ja) 通信システム
CN117041893B (zh) 一种使用云计算技术发送国际短信的方法与系统
CN117061535A (zh) 多活构架数据同步方法、装置、计算机设备和存储介质
Sundstrom et al. SNA: Current requirements and direction
WO2020158016A1 (ja) バックアップシステム及びその方法並びにプログラム
CN111258780B (zh) 基于前置机进行数据交换的系统及方法
CN214959613U (zh) 一种负载均衡设备
CN116760850B (zh) 一种数据处理方法、装置、设备、介质及系统
CN115002205B (zh) 一种基于表路由代理模式的Kapacitor集群方法

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