CN110839061B - 数据分发方法、装置及存储介质 - Google Patents

数据分发方法、装置及存储介质 Download PDF

Info

Publication number
CN110839061B
CN110839061B CN201910985286.6A CN201910985286A CN110839061B CN 110839061 B CN110839061 B CN 110839061B CN 201910985286 A CN201910985286 A CN 201910985286A CN 110839061 B CN110839061 B CN 110839061B
Authority
CN
China
Prior art keywords
subscription
server
subscription server
target
time information
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.)
Active
Application number
CN201910985286.6A
Other languages
English (en)
Other versions
CN110839061A (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN201910985286.6A priority Critical patent/CN110839061B/zh
Publication of CN110839061A publication Critical patent/CN110839061A/zh
Priority to PCT/CN2020/118122 priority patent/WO2021073405A1/zh
Priority to EP20875899.5A priority patent/EP3998754B1/en
Application granted granted Critical
Publication of CN110839061B publication Critical patent/CN110839061B/zh
Priority to US17/668,730 priority patent/US20220166842A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1859Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
    • 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/10015Access to distributed or replicated servers, e.g. using brokers
    • 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/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开关于一种数据分发方法、装置及存储介质,数据分发方法包括:获取订阅服务器集合中每个订阅服务器的订阅时间信息,根据每个订阅服务器的订阅时间信息,从订阅服务器集合中确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器,通知第一订阅服务器从目标订阅服务器中订阅消息。通过使订阅服务器从其他订阅服务器中订阅消息队列中的消息,降低了同一时刻访问存储服务器的订阅服务器数量,进一步的降低了同一时刻访问分布式消息队列***的订阅服务器的数量,有效分散了多个订阅服务器对分布式消息队列***的订阅压力,大大降低了分布式消息队列***的网络通信负载,并降低了对机器资源的消耗。

Description

数据分发方法、装置及存储介质
技术领域
本公开涉及数据分发技术领域,尤其涉及一种数据分发方法、装置及存储介质。
背景技术
目前的生产环境中,需要分发的数据量规模不断增长,大规模数据的实时分发通常是通过分布式消息队列***实现的。分布式消息队列***由多个服务器组成,多个服务器分布存储多个消息队列中的消息,由多个服务器对多个消息队列中的消息进行分布存储和实时分发。
相关技术中,发布消息的服务器(下称生产服务器)发布的大规模的消息数据统一存储到分布式消息队列***中,多个请求订阅消息的服务器(下称订阅服务器)需要从分布式消息队列***中的消息队列订阅消息,当多个订阅服务器从分布式消息队列***中同时订阅消息队列中的消息时,导致分布式消息队列***需要和多个订阅服务器同时进行网络通信,造成较高的网络通信负载,消耗很多机器资源。
发明内容
本公开提供一种数据分发方法、装置及存储介质,以至少解决相关技术中分布式消息队列***中通信负载高和机器资源消耗多的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种数据分发方法,应用于数据分发***,所述数据分发***包括存储服务器和订阅服务器集合,所述方法执行于存储服务器,包括:
获取所述订阅服务器集合中每个订阅服务器的订阅时间信息,所述订阅时间信息标志所述订阅服务器的订阅进度;
根据每个所述订阅服务器的订阅时间信息,从所述订阅服务器集合中确定第一订阅服务器,并确定所述第一订阅服务器的目标订阅服务器;
通知所述第一订阅服务器从所述目标订阅服务器中订阅消息。
根据本公开实施例的第二方面,提供另一种数据分发方法,应用于数据分发***,所述数据分发***包括存储服务器和订阅服务器集合,所述方法执行于订阅服务器,包括:
接收所述存储服务器发送的通知,所述通知用于通知所述订阅服务器从所述订阅服务器的目标订阅服务器中订阅消息;其中,所述目标订阅服务器为所述存储服务器根据每个所述订阅服务器的订阅时间信息,从所述订阅服务器集合中确定所述订阅服务器后,为所述订阅服务器确定的所述目标订阅服务器;
根据所述通知,从所述目标订阅服务器中订阅消息。
根据本公开实施例的第三方面,提供一种数据分发装置,应用于数据分发***,所述数据分发***包括存储服务器和订阅服务器集合,所述装置设置于存储服务器,包括:
获取模块,被配置为获取所述订阅服务器集合中每个订阅服务器的订阅时间信息,所述订阅时间信息标志所述订阅服务器的订阅进度;
确定模块,被配置为根据每个所述订阅服务器的订阅时间信息,从所述订阅服务器集合中确定第一订阅服务器,并确定所述第一订阅服务器的目标订阅服务器;
通知模块,被配置为通知所述第一订阅服务器从所述目标订阅服务器中订阅消息。
根据本公开实施例的第四方面,提供一种数据分发装置,应用于数据分发***,所述数据分发***包括存储服务器和订阅服务器集合,所述装置设置于订阅服务器,包括:
接收模块,被配置为接收所述存储服务器发送的通知,所述通知用于通知所述订阅服务器从所述订阅服务器的目标订阅服务器中订阅消息;其中,所述目标订阅服务器为所述存储服务器根据每个所述订阅服务器的订阅时间信息,从所述订阅服务器集合中确定所述订阅服务器后,为所述订阅服务器确定的所述目标订阅服务器;
订阅模块,被配置为根据所述通知,从所述目标订阅服务器中订阅消息。
根据本公开实施例的第五方面,提供一种数据分发***,包括:至少一个存储服务器和至少一个订阅服务器;
所述至少一个存储服务器,被配置为获取订阅服务器集合中每个订阅服务器的订阅时间信息,所述订阅时间信息标志所述订阅服务器的订阅进度;
所述至少一个存储服务器,还被配置为根据每个所述订阅服务器的订阅时间信息,从所述订阅服务器集合中确定第一订阅服务器,并确定所述第一订阅服务器的目标订阅服务器;
所述至少一个存储服务器,还被配置为通知所述第一订阅服务器从所述目标订阅服务器中订阅消息;
所述至少一个订阅服务器,被配置为接收所述至少一个存储服务器发送的通知,所述通知用于通知所述订阅服务器从所述订阅服务器的目标订阅服务器中订阅消息;其中,所述目标订阅服务器为所述存储服务器根据每个所述订阅服务器的订阅时间信息,从所述订阅服务器集合中确定所述订阅服务器后,为所述订阅服务器确定的所述目标订阅服务器;
所述至少一个订阅服务器,还被配置为根据所述通知,从所述目标订阅服务器中订阅消息。
根据本公开实施例的第六方面,提供另一种数据分发装置,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述本公开实施例的第一方面提供的数据数据分发方法。
根据本公开实施例的第七方面,提供一种存储介质,当所述存储介质中的指令由数据分发装置的处理器执行时,使得数据分发装置能够执行如上述本公开实施例的第一方面提供的数据数据分发方法。
本公开实施例提供的技术方案至少带来以下有益效果:
本公开实施例提供的数据分发方法、装置及存储介质,存储服务器获取订阅服务器集合中每个订阅服务器的订阅时间信息,订阅时间信息标志订阅服务器的订阅进度,根据每个订阅服务器的订阅时间信息,从订阅服务器集合中确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器,通知第一订阅服务器从目标订阅服务器中订阅消息。通过使订阅服务器从其他订阅服务器中订阅消息队列中的消息,降低了同一时刻访问存储服务器的订阅服务器数量,进一步的降低了同一时刻访问分布式消息队列***的订阅服务器数量,有效分散了多个订阅服务器对分布式消息队列***的订阅压力,大大降低了分布式消息队列***的网络通信负载,并降低了机器资源的消耗。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种分布式消息队列***的结构图;
图2是根据一示例性实施例示出的一种数据分发方法的流程图;
图3是根据一示例性实施例示出的另一种数据分发方法的流程图;
图4是根据一示例性实施例示出的另一种分布式消息队列***的结构图;
图5是根据一示例性实施例示出的一种数据分发装置的框图;
图6是根据一示例性实施例示出的另一种数据分发装置的框图;
图7是根据一示例性实施例示出的另一种数据分发装置的框图;
图8是根据一示例性实施例示出的另一种数据分发装置的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
为了使本公开实施例更加清楚,首先对本公开实施例中数据分发方法的应用场景进行举例介绍,
参照图1,图1是根据一示例性实施例示出的一种分布式消息队列***的结构图,如图1所示,该分布式消息队列***包括存储服务器1和存储服务器2、订阅服务器1、订阅服务器2、订阅服务器3、订阅服务器4和生产服务器。该分布式消息队列***中,生产服务器根据本地配置文件中配置的存储服务器,将生产的消息发布到本地配置的存储服务器中,并将本地配置文件中配置的消息队列的标识发布给存储服务器,由存储服务器根据生产服务器发布的消息队列的标识将生产服务器发布的消息存储到与消息队列的标识对应的消息队列中。其中,生产服务器在生成每个消息的过程中,同时生成该消息对应的时间点(消息对应的时间点也即消息的时间点),生产服务器生成的每个消息中包括该消息对应的时间点。生产服务器生成消息后将生成的每个消息发送至存储服务器,存储服务器根据每个消息对应的时间点的先后顺序,对消息进行顺序存储,时间点最早的(也即时间点最小的)的消息排在消息队列的最前面,时间点中可以包括年、月、日、时、分、秒、毫秒等时间单位,本实施例对时间点的时间单位不进行限制。实际使用中,存储服务器、订阅服务器和生产服务器的数量可以根据需求设置,本实施例对此不做限制。
在数据分发过程中,每个订阅服务器根据本地配置文件中配置的存储服务器和消息队列的标识,从存储服务器订阅与消息队列的标识对应的消息队列中的消息,并消费订阅的消息(消费消息即使用消息)。其中,消息即数据,例如在推荐***中,生产服务器可以从终端获取用户数据,并对获取的用户数据进行处理后生成日志(日志为消息的一种),将日志发送至存储服务器进行存储,存储服务器为存储日志的服务器,订阅服务器可以从存储服务器中订阅日志,并可以采用订阅的日志对模型进行训练,得到训练模型。
参照图1,本公开实施例提供的分布式消息队列***中,若生产服务器本地配置文件中配置的存储服务器包括存储服务器1和存储服务器2,配置的与存储服务器1和存储服务器2对应的消息队列的标识为消息队列1,则生产服务器可以向存储服务器1和存储服务器2分别发布消息,发布消息时可以携带消息对应的消息队列的标识,存储服务器1和存储服务器2接收到生产服务器发布的消息后,可以根据消息对应的消息队列的标识将消息存储到消息队列1中。例如,若生产服务器生成了1至30个消息,第一个消息对应的时间点为001,第二个消息对应的时间点为002,第三个消息对应的时间点为003,以此类推,第1至30个消息分别对应的时间点为001至030。此时,生产服务器可以将时间点为001至030的30个消息随机的发送至存储服务器1或存储服务器2(本实施例以时间点为001至030的30个消息发送至存储服务器1为例),存储服务器1在接收到生产服务器发送的时间点为001至030的30个消息时,根据每个消息对应的时间点,按时间点001至030的时间顺序,将接收到的消息顺序存储到存储服务器1中的消息队列1中。同理,生产服务器生成时间点为031至060的30个消息后,可以随机的将时间点为031至060的30个消息发送至存储服务器1或存储服务器2(本实施例以时间点为031至060的30个消息发送至存储服务器2为例),由存储服务器2将时间点为031至060的30个消息存储到存储服务器2中的消息队列1中。若存在消息队列2,则存储服务器1和存储服务器2存储消息队列2中的消息的过程与消息队列1相同,在此不做赘述。
每个订阅服务器根据本地配置文件中配置的存储服务器和消息队列的标识,从存储服务器订阅与消息队列的标识对应的消息队列中的消息。例如,订阅服务器1、订阅服务器2、订阅服务器3和订阅服务器4的本地配置文件中配置的消息队列都为消息队列1,则订阅服务器1、订阅服务器2、订阅服务器3和订阅服务器4可以分别从存储服务器1中订阅消息队列1中的时间点为001至030的30个消息中的至少一个消息,从存储服务器2中订阅消息队列1中的时间点为031至060的30个消息中的至少一个消息。
实际使用中,生产服务器生产消息并发布的过程,存储服务器存储消息的过程,以及订阅服务器从存储服务器订阅消息的过程可参考现有技术,在此不做赘述。
图2是根据一示例性实施例示出的一种数据分发方法的流程图,参照图2,本公开实施例提供的数据分发方法适用于分布式消息队列***,分布式消息队列***包括存储服务器和订阅服务器集合,数据分发方法可以适用于大规模数据的分发,以降低分布式消息队列***与多个订阅服务器同时进行网络通信时的通信负载,并降低分布式消息队列***的机器资源消耗的情况。本公开实施例提供的数据分发方法可以由数据分发装置执行,数据分发装置通常以软件和/或硬件的方式实现,数据分发装置可以部署于分布式消息队列***中的每个存储服务器中,该方法包括以下步骤:
步骤201、获取订阅服务器集合中每个订阅服务器的订阅时间信息。
其中,订阅时间信息标志订阅服务器的订阅进度,标志订阅服务器已经订阅的消息,以及下次需要订阅的消息。具体的,订阅时间信息可以为订阅服务器每次订阅的消息中,每个消息的时间点中的最大的时间点。例如,结合图1举例,若订阅服务器1本次订阅的消息的时间点为001至005的5个消息(时间点为001至005的5个消息,订阅服务器1可以从存储服务器1中订阅,也可以从其他已经订阅并存储这5个消息的订阅服务器中订阅),则订阅服务器1本次订阅的消息中,最大时间点为005,可以确定订阅服务器1的订阅时间信息为005。该订阅时间信息005,标志订阅服务器1已经订阅或正在订阅消息队列1中的时间点为005,以及时间点005之前的消息(时间点001至004分别对应的消息),以及订阅服务器1下次需要从时间点006开始,订阅时间点006,以及时间点006之后的消息。订阅服务器2、订阅服务器3和订阅服务器4与订阅服务器1相同,在此不做赘述。
本实施例中,存储服务器可以获取订阅服务器集合中,每个订阅服务器的订阅时间信息,以确定每个订阅服务器的订阅进度。例如,结合图1举例,若此时,订阅服务器2订阅的消息的时间点为006至010的5个消息,订阅服务器3订阅的消息的时间点为011至015的5个消息,订阅服务器4订阅的消息的时间点为016至020的5个消息,存储服务器1可以分别获取订阅服务器1的订阅时间信息005,以及订阅服务器2的订阅时间信息010,订阅服务器3的订阅时间信息015,订阅服务器4的订阅时间信息020,以分别确定每个订阅服务器的订阅进度。
需要说明的是,订阅服务器可以从存储服务器1和存储服务器2订阅消息,也可以从其他订阅服务器订阅消息。存储服务器可以采用任意的方法获取每个订阅服务器的订阅时间信息,本实施例对存储服务器获取每个订阅服务器的订阅时间信息的方法不作限制。
步骤202,根据每个订阅服务器的订阅时间信息,从订阅服务器集合中确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器。
其中,第一订阅服务器为订阅服务器集合中,可以从其他订阅服务器中订阅消息的订阅服务器。目标订阅服务器为订阅服务器集合中,已经订阅并存储第一订阅服务器需要订阅的消息的订阅服务器。
本实施例中,存储服务器在获取订阅服务器集合中每个订阅服务器的订阅时间信息后,可以根据每个订阅服务器的订阅时间信息,确定每个订阅服务器的订阅进度,根据每个订阅服务器的订阅进度,从订阅服务器集合中确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器。
例如,结合步骤201,订阅服务器1已经订阅时间点为001至005的消息,订阅服务器1下次需要订阅的消息为时间点为006至010的5个消息,此时订阅服务器2、订阅服务器3和订阅服务器4都已经订阅并存储了时间点为006至010的5个消息,则订阅服务器1可以从订阅服务器2、订阅服务器3和订阅服务器4中订阅时间点为006至010的消息。此时存储服务器1可以确定订阅服务器1为第一订阅服务器,同时可以确定订阅服务器1的目标订阅服务器为订阅服务器2、订阅服务器3和订阅服务器4中的至少一个。同理,存储服务器1可以确定订阅服务器2下次可以从订阅服务器3和订阅服务器4中订阅时间点为011至015的5个消息,则可以确定订阅服务器2为第一订阅服务器,并可以确定订阅服务器2的目标订阅服务器为订阅服务器3和/或订阅服务器4;订阅服务器3下次可以从订阅服务器4中订阅时间点为016至020的5个消息,则可以确定订阅服务器3为第一订阅服务器,并可以确定订阅服务器3的目标订阅服务器可为订阅服务器4。因为订阅服务器4下次需要订阅的消息为时间点为021至025的5个消息,订阅服务器1、订阅服务器2和订阅服务器3均未订阅并存储时间点为021至025的5个消,因此订阅服务器4不作为第一订阅服务器。
实际使用中,可以为每个第一订阅服务器确定一个或多个目标订阅服务器,例如,可以只为每个第一订阅服务器确定一个目标订阅服务器。为第一订阅服务器确定的目标订阅服务器的数量可以根据需求设置,本实施例对此不做限制。
步骤203,通知第一订阅服务器从目标订阅服务器中订阅消息。
本实施例中,存储服务器在确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器后,可以通知第一订阅服务器从与其对应的目标订阅服务器中订阅消息。
例如,结合步骤202,订阅服务器1为第一订阅服务器时,存储服务器1可以通知订阅服务器1从目标订阅服务器(订阅服务器2、订阅服务器3和订阅服务器4中的任意一个)中订阅时间点为006至010的5个消息。
实际使用中,存储服务器可以采用任意的方法通知第一订阅服务器从目标订阅服务器中订阅消息,本实施例对存储服务器通知第一订阅服务器从目标订阅服务器中订阅消息的方法不做限制。
需要说明的是,本实施例中订阅服务器4不作为第一订阅服务器,此时订阅服务器4可以直接从存储服务器1和存储服务器2中订阅消息。存储服务器2与存储服务器1相同,如图1所示,存储服务器2也可以针对订阅服务器集合确定第一订阅服务器,确定第一订阅服务器的目标订阅服务器,并通知第一订阅服务器从与其对应的目标订阅服务器中订阅消息,存储服务器2执行上述方法的过程与存储服务器1相同,在此不做赘述。
本实施例中,存储服务器获取订阅服务器集合中每个订阅服务器的订阅时间信息,订阅时间信息标志订阅服务器的订阅进度,根据每个订阅服务器的订阅时间信息,从订阅服务器集合中确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器,通知第一订阅服务器从目标订阅服务器中订阅消息。通过使订阅服务器从其他订阅服务器中订阅消息队列中的消息,降低了同一时刻访问存储服务器的订阅服务器数量,进一步的降低了同一时刻访问分布式消息队列***的订阅服务器数量,有效分散了多个订阅服务器对分布式消息队列***的订阅压力,大大降低了分布式消息队列***的网络通信负载,并降低了机器资源的消耗。
图3是根据一示例性实施例示出的另一种数据分发方法的流程图,方法可以包括以下步骤:
步骤301,存储服务器获取订阅服务器集合中每个订阅服务器的订阅时间信息。
本实施例中,存储服务器获取订阅服务器集合中每个订阅服务器的订阅时间信息,可以通过以下方式实现:
方式一:接收订阅服务器发送的订阅请求,根据订阅服务器发送的订阅请求,确定订阅服务器的订阅时间信息。
本实施例中,订阅服务器从存储服务器订阅消息时,可以向存储服务器发送订阅请求,请求订阅存储服务器中存储的消息队列中的消息。具体的该订阅请求中可以包括,订阅消息的起始时间点和订阅消息的数量。存储服务器接收到订阅请求后,可以解析该订阅请求,确定订阅服务器需要订阅的具体消息。
例如,结合步骤201至步骤203,若时间点为001至005的5个消息由订阅服务器1从存储服务器1中订阅,则当订阅服务器1需要从存储服务器1订阅时间点为001至005的5个消息时,可以向存储服务器1发送订阅请求,该订阅请求中可以包括起始时间点001,以及需要订阅的消息的数量5。存储服务器1接收到该订阅请求后,解析该订阅请求,确定订阅服务器1需要的订阅的是从起始时间点001起,至时间点005的5个消息。此时,存储服务器1可以确定订阅服务器1的订阅时间信息为005,该订阅时间信息005标志订阅服务器1正在订阅时间点为005,以及005之前的消息。在接到该订阅请求后,存储服务器1可以向订阅服务器1发送时间点为001至005的5个消息。同理,存储服务器1可以根据订阅服务器2、订阅服务器3和订阅服务器4分别发送的订阅请求,分别确定订阅服务器2、订阅服务器3和订阅服务器4的订阅时间信息。需要说明的是,如果订阅服务器3和订阅服务器4未向存储服务器1发送订阅请求,订阅服务器3和订阅服务器4的订阅时间信息可以通过下述的方式2确定。
其中,订阅服务器向存储服务器发送订阅请求,存储服务器解析该订阅请求,根据订阅请求向订阅服务器发送对应消息的过程可参照现有技术,本实施例对此不做限制。
方式二:接收订阅服务器发送的反馈信息,根据订阅服务器发送的反馈信息,确定订阅服务器的订阅时间信息。
反馈信息为订阅服务器从其他订阅服务器中订阅消息后,向存储服务器发送的包括订阅时间信息的反馈信息。
本实施例中,当订阅服务器从其他订阅服务器中订阅消息后,订阅服务器可以根据已经订阅的消息,确定自身的订阅时间信息,并向存储服务器发送包括该订阅时间信息的反馈信息至存储服务器。例如,结合步骤201至步骤203,当订阅服务器1从订阅服务器2、订阅服务器3和订阅服务器4中的任何一个订阅服务器中订阅到时间点为006至010的5个消息后(订阅服务器1作为第一订阅服务器,可以从与其对应的目标订阅服务器中订阅消息),订阅服务器1可以确定已经订阅并存储了时间点为006至010的5个消息,可以确定自身的订阅时间信息为010,并向存储服务器发送包括订阅时间信息010的反馈信息至存储服务器1和存储服务器2。此时存储服务器1可以根据订阅服务器1发送的反馈信息,确定订阅服务器1的订阅时间信息。
存储服务器2确定订阅服务器1、订阅服务器2、订阅服务器3和订阅服务器4的订阅时间信息的过程与订阅服务器1相同,在此不作赘述。
步骤302,存储服务器根据每个订阅服务器的订阅时间信息,从订阅服务器集合中确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器。
本实施例中,存储服务器根据每个订阅服务器的订阅时间信息,从订阅服务器集合中确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器,可以包括:根据每个订阅服务器的订阅时间信息,对订阅服务器集合中的订阅服务器进行排序,得到排序结果。根据排序结果,从订阅服务器集合中确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器。
可选的,该排序结果可以为二叉树排序结果。
本实施例中,存储服务器可以根据订阅服务器集合中的每个订阅服务器的订阅时间信息,对订阅服务器进行排序,得到二叉树排序结果。例如,结合步骤301,参照图1,当存储服务器1分别确定订阅服务器1、订阅服务器2、订阅服务器3和订阅服务器4的订阅时间信息分别为005、010、015和020后,可以以每个订阅服务器的订阅时间信息为二叉树的关键值,建立二叉树,二叉树中的每个节点对应订阅服务器集合中的一个订阅服务器。其中,二叉树中每个子节点对应的订阅服务器的订阅时间信息小于父节点对应的订阅服务器的订阅时间信息。如图1所示,在二叉树排序结果中,二叉树中的根节点对应的订阅服务器4的订阅时间信息最大,根节点的子节点对应的订阅服务器2和订阅服务器3的订阅时间信息,均小于其父节点(根节点)对应的订阅服务器4的订阅时间信息。子节点对应的订阅服务器1的订阅时间信息小于其父节点对应的订阅服务器3的订阅时间信息。
可选地,当排序结果为二叉树排序结果时,根据排序结果,从订阅服务器集合中确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器,可以包括:确定二叉树排序结果中,除二叉树的根节点对应的订阅服务器之外的其他订阅服务器为第一订阅服务器;从第一订阅服务器对应的二叉树节点的祖先节点中,选择部分或全部祖先节点对应的订阅服务器,作为第一订阅服务器的目标订阅服务器。
本实施例中,当排序结果为二叉树排序结果时,因为根节点对应的订阅服务器的订阅时间信息最大,其他订阅服务器都可以从根节点对应的订阅服务器中订阅消息,而根节点对应的订阅服务器只能从存储服务器中订阅消息。因此,确定除根节点对应的订阅服务器之外的其他订阅服务器为第一订阅服务器。如图1所示,可以确定除根节点对应的订阅服务器4之外的订阅服务器1、订阅服务器2和订阅服务器3,为第一订阅服务器。
在确定第一订阅服务器的目标订阅服务器时,因为第一订阅服务器对应的二叉树节点的祖先节点中,每个祖先节点对应的订阅服务器的订阅时间信息均大于该节点对应的订阅服务器的订阅时间信息。因此,可以从第一订阅服务器对应的二叉树节点的祖先节点中,选择至少一个祖先节点对应的订阅服务器,作为第一订阅服务器的目标订阅服务器。如图1所示,对于订阅服务器1,可以从订阅服务器1对应的节点的祖先节点中(订阅服务器2、订阅服务器3和订阅服务器4分别对应的节点),选择至少一个祖先节点对应的订阅服务器(订阅服务器2、订阅服务器3和订阅服务器4)作为订阅服务器1的目标订阅服务器。同理,对于订阅服务器2和订阅服务器3,可以选择订阅服务器2和订阅服务器3对应的节点的祖先节点(根节点)对应的订阅服务器4作为订阅服务器2和订阅服务器3目标订阅服务器。
本实施例中,当排序结果为二叉树排序结果时,以第一订阅服务器对应的节点的祖先节点对应的订阅服务器为第一订阅服务器的目标订阅服务器,在确定目标订阅服务器的过程中,可以避免同一个订阅服务器作为多个第一订阅服务器的目标订阅服务器,降低该订阅服务器的通信负载和机械资源损耗。例如,订阅服务器3可以同时作为订阅服务器1和订阅服务器2的目标订阅服务器,只以订阅服务器2对应的节点的祖先节点对应的订阅服务器4为订阅服务器2的目标订阅服务器,可以避免订阅服务器3同时作为订阅服务器1和订阅服务器2的目标订阅服务器,降低订阅服务器3的通信负载和资源损耗。
可选的,当排序结果为二叉树排序结果时,根据排序结果,从订阅服务器集合中确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器,可以包括:确定二叉树排序结果中,除二叉树的根节点对应的订阅服务器之外的其他订阅服务器为第一订阅服务器,确定第一订阅服务器对应的二叉树节点的父节点为目标节点,将目标节点对应的订阅服务器,作为第一订阅服务器的目标订阅服务器。例如,参见图1,对于订阅服务器1,确定订阅服务器1对应的节点的父节点为目标节点(订阅服务器3对应的节点),将目标节点对应的订阅服务器3作为订阅服务器1的目标订阅服务器。同理,对于订阅服务器2可以确定订阅服务器2对应的节点的父节点(根节点)作为目标节点,将目标节点对应的订阅服务器4作为订阅服务器2的目标订阅服务器。
本实施例中,当排序结果为二叉树排序结果时,以第一订阅服务器对应的节点的父节点为目标节点,以目标节点对应的订阅服务器为第一订阅服务器的目标订阅服务器,在确定目标订阅服务器的过程中,不仅可以避免同一个订阅服务器作为多个第一订阅服务器的目标订阅服务器,降低该订阅服务器的通信负载和机械资源损耗,而且可以快速的确定第一订阅服务器的目标订阅服务器,提高整个***的运行效率。如图1所示,对于订阅服务器1,只以订阅服务器2为目标订阅服务器,对于订阅服务器2和订阅服务器3,分别只以订阅服务器4为目标订阅服务器。当订阅服务器数量较大时,每个第一订阅服务器均只对应一个目标订阅服务器,可以快速的确定每个第一订阅服务器的目标订阅服务器,同时每个目标订阅服务器只作为对应节点的子节点对应的第一订阅服务器的目标订阅服务器,降低了每个目标订阅服务器的通信负载。例如,订阅服务器4只作为订阅服务器2和订阅服务器3的目标订阅服务器,订阅服务器3只作为订阅服务器1的目标订阅服务器。
可选的,当排序结果为二叉树时,该二叉树可以为完全二叉树或满二叉树。完全二叉树中,除最后一层外其他各层都达到该层节点的最大数,最后一层中所有节点都全部靠左排,而满二叉树中所有层的节点数都达到最大。完全二叉树或满二叉树的结构完整,可以快速方便的为每个第一订阅服务器确定目标订阅服务器。
可选的,该排序结果可以为线性排序结果。
本实施例中,存储服务器可以根据订阅服务器集合中的每个订阅服务器的订阅时间信息,对订阅服务器进行排序,得到线性排序结果。例如,结合步骤201至步骤203,参照图4,图4是根据一示例性实施例示出的另一种分布式消息队列***的结构图,当存储服务器1分别确定订阅服务器1、订阅服务器2、订阅服务器3和订阅服务器4的订阅时间信息分别为005、010、015和020后,可以根据确定的订阅时间信息对订阅服务器1、订阅服务器2、订阅服务器3和订阅服务器4进行排序,得到线性排序结果。如图4所示,得到的线性排序结果中,订阅时间信息从大到小,订阅服务器4大于订阅服务器3大于订阅服务器2大于订阅服务器1。存储服务器2根据订阅时间信息,对订阅服务器1、订阅服务器2、订阅服务器3和订阅服务器4进行排序,得到线性排序结果的过程与存储服务器1相同,在此不做赘述。
实际使用中,线性排序结果可以为顺序,也可以是逆序。例如,存储服务器1根据订阅时间信息,确定的线性排序结果可以为,订阅服务器1小于订阅服务器2小于订阅服务器3小订阅服务器4。
可选地,当排序结果为线性排序结果是,根据排序结果,从订阅服务器集合中确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器,可以包括:确定线性排序结果中,除最大订阅时间信息对应的订阅服务器之外的其他订阅服务器为第一订阅服务器;从订阅服务器集合中选择大于第一订阅服务器的订阅时间信息的订阅服务器,将选择的订阅服务器作为第一订阅服务器的目标订阅服务器。
本实施例中,当排序结果为线性排序时,可以根据线性排序结果,确定除订阅时间信息最大的订阅服务器之外的其他订阅服务器为第一订阅服务器。如图4所示,可以确定除订阅服务器4外的订阅服务器1、订阅服务器2和订阅服务器3,为第一订阅服务器。
在确定第一订阅服务器的目标订阅服务器时,可以从订阅时间信息大于第一订阅服务器的订阅时间信息的订阅服务器中,选择至少一个订阅服务器作为第一订阅服务器的目标订阅服务器。如图4所示,对于订阅服务器1,可以选择订阅服务器2、订阅服务器3和订阅服务器4中的至少一个作订阅服务器1的目标订阅服务器。对于订阅服务器2可以选择订阅服务器3或订阅服务器4作为订阅服务器2的目标订阅服务器。订阅服务器3,可以直接选择订阅服务器4作为订阅服务器3的目标订阅服务器。
本公开实施例中,根据排序结果,确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器,可以更快的确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器,同时可以为每个第一订阅服务器快速的确定多个目标订阅服务器。
可选的,当目标订阅服务器为多个时,确定第一订阅服务器的目标订阅服务器之后,还可以包括:根据排序结果,确定每个目标订阅服务器的优先级。相应的,通知第一订阅服务器从目标订阅服务器中订阅消息,可以包括:向第一订阅服务器发送每个目标订阅服务器的优先级,通知第一订阅服务器根据每个目标订阅服务器的优先级,从目标订阅服务器订阅消息。
本实施例中,当目标订阅服务器为多个时,在根据排序结果,从订阅服务器集合中确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器后,可以根据排序结果,确定每个目标订阅服务器的优先级,并向第一订阅服务器发送每个目标订阅服务器的优先级,以使第一订阅服务器可以按目标订阅服务器的优先级,顺序选择目标订阅服务器,从选择的目标订阅服务器中订阅消息。其中,目标订阅服务器的优先级越高,订阅时间信息越小。
例如,结合步骤301至步骤302,在线性排序结果中,第一订阅服务器为订阅服务器1时,存储服务器1可以根据线性排序结果,确定订阅服务器1的目标订阅服务器为订阅服务器2、订阅服务器3和订阅服务器4。由于在线性排序结果中,按订阅时间信息的大小,订阅服务器4大于订阅服务器3大于订阅服务器2,则可以确定订阅服务器2的优先级高于订阅服务器3,订阅服务器3的优先级高于订阅服务器4。
相同的,在二叉树排序结果中,可以根据每个目标订阅服务器在二叉树中的节点位置确定目标订阅服务器的优先级。例如,第一订阅服务器为订阅服务器1时,订阅服务器1的目标订阅服务器中,订阅服务器4对应的节点为订阅服务器2和订阅服务器3对应的节点的父节点,则可以确定订阅服务器2和订阅服务器3的优先级高于订阅服务器4,此时订阅服务器2和订阅服务器3的优先级可以相同。
本实施例中,根据排序结果,设置目标订阅服务器的优先级,如果确定了每个目标订阅服务器对应的优先级,当目标订阅服务器为多个时,可以使第一订阅服务器按照优先级,顺序从各目标订阅服务器订阅消息。优先级的设置可以避免同时作为多个第一订阅服务器的目标订阅服务器时,通信负载过高和机器资源损耗的问题。例如,参照图4,在线性排序中,订阅服务器4可以同时为订阅服务器1、订阅服务器2和订阅服务器3的目标订阅服务器,若订阅服务器1、订阅服务器2和订阅服务器3同时从订阅服务器4中订阅消息,则会使得订阅服务器4需要同时与订阅服务器1、订阅服务器2和订阅服务器3进行通信,导致订阅服务器4的通信负载过高。此时,按优先级顺序,使得订阅服务器1按优先级顺序首先从订阅服务器2订阅消息,订阅服务器2按优先级顺序首先从订阅服务器3订阅消息,可以避免订阅服务器1、订阅服务器2和订阅服务器3同时从订阅服务器4订阅消息,同时与订阅服务器4通信,可以降低订阅服务器4的通信负载。
需要说明的是,根据每个订阅服务器的订阅时间信息,对订阅服务器集合中的订阅服务器进行排序,得到的排序结果可以是任意可以确定第一订阅服务器,以及第一订阅服务器的目标订阅服务器排序结果,本实施例对排序结果的具体形式不作限制。
步骤303,存储服务器通知第一订阅服务器从目标订阅服务器中订阅消息。
本实施例中,存储服务器在确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器后,可以向第一订阅服务器发送通知,以通知第一订阅服务器从目标订阅服务器中订阅消息。
可选的,通知第一订阅服务器从目标订阅服务器中订阅消息,可以包括:向第一订阅服务器发送目标订阅服务器的标识信息,以使第一订阅服务器根据标识信息从目标订阅服务器中订阅消息。
本实施例中,目标订阅服务器的标识信息为唯一标识目标订阅服务器的标识信息。具体的,标识信息中可以包括目标订阅服务器的IP地址,结合步骤301至步骤302,存储服务器1在确定订阅服务器1为第一订阅服务器,并确定订阅服务器1的目标订阅服务器为订阅服务器2、订阅服务器3和订阅服务器4后,可以将IP地址:192.168.2.3(订阅服务器2的IP地址)、IP地址:192.168.2.4(订阅服务器3的IP地址)和192.168.2.5(订阅服务器4的标识)发送至订阅服务器1,以通知订阅服务器1可以从IP地址192.168.2.3、IP地址192.168.2.4和IP地址192.168.2.4分别对应的订阅服务器中订阅下次需要订阅的时间点为006至010的5个消息。
可选的,该标识信息中还可以包括目标订阅服务器的优先级标识。
本实施例中,存储服务器向第一订阅服务器发送目标订阅服务器的标识信息中可以包括每个目标订阅服务器的优先级标识。例如,结合步骤303,存储服务器在确定订阅服务器1的每个目标订阅服务器的优先级后,可以设置每个目标订阅服务器的优先级标识。例如,设置订阅服务器4的优先级为3、订阅服务器3的优先级为2,订阅服务器2的优先级标识为1。优先级标识的设置可参照现有技术,本实施例对此不做限制。
实际使用时,标识信息中包括的具体数据,以及标识信息的具体形式可以根据需求进行设置,本实施例对此不做限制。
步骤304,第一订阅服务器接收存储服务器发送的通知。
本实施例中,第一订阅服务器可以接收并解析存储服务器发送的通知,根据该通知确定目标订阅服务器,以从目标订阅服务器中订阅消息。
例如,结合步骤303,当存储服务器1向订阅服务器1发送目标订阅服务器的标识信息,该标识信息中包括目标订阅服务器的IP地址时,订阅服务器1接收到存储服务器1发送的标识信息中包括的IP地址时,可以根据IP地址确定目标订阅服务器为订阅服务器2、订阅服务器3和订阅服务器4。对应的,当存储服务器1发送的标识信息中还包括每个目标订阅服务器对应的优先级标识时,订阅服务器1可以同时确定每个目标订阅服务器的优先级。
实际使用时,第一订阅服务器接收存储服务器发送的通知,并解析的过程可参照现有技术中服务器接收信息并解析的过程,本实施例对此不做限制。
步骤305,第一订阅服务器根据通知从目标订阅服务器中订阅消息。
本实施例中,第一订阅服务器在接收到存储服务器发送的通知,确定目标订阅服务器时,可以向目标订阅服务器发送订阅请求,以订阅并存储消息。
例如,结合步骤304,当订阅服务器1确定目标订阅服务器为订阅服务器2、订阅服务器3和订阅服务器4时,并确定订阅服务器2、订阅服务器3和订阅服务器4分别对应的IP地址时,可以依次从订阅服务器2、订阅服务器3和订阅服务器4中选择任意一个,从中订阅消息,直至订阅到时间点为006至010的5个消息,并将订阅到的消息进行存储。
相应的,当标识信息中还包括每个订阅服务器对应的优先级标识时,订阅服务器1同时确定了每个目标订阅服务器的优先级。此时,订阅服务器1可以根据优先级,首先从订阅服务器2订阅消息,若未从订阅服务器2订阅到消息,则从订阅服务器3订阅消息,若为从订阅服务器3订阅到消息,则订阅服务器1可以直接从订阅服务器3中消息。第一订阅服务器根据优先级标识,从多个目标订阅服务器中订阅消息的过程可参照现有技术中优先级的使用方法,本实施例对此不做限制。
可选的,第一订阅服务器若从目标订阅服务器中订阅到消息,则根据订阅到的消息确定反馈信息,向存储服务器发送反馈信息。若未从目标订阅服务器中订阅到消息,则向存储服务器发送订阅请求,从存储服务器中订阅消息。
本实施例中,第一订阅服务器从目标订阅服务器中订阅到消息,根据订阅到的消息确定反馈信息,向存储服务器发送反馈信息的过程可参考步骤301,在此不做赘述。
本实施例中,若第一订阅服务器未从目标订阅服务器中订阅到消息,则向存储服务器发送订阅请求,从存储服务器中订阅消息。例如,结合步骤301至步骤305,若订阅服务器1未从订阅服务器2、订阅服务器3和订阅服务器4中订阅到时间点为006至010的5个消息,则订阅服务器1可以向存储服务器1或存储服务器2发送订阅请求(订阅服务器1并不确定时间点为006至010的具体存储位置,因此可以随机的向存储服务器1或存储服务器2发送订阅请求),以订阅时间点为006至010的5个消息。
需要说明的是,每个存储服务器针对其存储的每个消息队列,可以确定订阅该消息队列中消息的订阅服务器集合中的第一订阅服务器,以及第一订阅服务器的目标订阅服务器。例如,参照图4,存储服务器1存储有消息队列1和消息队列2,存储服务器1针对订阅消息队列1中消息的订阅服务器1、订阅服务器2、订阅服务器3和订阅服务器4,确定第一订阅服务器,并确定每个第一订阅服务器的第一订阅对象信息。同理,存储服务器1针对订阅消息队列2中消息的订阅服务器A、订阅服务器B、订阅服务器C和订阅服务器D,确定第一订阅服务器,并确定每个第一订阅服务器的第一订阅对象信息。存储服务器2分别确定订阅消息队列1和消息队列2中消息的订阅服务器集合中的第一订阅服务器,以及第一订阅服务器的第一订阅对象信息的过程,与存储服务器1相同,在此不做赘述。
本实施例中,存储服务器获取订阅服务器集合中每个订阅服务器的订阅时间信息,根据每个订阅服务器的订阅时间信息,从订阅服务器集合中确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器,通知第一订阅服务器从目标订阅服务器中订阅消息。第一订阅服务器接收存储服务器发送的通知,根据存储服务器发送的通知从目标订阅服务器中订阅消息。通过使订阅服务器从其他订阅服务器中订阅消息队列中的消息,降低了同一时刻访问存储服务器的订阅服务器数量,进一步的降低了同一时刻访问分布式消息队列***的订阅服务器数量,有效分散了多个订阅服务器对分布式消息队列***的订阅压力,大大降低了分布式消息队列***的网络通信负载,并降低了机器资源的消耗。
可选的,订阅服务器在订阅到消息后,可以采用分片存储的方式将来自不同存储服务器的消息存储到不同的存储区域中(存储区域例如可以为分片)。例如,订阅服务器1可以设置对应存储服务器1的分片1,以及对应存储服务器2的分片2。订阅服务器1可以将从存储服务器1订阅的消息队列1中时间点为001至005的5个消息存储到分片1中,将从订阅服务器2中订阅的消息队列1中的006至010的5个消息存储到分片1中,将从订阅服务器3中订阅的消息队列1中的011至015的5个消息存储到分片1中,将从订阅服务器4中订阅的消息队列1中的016至020的5个消息存储到分片1中。结合图1举例可知,时间点为001至020的20个消息均来源于存储服务器1。同理,订阅服务器1可以将从订阅服务器2、订阅服务器3、订阅服务器4中订阅的来自存储服务器2,或者直接从存储服务器2中订阅的时间点为0031至060的消息存储到分片2中。需要说明的是,实际使用中,分片的数量根据存储服务器的数量进行设置,每个分片对应一个存储服务器。
相应的,订阅服务器1从订阅服务器2、订阅服务器3和订阅服务器4中订阅来自存储服务器1的消息队列1的消息时,分别从订阅服务器2的分片1、订阅服务器3的分片1和订阅服务器4的分片1中订阅消息队列1中的消息(分片1中的消息为订阅服务器2、订阅服务器3和订阅服务器4分别从存储服务器1订阅的消息队列1中的消息,或者从其他订阅服务器的分片1中订阅的来源于存储服务器1的消息)。同理,订阅服务器1从订阅服务器2、订阅服务器3和订阅服务器4中订阅来自存储服务器2的消息队列1的消息时,分别从订阅服务器2的分片2、订阅服务器3的分片2和订阅服务器4的分片2中订阅消息队列1中的消息(分片2中的消息为订阅服务器2、订阅服务器3和订阅服务器4分别从存储服务器2订阅的消息队列1中的消息,或者从其他订阅服务器的分片2中订阅的来源于存储服务器2消息)。订阅服务器2、订阅服务器3和订阅服务器4分别从其他订阅服务器订阅消息并保存的过程与订阅服务器1相同,在此不做赘述。
本实施例中,订阅服务器采用分片存储的方式将来自不同存储服务器的消息存储到对应的分片中,可以方便订阅服务器对消息的管理。
参照图5,图5是根据一示例性实施例示出的一种数据分发装置的框图。该数据分发装置500应用于数据分发***,数据分发***包括存储服务器和订阅服务器集合,该装置设置于存储服务器,可以包括:获取模块501、确定模块502和通知模块503。
获取模块501被配置为获取订阅服务器集合中每个订阅服务器的订阅时间信息,订阅时间信息标志订阅服务器的订阅进度。
确定模块502被配置为根据每个订阅服务器的订阅时间信息,从订阅服务器集合中确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器。
通知模块503被配置为通知第一订阅服务器从目标订阅服务器中订阅消息。
本实施例中,存储服务器获取订阅服务器集合中每个订阅服务器的订阅时间信息,订阅时间信息标志订阅服务器的订阅进度,根据每个订阅服务器的订阅时间信息,从订阅服务器集合中确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器,通知第一订阅服务器从目标订阅服务器中订阅消息。通过使订阅服务器从其他订阅服务器中订阅消息队列中的消息,降低了同一时刻访问存储服务器的订阅服务器数量,进一步的降低了同一时刻访问分布式消息队列***的订阅服务器数量,有效分散了多个订阅服务器对分布式消息队列***的订阅压力,大大降低了分布式消息队列***的网络通信负载,并降低了机器资源的消耗。
可选地,该获取模块501具体被配置为接收订阅服务器发送的订阅请求,根据订阅服务器发送的订阅请求,确定订阅服务器的订阅时间信息;或者,接收订阅服务器发送的反馈信息,根据订阅服务器发送的反馈信息,确定订阅服务器的订阅时间信息,反馈信息为订阅服务器从目标订阅服务器中订阅消息后,向存储服务器发送的包括订阅时间信息的反馈信息。
可选地,确定模块502包括:排序单元和确定单元。
该排序单元被配置为根据每个订阅服务器的订阅时间信息,对订阅服务器集合中的订阅服务器进行排序,得到排序结果。
该确定单元被配置为根据排序结果,从订阅服务器集合中确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器。
可选地,该确定单元具体被配置为若排序结果为二叉树排序结果,确定二叉树排序结果中,除二叉树的根节点对应的订阅服务器之外的其他订阅服务器为第一订阅服务器;从第一订阅服务器对应的二叉树节点的祖先节点中,选择部分或全部祖先节点对应的订阅服务器,作为第一订阅服务器的目标订阅服务器。
可选地,该确定单元具体还可以被配置为若排序结果为二叉树排序结果,确定二叉树排序结果中,除二叉树的根节点对应的订阅服务器之外的其他订阅服务器为第一订阅服务器。确定第一订阅服务器对应的二叉树节点的父节点为目标节点,将目标节点对应的订阅服务器,作为第一订阅服务器的目标订阅服务器。
可选地,该二叉树为完全二叉树或满二叉树。
可选地,确定单元具体还可以被配置为若排序结果为线性排序结果,确定线性排序结果中,除最大订阅时间信息对应的订阅服务器之外的其他订阅服务器为第一订阅服务器;从订阅服务器集合中选择大于第一订阅服务器的订阅时间信息的订阅服务器,将选择的订阅服务器作为第一订阅服务器的目标服务器。
可选地,确定单元还被配置为若目标订阅服务器为多个,确定第一订阅服务器的目标订阅服务器之后,根据排序结果,确定每个目标订阅服务器的优先级;该通知模块具体被配置为向第一订阅服务器发送每个目标订阅服务器的优先级;通知第一订阅服务器根据每个目标订阅服务器的优先级,从目标订阅服务器订阅消息。
可选地,该通知中可以包括目标订阅服务器的标识信息,该通知模块具体被配置为向第一订阅服务器发送目标订阅服务器的标识信息,以使第一订阅服务器根据标识信息从目标订阅服务器中订阅消息。
参照图6,图6是根据一示例性实施例示出的另一种数据分发装置的框图。该数据分发装置600应用于数据分发***,数据分发***包括存储服务器和订阅服务器集合,该装置设置于订阅服务器,可以包括:接收模块601和订阅模块602。
该接收模块601被配置为接收存储服务器发送的通知,该通知用于通知订阅服务器从订阅服务器的目标订阅服务器中订阅消息;其中,目标订阅服务器为存储服务器根据每个订阅服务器的订阅时间信息,从订阅服务器集合中确定订阅服务器后,为订阅服务器确定的目标订阅服务器。
该订阅模块602被配置为根据通知从目标订阅服务器中订阅消息。
本实施例中,订阅服务器接收存储服务器发送的通知,根据该通知,从目标订阅服务器中订阅消息。通过从其他订阅服务器中订阅消息队列中的消息,降低了同一时刻访问存储服务器的订阅服务器数量,进一步的降低了同一时刻访问分布式消息队列***的订阅服务器的数量,有效分散了多个订阅服务器对分布式消息队列***的订阅压力,大大降低了分布式消息队列***的网络通信负载,并降低了对机器资源的消耗。
可选地,该订阅模块602还被配置为若从目标订阅服务器中订阅到消息,则根据订阅到的消息确定反馈信息,向存储服务器发送反馈信息;若未从目标订阅服务器中订阅到消息,则向存储服务器发送订阅请求,从存储服务器中订阅消息。
可选地,该订阅模块602具体被配置为根据标识信息从目标订阅服务器中订阅消息。
本公开一示例性实施例示出一种数据分发分发***。参照图1,该数据分发***包括:至少一个订阅服务器和至少一个订阅服务器。
至少一个存储服务器被配置为获取订阅服务器集合中每个订阅服务器的订阅时间信息,订阅时间信息标志订阅服务器的订阅进度。
至少一个存储服务器还被配置为根据每个订阅服务器的订阅时间信息,从订阅服务器集合中确定第一订阅服务器,并确定第一订阅服务器的目标订阅服务器。
至少一个存储服务器还被配置为通知第一订阅服务器从目标订阅服务器中订阅消息。
至少一个第一订阅服务器被配置为接收至少一个存储服务器发送的通知,该通知用于通知第一订阅服务器从订阅服务器的目标订阅服务器中订阅消息;其中,目标订阅服务器为存储服务器根据每个订阅服务器的订阅时间信息,从订阅服务器集合中确定第一订阅服务器后,为第一订阅服务器确定的所述目标订阅服务器。
该所述至少一个订阅服务器,还被配置为根据通知从目标订阅服务器中订阅消息。
参照图7,图7是根据一示例性实施例示出的另一种数据分发装置的框图。该数据分发装置700包括:
处理器701。
用于存储该处理器701可执行指令的存储器702。
其中,该处理器701被配置为执行存储器702存储的可执行指令,以实现如图2或图3所示实施例中的数据分发方法。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器702,上述指令可由数据分发装置700的处理器701执行以完成图2或图3所示实施例中的方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
参照图8,图8是根据一示例性实施例示出的另一种数据分发装置的框图。该数据分发装置800包括:
处理器801。
用于存储该处理器801可执行指令的存储器802。
其中,该处理器801被配置为执行存储器802存储的可执行指令,以实现如图2或图3所示实施例中的数据分发方法。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器802,上述指令可由分发装置800的处理器801执行以完成图2或图3所示实施例中的方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (9)

1.一种数据分发方法,其特征在于,应用于数据分发***,所述数据分发***包括存储服务器和订阅服务器集合,所述方法执行于存储服务器,包括:
获取所述订阅服务器集合中每个订阅服务器的订阅时间信息,所述订阅时间信息标志所述订阅服务器的订阅进度;
根据每个所述订阅服务器的订阅时间信息,从所述订阅服务器集合中确定第一订阅服务器,并确定所述第一订阅服务器的目标订阅服务器,其中,根据每个所述订阅服务器的订阅时间信息,对所述订阅服务器进行排序,得到排序结果;根据所述排序结果,从所述订阅服务器集合中确定所述第一订阅服务器,并确定所述第一订阅服务器的所述目标订阅服务器,
其中,所述排序结果为二叉树排序结果,所述二叉树排序结果包括:以每个所述订阅服务器的订阅时间信息为二叉树的关键值,建立二叉树,所述二叉树中的每个节点对应所述订阅服务器集合中的一个所述订阅服务器;
通知所述第一订阅服务器从所述目标订阅服务器中订阅消息。
2.根据权利要求1所述的方法,其特征在于,所述获取所述订阅服务器集合中每个订阅服务器的订阅时间信息,包括:
接收所述订阅服务器发送的订阅请求,根据所述订阅服务器发送的所述订阅请求,确定所述订阅服务器的订阅时间信息;或者,
接收所述订阅服务器发送的反馈信息,根据所述订阅服务器发送的所述反馈信息,确定所述订阅服务器的订阅时间信息,所述反馈信息为所述订阅服务器从所述目标订阅服务器中订阅消息后,向所述存储服务器发送的包括所述订阅时间信息的反馈信息。
3.根据权利要求1所述的方法,其特征在于,所述排序结果为二叉树排序结果,所述根据所述排序结果,从所述订阅服务器集合中确定所述第一订阅服务器,并确定所述第一订阅服务器的所述目标订阅服务器,包括:
确定所述二叉树排序结果中,除二叉树的根节点对应的所述订阅服务器之外的其他订阅服务器为所述第一订阅服务器;
从所述第一订阅服务器对应的二叉树节点的祖先节点中,选择部分或全部所述祖先节点对应的所述订阅服务器,作为所述第一订阅服务器的所述目标订阅服务器。
4.一种数据分发方法,其特征在于,应用于数据分发***,所述数据分发***包括存储服务器和订阅服务器集合,所述方法执行于订阅服务器,包括:
接收所述存储服务器发送的通知,所述通知用于通知所述订阅服务器从所述订阅服务器的目标订阅服务器中订阅消息;其中,所述目标订阅服务器为所述存储服务器根据每个所述订阅服务器的订阅时间信息,从所述订阅服务器集合中确定所述订阅服务器后,为所述订阅服务器确定的所述目标订阅服务器,其中,根据每个所述订阅服务器的订阅时间信息,对所述订阅服务器进行排序,得到排序结果;根据所述排序结果,从所述订阅服务器集合中确定所述第一订阅服务器,并确定所述第一订阅服务器的所述目标订阅服务器,
其中,所述排序结果为二叉树排序结果,所述二叉树排序结果包括:以每个所述订阅服务器的订阅时间信息为二叉树的关键值,建立二叉树,所述二叉树中的每个节点对应所述订阅服务器集合中的一个所述订阅服务器;
根据所述通知,从所述目标订阅服务器中订阅消息。
5.一种数据分发装置,其特征在于,应用于数据分发***,所述数据分发***包括存储服务器和订阅服务器集合,所述装置设置于存储服务器,包括:
获取模块,被配置为获取所述订阅服务器集合中每个订阅服务器的订阅时间信息,所述订阅时间信息标志所述订阅服务器的订阅进度;
确定模块,被配置为根据每个所述订阅服务器的订阅时间信息,从所述订阅服务器集合中确定第一订阅服务器,并确定所述第一订阅服务器的目标订阅服务器,其中,根据每个所述订阅服务器的订阅时间信息,对所述订阅服务器进行排序,得到排序结果;根据所述排序结果,从所述订阅服务器集合中确定所述第一订阅服务器,并确定所述第一订阅服务器的所述目标订阅服务器,
其中,所述排序结果为二叉树排序结果,所述二叉树排序结果包括:以每个所述订阅服务器的订阅时间信息为二叉树的关键值,建立二叉树,所述二叉树中的每个节点对应所述订阅服务器集合中的一个所述订阅服务器;
通知模块,被配置为通知所述第一订阅服务器从所述目标订阅服务器中订阅消息。
6.一种数据分发装置,其特征在于,应用于数据分发***,所述数据分发***包括存储服务器和订阅服务器集合,所述装置设置于订阅服务器,包括:
接收模块,被配置为接收所述存储服务器发送的通知,所述通知用于通知所述订阅服务器从所述订阅服务器的目标订阅服务器中订阅消息;其中,所述目标订阅服务器为所述存储服务器根据每个所述订阅服务器的订阅时间信息,从所述订阅服务器集合中确定所述订阅服务器后,为所述订阅服务器确定的所述目标订阅服务器,其中,根据每个所述订阅服务器的订阅时间信息,对所述订阅服务器进行排序,得到排序结果;根据所述排序结果,从所述订阅服务器集合中确定所述第一订阅服务器,并确定所述第一订阅服务器的所述目标订阅服务器,
其中,所述排序结果为二叉树排序结果,所述二叉树排序结果包括:以每个所述订阅服务器的订阅时间信息为二叉树的关键值,建立二叉树,所述二叉树中的每个节点对应所述订阅服务器集合中的一个所述订阅服务器;
订阅模块,被配置为根据所述通知,从所述目标订阅服务器中订阅消息。
7.一种数据分发***,其特征在于,包括:至少一个存储服务器和至少一个订阅服务器;
所述至少一个存储服务器,被配置为获取订阅服务器集合中每个订阅服务器的订阅时间信息,所述订阅时间信息标志所述订阅服务器的订阅进度;
所述至少一个存储服务器,还被配置为根据每个所述订阅服务器的订阅时间信息,从所述订阅服务器集合中确定第一订阅服务器,并确定所述第一订阅服务器的目标订阅服务器;
所述至少一个存储服务器,还被配置为通知所述第一订阅服务器从所述目标订阅服务器中订阅消息;
所述至少一个订阅服务器,被配置为接收所述至少一个存储服务器发送的通知,所述通知用于通知所述订阅服务器从所述订阅服务器的目标订阅服务器中订阅消息;其中,所述目标订阅服务器为所述存储服务器根据每个所述订阅服务器的订阅时间信息,从所述订阅服务器集合中确定所述订阅服务器后,为所述订阅服务器确定的所述目标订阅服务器,其中,根据每个所述订阅服务器的订阅时间信息,对所述订阅服务器进行排序,得到排序结果;根据所述排序结果,从所述订阅服务器集合中确定所述第一订阅服务器,并确定所述第一订阅服务器的所述目标订阅服务器,
其中,所述排序结果为二叉树排序结果,所述二叉树排序结果包括:以每个所述订阅服务器的订阅时间信息为二叉树的关键值,建立二叉树,所述二叉树中的每个节点对应所述订阅服务器集合中的一个所述订阅服务器;
所述至少一个订阅服务器,还被配置为根据所述通知,从所述目标订阅服务器中订阅消息。
8.一种数据分发装置,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至3中任一项所述的数据分发方法。
9.一种存储介质,当所述存储介质中的指令由数据分发装置的处理器执行时,使得数据分发装置能够执行如权利要求1至3中任一项所述的数据分发方法。
CN201910985286.6A 2019-10-16 2019-10-16 数据分发方法、装置及存储介质 Active CN110839061B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910985286.6A CN110839061B (zh) 2019-10-16 2019-10-16 数据分发方法、装置及存储介质
PCT/CN2020/118122 WO2021073405A1 (zh) 2019-10-16 2020-09-27 数据分发方法、电子设备及存储介质
EP20875899.5A EP3998754B1 (en) 2019-10-16 2020-09-27 Data distribution method, storage server and subscription server
US17/668,730 US20220166842A1 (en) 2019-10-16 2022-02-10 Data distribution method and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910985286.6A CN110839061B (zh) 2019-10-16 2019-10-16 数据分发方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN110839061A CN110839061A (zh) 2020-02-25
CN110839061B true CN110839061B (zh) 2020-11-06

Family

ID=69575469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910985286.6A Active CN110839061B (zh) 2019-10-16 2019-10-16 数据分发方法、装置及存储介质

Country Status (4)

Country Link
US (1) US20220166842A1 (zh)
EP (1) EP3998754B1 (zh)
CN (1) CN110839061B (zh)
WO (1) WO2021073405A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110839061B (zh) * 2019-10-16 2020-11-06 北京达佳互联信息技术有限公司 数据分发方法、装置及存储介质
CN111935242B (zh) * 2020-07-16 2023-06-02 北京达佳互联信息技术有限公司 数据传输方法、装置、服务器以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104980880A (zh) * 2014-04-10 2015-10-14 株式会社东芝 通信装置以及通信方法
CN106357728A (zh) * 2016-08-25 2017-01-25 广州小百合信息技术有限公司 信息处理方法、***及终端
CN108881963A (zh) * 2018-05-30 2018-11-23 歌尔科技有限公司 数据获取方法、服务端及客户端

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110214051A1 (en) * 2009-09-04 2011-09-01 Dejan Petronijevic Methods and apparatus to subscribe for change notifications in a document management system
US8442480B2 (en) * 2010-12-01 2013-05-14 T-Mobile Usa, Inc. Priority communications in a shared access telecommunications network
US20120157795A1 (en) * 2010-12-15 2012-06-21 Ross Medical Corporation Patient Emergency Response System
US20140372516A1 (en) * 2011-02-02 2014-12-18 Imvu Inc. System and method for providing a scalable translation between polling-based clients and connection-based message queues
WO2012131429A1 (en) * 2011-03-29 2012-10-04 Yogesh Chunilal Rathod A method and system for dynamically publishing, sharing, communication and subscribing
US8990301B2 (en) * 2012-08-22 2015-03-24 International Business Machines Corporation Broker designation and selection in a publish-subscription environment
US9805078B2 (en) * 2012-12-31 2017-10-31 Ebay, Inc. Next generation near real-time indexing
US10178421B2 (en) * 2015-10-30 2019-01-08 Rovi Guides, Inc. Methods and systems for monitoring content subscription usage
CN106790402B (zh) * 2016-11-29 2020-10-23 苏州浪潮智能科技有限公司 信息化体系结构中间件数据并行分发方法及***
JP6584440B2 (ja) * 2017-01-27 2019-10-02 キヤノン株式会社 情報処理システム、情報処理ステムの制御方法およびそのプログラム。
US10764284B2 (en) * 2017-09-07 2020-09-01 Verizon Patent And Licensing Inc. Method and system for dynamic data flow enforcement
CN108427725B (zh) * 2018-02-11 2021-08-03 华为技术有限公司 数据处理方法、装置和***
US11082505B2 (en) * 2019-07-29 2021-08-03 Cisco Technology, Inc. Dynamic discovery of available storage servers
CN110839061B (zh) * 2019-10-16 2020-11-06 北京达佳互联信息技术有限公司 数据分发方法、装置及存储介质
US11700251B1 (en) * 2020-06-17 2023-07-11 Cyber Sonata, LLC Modification of device behavior for use in secure networking
US11799983B2 (en) * 2021-11-19 2023-10-24 Motorola Solutions, Inc. Ranking internet of things (IoT) data based on IoT analytics services

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104980880A (zh) * 2014-04-10 2015-10-14 株式会社东芝 通信装置以及通信方法
CN106357728A (zh) * 2016-08-25 2017-01-25 广州小百合信息技术有限公司 信息处理方法、***及终端
CN108881963A (zh) * 2018-05-30 2018-11-23 歌尔科技有限公司 数据获取方法、服务端及客户端

Also Published As

Publication number Publication date
CN110839061A (zh) 2020-02-25
WO2021073405A1 (zh) 2021-04-22
EP3998754B1 (en) 2023-11-15
EP3998754A1 (en) 2022-05-18
US20220166842A1 (en) 2022-05-26
EP3998754A4 (en) 2022-10-05

Similar Documents

Publication Publication Date Title
CN108268372B (zh) Mock测试处理方法、装置、存储介质和计算机设备
CN104052803A (zh) 一种去中心化的分布式渲染方法及渲染***
CN115408604A (zh) 用于递送实时消息的消息传递平台
CN103248645A (zh) Bt离线数据下载***及方法
CN111614748B (zh) 用于可扩展的对等匹配的设备及方法
CN110336848B (zh) 一种访问请求的调度方法及调度***、设备
CN108390933B (zh) 消息分发方法、装置、服务器及存储介质
CN108881354A (zh) 一种推送信息存储方法、装置、服务器和计算机存储介质
US20220166842A1 (en) Data distribution method and electronic device
US20200329118A1 (en) Data transmission scheduling method and system
CN109413202B (zh) 区块链交易信息的排序***及方法
CN111541684B (zh) 直播间的信令发送方法、装置、服务器及存储介质
CN107566321B (zh) 文件的发送方法、装置及***
CN111935242B (zh) 数据传输方法、装置、服务器以及存储介质
CN109325056A (zh) 一种大数据处理方法及装置、通信设备
CN111083204B (zh) 文件传输方法、装置及存储介质
CN113806177A (zh) 集群监控的方法、装置、电子设备及存储介质
CN106411713B (zh) 一种状态通知方法及服务器
CN113014422B (zh) 一种内容分发网络带宽调度的方法、装置及设备
CN111475315B (zh) 服务器及订阅通知推送控制、执行方法
CN111010290B (zh) 业务日志的处理方法、装置、电子设备及存储介质
CN112169312A (zh) 云游戏服务的排队调度方法、装置、设备和存储介质
CN111782688B (zh) 基于大数据分析的请求处理方法、装置、设备及存储介质
CN111309467B (zh) 任务分发方法及装置、电子设备及存储介质
CN111726417B (zh) 延时控制方法、装置、服务器及存储介质

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