CN104753994A - 基于集群服务器系统的数据同步方法及其装置 - Google Patents

基于集群服务器系统的数据同步方法及其装置 Download PDF

Info

Publication number
CN104753994A
CN104753994A CN201310742723.4A CN201310742723A CN104753994A CN 104753994 A CN104753994 A CN 104753994A CN 201310742723 A CN201310742723 A CN 201310742723A CN 104753994 A CN104753994 A CN 104753994A
Authority
CN
China
Prior art keywords
node
cluster
host node
task
nodes
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
CN201310742723.4A
Other languages
English (en)
Other versions
CN104753994B (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201310742723.4A priority Critical patent/CN104753994B/zh
Publication of CN104753994A publication Critical patent/CN104753994A/zh
Application granted granted Critical
Publication of CN104753994B publication Critical patent/CN104753994B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及云存储领域,公开了一种基于集群服务器系统的数据同步方法及其装置。动态选举主节点并在工作节点接收任务后在集群中通知主节点进行处理,有效保证了数据一致性,同时避免在各个节点的进程之间互斥同步,降低系统开销。本发明中,该集群服务器系统包括至少一个集群,集群包括至少三个节点,基于集群服务器系统的数据同步方法包括以下步骤:从集群中动态选举一个节点作为主节点,并将其他的各节点作为工作节点;若工作节点接收到任务请求,则通知集群中的其他各节点处理该任务;集群中的其他各节点在接收到通知后,判断自身是否是主节点;若是主节点,则该主节点处理任务,并反馈该处理结果。

Description

基于集群服务器系统的数据同步方法及其装置
技术领域
本发明涉及云存储领域,特别涉及一种数据同步技术。
背景技术
在基于云存储技术的实际应用中,通常都使用集群技术,将两台或多台计算机节点构成一种松散耦合的计算节点集合,为用户提供了更高效的容错和故障恢复能力,增加了对海量任务的实时处理能力,从而提供了更好的可靠性和实用性。
在云存储系统中,通过使用集群技术将多台服务器组成一个集群,该集群通过一个集群虚拟IP地址(Virtual Internet Protocol,简称“VIP”)对外提供服务,平台通过唯一的集群VIP与集群系统通信,集群中所有服务器均可以接收并处理用户发送的请求,这样极大提高了响应用户请求的能力。
集群中的多个节点可分为主节点(master节点)和工作节点(worker节点)两类角色,master由组建集群初期根据规则竞选出来,当master的负载达到某个阈值时,再次触发集群中的节点重新竞选出master节点。集群中有且只有一个节点是master,其余的节点均为worker节点。
在集群中如何保证数据的一致性的技术问题中,目前很多方案都采用在集群中加入分布式锁或令牌锁进行读写数据的同步,分布式锁是基于集群管理者或集群协调服务者Zookeeper的一种进程间锁机制。该解决方案与内核中的锁类似,当需要对共享数据进行操作时上锁操作(lock),对共享数据读写操作完成后开锁操作(unlock)。
本发明的发明人发现,对于同步数据不频繁的系统可以采用这种分布式锁或令牌锁的方案,但是对于管理计划或任务众多的云存储系统且以及常会涉及到的对计划多种类别操作,因此若采用分布式锁方案,则集群中会在进程间频繁的加锁和/或解锁,从而耗费大量的系统资源,降低了云存储系统的性能。
另外,采用分布式锁或令牌锁的方案,还要承担一定的死锁的风险,例如云存储中的某一个节点异常退出后,对应的竞争资源id一直没有删除,下一个id一直无法获取到锁对象。此时就会导致集群中所有节点无法申请到锁,影响云存储的其他功能。
更进一步地,分布式锁也有一定几率存在同时获取到锁的情况。例如网络延迟比较大的时候会出现会话超时,Zookeeper就会认为会话超时的该节点已关闭,从而销毁其id标识,竞争资源的下一个id就可以获取锁。这时可能会有两个节点同时拿到锁,同时对数据进行读写操作,从而导致数据的不一致性。
发明内容
本发明的目的在于提供一种基于集群服务器系统的数据同步方法及其装置,动态选举主节点并在工作节点接收任务后在集群中通知主节点进行处理,有效保证了数据一致性,同时避免在各个节点的进程之间互斥同步,降低系统开销。
为解决上述技术问题,本发明的实施方式公开了一种基于集群服务器系统的数据同步方法,该集群服务器系统包括至少一个集群,集群包括至少三个节点,该数据同步方法包括以下步骤:
从集群中动态选举一个节点作为主节点,并将其他的各节点作为工作节点;
工作节点若接收到任务请求,则通知集群中的其他各节点处理该任务;
集群中的其他各节点在接收到通知后,判断自身是否是主节点;
若是主节点,则该主节点处理任务,并反馈该处理结果。
本发明的实施方式还公开了一种基于集群服务器系统的数据同步装置,该集群服务器系统包括至少一个集群,集群包括至少三个节点,该同步装置包括:
集群管理模块,用于从集群中动态选举一个节点作为主节点,并将其他的各节点作为工作节点;
消息模块,用于集群管理模块确定的工作节点若接收到任务请求,则通知集群中的其他各节点处理该任务;
自测模块,用于集群中的其他各节点在接收到消息模块发送的通知后,判断自身是否是主节点;
处理模块,用于在自测单元判定节点为主节点时,在该主节点上处理任务;
反馈模块,用于在处理单元任务处理结束后,反馈该处理结果。
本发明实施方式与现有技术相比,主要区别及其效果在于:
动态选举主节点并在工作节点接收任务后在集群中通知主节点进行处理,有效保证了数据一致性,同时避免在各个节点的进程之间互斥同步,降低系统开销。并进一步地,在处理每个任务前先自行进行主节点的判断,有效地避免在主节点切换时,可能存在两个以上节点同时处理任务导致数据不一致的情况。并进一步地,可以防止主节点新老交替时任务的遗漏,尤其适合主节点经常变化或切换的情形,并且工作节点上可以不存储主节点的信息,或者说工作节点可以不知道哪一个是主节点,尤其适合工作节点可以动态加入的应用场景。
进一步地,工作节点将任务存储在集群数据库,然后主节点接收到通知后从该数据库中去取任务处理,并在处理结束后将该任务从数据库中删除,保证有前后执行时序关系的多个任务的有序和正确处理。
进一步地,在主节点处理任务之前,利用实时节点信息,进行主节点的实时动态确定,可以进一步有效地避免在主节点切换时,可能存在两个以上节点同时处理任务的情况,从而保证数据的一致性。并进一步地,由于主节点是根据实时节点信息动态确定的,在集群组建或者维护的时候无需保证内部节点个数必须是奇数的情形,而只要保证节点个数为大于等于3即可,这样更加简单且便捷。
进一步地,采用计算二级负载能力或者多级负载能力并进行比较方式,并且随所负载能力级数增加依次侧重考虑CPU利用率和系统吞吐量,可以动态、实时和准确地选举出唯一的主节点以进行任务处理,从而保证数据的一致性。
进一步地,通过对主节点的负载能力的阈值判定,可以进一步实现主节点的实时动态确定,以保证集群在运行过程中,主节点的负载能力远远处理不了任务,而需要进行主节点的切换时集群数据库中的数据一致性。
附图说明
图1是本发明第一实施方式中一种基于集群服务器系统的数据同步方法的流程示意图;
图2是本发明第二实施方式中一种基于集群服务器系统的数据同步方法的流程示意图;
图3是本发明第二实施方式中一种基于集群服务器系统的数据同步方法的流程示意图;
图4是本发明第二实施方式中一种基于集群服务器系统的数据同步方法的序列图;
图5是本发明第三实施方式中一种基于集群服务器系统的数据同步装置的结构示意图。
具体实施方式
在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
本发明第一实施方式涉及一种基于集群服务器系统的数据同步方法。图1是该基于集群服务器系统的数据同步方法的流程示意图。该集群服务器系统包括至少一个集群,集群包括至少三个节点,如图1所示,该基于集群服务器系统的数据同步方法包括以下步骤:
在步骤101中,从集群中动态选举一个节点作为主节点,并将其他的各节点作为工作节点。
此后进入步骤102中,若工作节点接收到任务请求,则通知集群中的其他各节点处理该任务。
此后进入步骤103中,集群中的其他各节点在接收到通知后,判断自身是否是主节点。
若是,则进入步骤104;否则,结束此流程。
或者对于不是主节点的工作节点,则返回步骤102中,用于接收任务请求。
在步骤104中,若是主节点,则该主节点处理任务,并反馈该处理结果,此后结束此流程。
动态选举主节点并在工作节点接收任务后在集群中通知主节点进行处理,有效保证了数据一致性,同时避免在各个节点的进程之间互斥同步,降低系统开销。并进一步地,在处理每个任务前先自行进行主节点的判断,有效地避免在主节点切换时,可能存在两个以上节点同时处理任务导致数据不一致的情况。并进一步地,可以防止主节点新老交替时任务的遗漏,尤其适合主节点经常变化或切换的情形,并且工作节点上可以不存储主节点的信息,或者说工作节点可以不知道哪一个是主节点,尤其适合工作节点可以动态加入的应用场景。
另外,本方案不依赖分布式锁,不存在加锁/解锁异常的情况,只要集群中的主节点存在就可以保证集群环境中的数据一致性。该方案也可以避免因网络延时较大,多个节点同时获取到锁,对共享数据进行读写操作,从而影响集群中的数据一致性。
此外,可以理解,若工作节点接收到任务请求,则通知集群中的其他各节点处理该任务所采取的消息通信机制,可以是广播通信方式,或单播方式,或多播方式。例如,可以根据集群管理员(Zookeeper)特定端口命令反馈信息,要使其他各节点判断自身是否为主节点的话,接收到任务请求的节点才采用广播通信方式通知其他各节点,这样可以保证每个节点都能被通知到,从而使主节点能被通知到进行任务处理。若接收到任务请求的工作节点与主节点有链路直接连接通信,则工作节点接收到任务后,通过单播方式直接通知主节点处理任务。若在主节点切换前后,如果采取工作节点直接与主节点有链路连接,则工作节点接收到任务时,通过多播方式,通知切换前后的主节点进行任务处理,由切换后新产生的主节点进行处理。在上述单播方式或多播方式中,集群包括至少两个节点,然后通过动态选举出主节点,将其他的节点作为工作节点。
如果工作节点通知失败、或者没有主节点进行处理任务或者任务处理失败,可以采用任务请求后应答超时的预警机制或者根据结果反馈的错误信息,如果超时,由用户重新发出任务请求,如果处理失败的错误,则查找错误原因,进行集群恢复处理。例如,根据错误码进行处理的主要是根据“请求/应答”方式进行处理。
如登录请求:
应答:
1002:密码错误
主节点也具有接收同步任务的功能,当主节点接收到同步任务时,则在确定自己是主节点后处理该任务,并反馈处理结果。
本发明第二实施方式涉及一种基于集群服务器系统的数据同步方法。图2和3是该基于集群服务器系统的数据同步方法的流程示意图,图4是该基于集群服务器系统的数据同步方法的序列图。
第二实施方式在第一实施方式的基础上进行了改进,主要改进之处在于:工作节点将任务存储在集群数据库,然后主节点接收到通知后从该数据库中去取任务处理,并在处理结束后将该任务从数据库中删除,保证有前后执行时序关系的多个任务的有序和正确处理。在主节点处理任务之前,利用实时节点信息,进行主节点的实时动态确定,可以进一步有效地避免在主节点切换时,可能存在两个以上节点同时处理任务的情况,从而保证数据的一致性。采用计算二级负载能力或者多级负载能力并进行比较方式,并且随所计算的负载能力级数增加依次侧重考虑CPU利用率和系统吞吐量,可以动态、实时和准确地选举出唯一的主节点以进行任务处理。通过对主节点的负载能力的阈值判定,可以进一步实现主节点的实时动态确定,以保证集群在运行过程中,主节点的负载能力远远处理不了任务,而需要进行主节点的切换时集群数据库中的数据一致性。如图2所示,具体地说:
在步骤201中,在从集群中动态选举一个节点作为主节点,并将其他的各节点作为工作节点。
此后进入步骤202,当工作节点接收到任务请求时,将该任务存储在与集群对应的集群数据库中。
集群中的节点在接收到新的任务后,按照设计好的格式将任务保存在集群数据库,任务格式如下:
由分布式集群数据库hbase生成的自增字段任务id,hbase根据这个id可以迅速查询出任务,记录了要对录像计划做的处理的任务内容plancontent,遵循以下协议:
1、cameraid:add对cameraid的录像计划进行下发处理。
2、cameraid:modify对cameraid的录像计划进行修改处理。
3、cameraid:del对cameraid的录像计划进行删除处理。
4、cameraid:switch对cameraid的录像计划进行切换处理。
此后进入步骤203,工作节点通知集群中的其他各节点处理该任务。
此后进入步骤204,集群中的其他各节点在接收到通知后,判断自身是否是主节点。
若是,则进入步骤205;否则,结束本流程。
或者,不作任何处理,返回执行步骤202。
在步骤205中,若是主节点,则该主节点处理从集群数据库中取出来的任务。
此后进入步骤206,主节点处理任务结束后,将该任务从集群数据库中删除并向上层用户反馈处理结果,此后结束本流程。
在集群实际运行中,可能会出现master节点切换的情况,如master节点崩溃,master节点负载超过阈值。那么此时,很可能会出现切换前的master与切换后的master同时在向集群数据库中读取任务或者直接接收任务,然后处理该任务的情况,那么此时的数据一致性就无法得到保证。
有空闲节点就接收任务请求,优选地,主节点处理集群数据库中的任务依据先进先出(First In First Out,简称“FIFO”)的原则,好处是容易实现比较简单,避免先到的任务被覆盖掉,例如:集群数据库中已经存在数据B,三个任务先后顺序分别为修改数据A为B、删除数据B,最后反馈到用户的处理结果是集群数据库中并不存在数据B,如果先执行删除数据B,再执行修改数据A为B,则集群数据库中仍然存在数据B,与用户请求的结果不一致。
任务调度机制并不仅限于FIFO,也可以是优选权机制等,根据相应的机制特点进行调度。
作为本发明的一个优选实施方式,在处理上述无法保障数据一致性的情形时,可以按照以下方式进行处理:
master节点每处理完一个任务并反馈处理结果之后,并不立即根据新到任务请求的通知,去集群数据库中取另外一条任务,而是首先判断自身是否仍旧是master节点。
若仍旧是master节点,则去集群数据库中取另外一条任务进行处理。
若判断不再是master节点了,那么由之前进行通知的工作节点再次向集群中的其他各个节点再次发送出广播通知。
集群中的其他各个节点接受到通知后,判断自身是不是master节点,若是,则从集群数据库中取出任务并进行处理,处理结束后删除该任务,然后反馈处理结果。
如图3所示,该数据同步方法还包括以下步骤:
在步骤301中,集群中的各个节点上报自身信息,该信息包括CPU利用率、吞吐量和内存利用率。
此后进入步骤302,根据上述信息,计算各个节点的第一负载能力。
此后进入步骤303,将第一负载能力最大的节点确定为主节点,将其余节点确定为工作节点。
此后进入步骤304,集群中的其他各节点在接收到通知后,判断自身是否是主节点。
若是,则进入步骤305;否则,返回执行步骤301。
在步骤305中,若是主节点,则该主节点处理任务,并在处理任务结束后,将该任务从集群数据库中删除并反馈处理结果,此后结束本流程。
此外,可以理解,在集群刚组建或者在集群运行过程中,集群中的各个节点第一负载能力或第一剩余负载水平通过不同占比的CPU空闲率(即1-CPU利用率)、内存剩余利用率(即1-内存利用率)和带宽利用率(或系统吞吐量)等因素综合计算得到。
作为本发明的一个优选实施方式,各节点可以将自身信息上报给Zookeeper等综合管理模块或者硬件进行统计获得第一负载能力。
基于云存储的集群服务器系统刚组建成功时,集群中的各个节点首先竞选或选举出主节点(master),竞选过程遵循以下规则:
在集群刚组建时,各个节点同时上报自身的内存利用率,cpu利用率,网络利用率,选举其中综合压力最小或第一负载能力最大的节点作为主节点,其他节点为工作节点(worker)。
在集群运行过程中,若master节点出现异常或崩溃,则执行上述动态选举方法,根据集群中的其余节点所上报的负载信息中,重新选举出一个master节点。
若云存储无法选举出master节点,则云存储系统不能对外提供服务。
在将第一负载能力最大的节点确定为主节点,将其余节点确定为工作节点的步骤之后,包括以下步骤:
判断主节点的个数是否为一个。
若否,则根据各被判定为主节点的节点的CPU利用率和吞吐量,计算这些节点的第二负载能力。
将第二负载能力最大的节点确定为主节点,将其余节点确定为工作节点。
在集群实际运行时,一般而言,计算节点的负载能力的三个参数中,CPU利用率占比应大于系统吞吐量占比、而系统吞吐量的占比应大于内存利用率的占比。但在本发明的其他某些实施方式中,也并不仅限于这种方式,也可以是系统吞吐量占比大于CPU利用率占比等等。
如果通过上述第一负载能力和第二负载能力的方式所确定的主节点个数仍然不唯一,则以各被判定为主节点的节点的CPU利用率进行参考,计算这些节点的第三负载能力,并将第三负载能力最大的节点确定为主节点,将其余节点确定为工作节点。
如果通过上述第三负载能力所确定的主节点个数仍然不唯一,则以各被判定为主节点的节点的吞吐量进行参考,计算这些节点的第四负载能力,并将第四负载能力最大的节点确定为主节点,将其余节点确定为工作节点。
如果通过上述第四负载能力所确定的主节点个数仍然不唯一,则以各被判定为主节点的节点的内存利用率进行参考,计算这些节点的第五负载能力,并将第五负载能力最大的节点确定为主节点,将其余节点确定为工作节点。
综上,通过合理考虑CPU利用率、吞吐量和内存利用率的主次和/或占比,计算第N(N为大于等于3的正整数)负载能力并进行比较,直到确定唯一的主节点为止。
在主节点处理任务的步骤之前,还包括以下步骤:
判断该主节点的第M负载能力是否大于预定的阈值,M为大于等于1的正整数。
若否,则进入从集群中动态选举一个节点作为主节点,并将其他的各节点作为工作节点的步骤。
当集群组建时,或者集群运行时,主节点处理完一个任务时,或在处理下一个任务之前,或在主节点崩溃的情况下,都执行上述动态选举主节点的步骤,进行唯一的主节点的确定。如果碰到各节点与Zookeeper断开连接以至于无法相互通信所造成的仍然确定不了主节点的情形下,则系统瘫痪做关闭处理,不对外提供任何任务处理的服务。
作为本发明的一个优选实施例,应用程序接口(Application ProgramInterface,简称“API”)发出的任务请求实际就是发送上述的xml,为了保证反馈的结果与所请求的任务相对应,则在具体实施过程中,可以采取以下方式进行处理:使一个任务请求(request)对应一个应答(response),当API发送request时,会填入一个用于标记请求发送次序且能递增的值,即协议序列号cseq值,并且该cseq值在API侧随任务请求个数自增而不重复,虚拟管理节点(Virtual Management Node,简称“VMN”)或者集群中的工作节点)收到了这个请求后,解析出cseq值并在保存后,请求虚拟管理主节点(Virtual Management Leader,简称“VML”)或主节点处理完成后,将cesq值填入并发送response给API,API根据cseq值就可以得到这个response是对应的哪一个request。
如图4所示,该数据同步方法包括以下步骤:
在步骤401中,API向VMN下发任务请求。
此后进入步骤402,VMN将接收到的任务保存到集群数据库中。
此后进入步骤403,VMN在任务保存后,通过广播通信方式通知集群中的其他节点有新任务到达且需要进行处理。
此后进入步骤404,被通知到的各个节点判断自身是否是VML,若是,则从集群数据库中取出任务进行处理。
此后进入步骤405,VML在处理结束后将任务删除,然后向进行广播通知的VMN反馈任务处理结果。
此后进入步骤406,进行广播通知的VMN向API转发任务处理结果,在主节点处理任务结束后,反馈处理结果可以通过VMN转发至API,也可以由主节点根据所接收的任务处理通知信息与API建立点对点通信链路,从而直接转发至API,而不需要借助中间节点VMN进行反馈。
此后结束本流程。
本发明的各方法实施方式均可以以软件、硬件、固件等方式实现。不管本发明是以软件、硬件、还是固件方式实现,指令代码都可以存储在任何类型的计算机可访问的存储器中(例如永久的或者可修改的,易失性的或者非易失性的,固态的或者非固态的,固定的或者可更换的介质等等)。同样,存储器可以例如是可编程阵列逻辑(Programmable Array Logic,简称“PAL”)、随机存取存储器(Random Access Memory,简称“RAM”)、可编程只读存储器(Programmable Read Only Memory,简称“PROM”)、只读存储器(Read-Only Memory,简称“ROM”)、电可擦除可编程只读存储器(Electrically Erasable Programmable ROM,简称“EEPROM”)、磁盘、光盘、数字通用光盘(Digital Versatile Disc,简称“DVD”)等等。
本发明第三实施方式涉及一种基于集群服务器系统的数据同步装置。图5是该基于集群服务器系统的数据同步装置的结构示意图。该集群服务器系统包括至少一个集群,集群包括至少三个节点,如图5所示,n为大于等于3的正整数,该基于集群服务器系统的数据同步装置包括:
集群管理模块,用于从集群中动态选举一个节点作为主节点,并将其他的各节点作为工作节点。
消息模块,用于若集群管理模块确定的工作节点接收到任务请求,则通知集群中的其他各节点处理该任务。
自测模块,用于集群中的其他各节点在接收到消息模块发送的通知后,判断自身是否是主节点。
处理模块,用于在自测单元判定节点为主节点时,在该主节点上处理任务。
反馈模块,用于在处理单元任务处理结束后,反馈该处理结果。
第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
本发明第四实施方式涉及一种基于集群服务器系统的数据同步装置。
第四实施方式在第三实施方式的基础上进行了改进,主要改进之处在于:工作节点将任务存储在集群数据库,然后主节点接收到通知后从该数据库中去取任务处理,并在处理结束后将该任务从数据库中删除,保证有前后执行时序关系的多个任务的有序和正确处理。在主节点处理任务之前,利用实时节点信息,进行主节点的实时动态确定,可以进一步有效地避免在主节点切换时,可能存在两个以上节点同时处理任务的情况,从而保证数据的一致性。采用计算二级负载能力或者多级负载能力并进行比较的方式,并且随所负载能力级数增加依次侧重考虑CPU利用率和系统吞吐量,可以动态、实时和准确地选举出唯一的主节点以进行任务处理。通过对主节点的负载能力的阈值判定,可以进一步实现主节点的实时动态确定,以保证集群在运行过程中,主节点的负载能力远远处理不了任务,而需要进行主节点的切换时集群数据库中的数据一致性。具体地说:
该同步装置还包括:
存取模块,用于若集群管理模块确定的工作节点接收到任务请求,将该任务存储在与集群对应的集群数据库中,此后由消息模块通知集群中的其他各节点处理该任务,并在主节点中的处理模块处理任务之前从集群数据库中取出任务。
清空模块,用于在处理模块处理结束后将该任务从集群数据库中删除。
各节点还包括上报模块,用于上报各节点自身信息,信息包括CPU利用率、吞吐量和内存利用率。
集群管理模块,包括以下子模块:统计子模块和确定子模块。
统计子模块,用于根据上报模块上报的信息,计算各个节点的第一负载能力。由于主节点是根据实时节点信息动态确定的,在集群组建或者维护的时候无需保证内部节点个数必须是奇数的情形,而只要保证节点个数为大于等于3即可,这样更加简单且便捷。
确定子模块,用于将统计子模块所统计出的第一负载能力最大的节点确定为主节点,将其余节点确定为工作节点。
集群管理模块,还包括以下子模块:判断子模块、统计子模块和确定子模块,其中,
判断子模块,用于判断主节点的个数是否为一个。
统计子模块,还用于若判断子模块判定主节点的个数不止一个时,则根据各被判定为主节点的节点的CPU利用率和吞吐量,计算这些节点的第二负载能力。
确定子模块,用于将统计子模块所统计出的第二负载能力最大的节点确定为主节点,将其余节点确定为工作节点。
自测模块,还用于判断该主节点的第M负载能力是否大于预定的阈值,M为大于等于1的正整数,若否,则集群管理模块执行从集群中动态选举一个节点作为主节点,并将其他的各节点作为工作节点的步骤。
第二实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。
需要说明的是,本发明各设备实施方式中提到的各模块都是逻辑模块,在物理上,一个逻辑模块可以是一个物理模块,也可以是一个物理模块的一部分,还可以以多个物理模块的组合实现,这些逻辑模块本身的物理实现方式并不是最重要的,这些逻辑模块所实现的功能的组合才是解决本发明所提出的技术问题的关键。此外,为了突出本发明的创新部分,本发明上述各设备实施方式并没有将与解决本发明所提出的技术问题关系不太密切的模块引入,这并不表明上述设备实施方式并不存在其它的模块。
需要说明的是,在本专利的权利要求和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (10)

1.一种基于集群服务器系统的数据同步方法,其特征在于,所述系统包括至少一个集群,所述集群包括至少三个节点,所述方法包括以下步骤:
从所述集群中动态选举一个节点作为主节点,并将其他的各节点作为工作节点;
所述工作节点若接收到任务请求,则通知集群中的其他各节点处理该任务;
所述集群中的其他各节点在接收到通知后,判断自身是否是主节点;
若是主节点,则该主节点处理所述任务,并反馈该处理结果。
2.根据权利要求1所述的基于集群服务器系统的数据同步方法,其特征在于,在所述从集群中动态选举一个节点作为主节点,并将其他的各节点作为工作节点的步骤之后,还包括以下步骤:
所述工作节点若接收到任务请求,则将该任务存储在与集群对应的集群数据库中,并通知该集群中的其他各节点处理该任务;
所述集群中的其他各节点在接收到通知后,判断自身是否是主节点;
若是主节点,则该主节点处理从所述集群数据库中取出来的任务,处理结束后将该任务从集群数据库中删除并反馈处理结果。
3.根据权利要求1所述的基于集群服务器系统的数据同步方法,其特征在于,所述从集群中动态选举一个节点作为主节点,并将其他的各节点作为工作节点的步骤,包括以下子步骤:
所述集群中的各个节点上报自身信息,所述信息包括中央处理单元CPU利用率、吞吐量和内存利用率;
根据所述信息,计算各个节点的第一负载能力;
将第一负载能力最大的节点确定为主节点,并将其余节点确定为工作节点。
4.根据权利要求3所述的基于集群服务器系统的数据同步方法,其特征在于,在所述将第一负载能力最大的节点确定为主节点,并将其余节点确定为工作节点的步骤之后,包括以下步骤:
判断主节点的个数是否为一个;
若否,则根据各被判定为主节点的节点的CPU利用率和吞吐量,计算这些节点的第二负载能力;
将第二负载能力最大的节点确定为主节点,将其余节点确定为工作节点。
5.根据权利要求1至4中任一项所述的基于集群服务器系统的数据同步方法,其特征在于,在所述该主节点处理任务的步骤之前,还包括以下步骤:
判断该主节点的第M负载能力是否大于预定的阈值,M为大于等于1的正整数;
若否,则进入所述从集群中动态选举一个节点作为主节点,并将其他的各节点作为工作节点的步骤。
6.一种基于集群服务器系统的数据同步装置,其特征在于,所述系统包括至少一个集群,所述集群包括至少三个节点,所述同步装置包括:
集群管理模块,用于从所述集群中动态选举一个节点作为主节点,并将其他的各节点作为工作节点;
消息模块,用于所述集群管理模块确定的工作节点若接收到任务请求,则通知集群中的其他各节点处理该任务;
自测模块,用于集群中的其他各节点在接收到所述消息模块发送的通知后,判断自身是否是主节点;
处理模块,用于在所述自测单元判定节点为主节点时,在该主节点上处理所述任务;
反馈模块,用于在所述处理单元任务处理结束后,反馈该处理结果。
7.根据权利要求6所述的基于集群服务器系统的数据同步装置,其特征在于,还包括:
存取模块,用于所述集群管理模块确定的工作节点若接收到任务请求,将该任务存储在与集群对应的集群数据库中,此后由所述消息模块通知集群中的其他各节点处理该任务,并用于在主节点中的所述处理模块处理任务之前从集群数据库中取出任务;
清空模块,用于在所述处理模块处理任务结束后,将该任务从集群数据库中删除。
8.根据权利要求6所述的基于集群服务器系统的数据同步装置,其特征在于,各节点还包括上报模块,用于上报各节点自身信息,所述信息包括CPU利用率、吞吐量和内存利用率;
所述集群管理模块,包括以下子模块:
统计子模块,用于根据所述上报模块上报的信息,计算各个节点的第一负载能力;
确定子模块,用于将所述统计子模块所统计出的第一负载能力最大的节点确定为主节点,将其余节点确定为工作节点。
9.根据权利要求8所述的基于集群服务器系统的数据同步装置,其特征在于,所述集群管理模块,还包括判断子模块,用于判断主节点的个数是否为一个;
所述统计子模块,还用于若所述判断子模块判定主节点的个数不止一个时,则根据各被判定为主节点的节点的CPU利用率和吞吐量,计算这些节点的第二负载能力;
所述确定子模块,用于将所述统计子模块所统计出的第二负载能力最大的节点确定为主节点,将其余节点确定为工作节点。
10.根据权利要求6至9中任一项所述的基于集群服务器系统的数据同步装置,其特征在于,所述自测模块,还用于判断该主节点的第M负载能力是否大于预定的阈值,M为大于等于1的正整数,若否,则所述集群管理模块执行从集群中动态选举一个节点作为主节点,并将其他的各节点作为工作节点的步骤。
CN201310742723.4A 2013-12-27 2013-12-27 基于集群服务器系统的数据同步方法及其装置 Active CN104753994B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310742723.4A CN104753994B (zh) 2013-12-27 2013-12-27 基于集群服务器系统的数据同步方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310742723.4A CN104753994B (zh) 2013-12-27 2013-12-27 基于集群服务器系统的数据同步方法及其装置

Publications (2)

Publication Number Publication Date
CN104753994A true CN104753994A (zh) 2015-07-01
CN104753994B CN104753994B (zh) 2019-04-02

Family

ID=53593091

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310742723.4A Active CN104753994B (zh) 2013-12-27 2013-12-27 基于集群服务器系统的数据同步方法及其装置

Country Status (1)

Country Link
CN (1) CN104753994B (zh)

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105306566A (zh) * 2015-10-22 2016-02-03 创新科存储技术(深圳)有限公司 一种云存储系统中选举主控节点的方法及系统
CN105429767A (zh) * 2015-10-20 2016-03-23 北京小鸟听听科技有限公司 音频组的建组方法、建组系统及设备
CN105554134A (zh) * 2015-12-23 2016-05-04 小米科技有限责任公司 信息同步方法及装置
CN106331098A (zh) * 2016-08-23 2017-01-11 东方网力科技股份有限公司 一种服务器集群系统
CN106372165A (zh) * 2016-08-31 2017-02-01 天津南大通用数据技术股份有限公司 一种基于totem协议的集群的leader选取方法及装置
CN106528574A (zh) * 2015-09-14 2017-03-22 阿里巴巴集团控股有限公司 一种数据同步方法及设备
CN106685724A (zh) * 2017-01-10 2017-05-17 网宿科技股份有限公司 基于选举的节点服务器管理方法、装置及系统
CN106921733A (zh) * 2017-02-08 2017-07-04 阿里巴巴集团控股有限公司 集群通知的推送方法、装置及电子设备
CN107453929A (zh) * 2017-09-22 2017-12-08 中国联合网络通信集团有限公司 集群系统自构建方法、装置及集群系统
CN107580074A (zh) * 2017-10-24 2018-01-12 北京无字天书科技有限公司 一种无主控网关式负载均衡接入方法
CN107688500A (zh) * 2017-07-26 2018-02-13 阿里巴巴集团控股有限公司 一种分布式任务处理方法、装置、系统及设备
CN107959719A (zh) * 2017-11-27 2018-04-24 苏州乐麟无线信息科技有限公司 一种基于缓存的多服务器调用方法及系统
CN108156203A (zh) * 2016-12-06 2018-06-12 杭州海康威视数字技术股份有限公司 一种存储系统及存储节点管理方法
CN108228328A (zh) * 2018-01-05 2018-06-29 北京奇艺世纪科技有限公司 一种流任务实现方法、装置及电子设备
CN108270831A (zh) * 2016-12-30 2018-07-10 杭州宏杉科技股份有限公司 一种仲裁者集群实现方法及装置
WO2018161342A1 (zh) * 2017-03-10 2018-09-13 深圳市博信诺达经贸咨询有限公司 监控云平台分布式系统的选举方法及系统
CN108829709A (zh) * 2018-05-03 2018-11-16 广州金山安全管理系统技术有限公司 分布式数据库管理方法、装置、存储介质和处理器
CN108924206A (zh) * 2018-06-26 2018-11-30 郑州云海信息技术有限公司 一种分布式系统的集群事件同步方法、装置及设备
WO2018224005A1 (zh) * 2017-06-08 2018-12-13 杭州海康威视数字技术股份有限公司 一种程序包部署方法、电子设备及分布式系统
CN109151045A (zh) * 2018-09-07 2019-01-04 北京邮电大学 一种分布式云系统及监控方法
CN109361777A (zh) * 2018-12-18 2019-02-19 广东浪潮大数据研究有限公司 分布式集群节点状态的同步方法、同步系统及相关装置
CN109639773A (zh) * 2018-11-26 2019-04-16 中国船舶重工集团公司第七六研究所 一种动态构建的分布式数据集群控制系统及其方法
CN109783212A (zh) * 2018-12-26 2019-05-21 亚信科技(中国)有限公司 后台进程分布式调度装置、方法、计算机设备和存储介质
CN110113395A (zh) * 2019-04-19 2019-08-09 新华三云计算技术有限公司 共享文件系统维护方法及装置
CN110300035A (zh) * 2019-05-23 2019-10-01 厦门网宿有限公司 判断存储系统负载状态的方法、系统、装置及服务器
CN110764822A (zh) * 2019-10-29 2020-02-07 道崇电子科技(嘉兴)有限公司 基于自我裁决的无主持自动选举方法
CN110853376A (zh) * 2019-09-30 2020-02-28 重庆中信科信息技术有限公司 智能网络交通信号灯
CN111338647A (zh) * 2018-12-18 2020-06-26 杭州海康威视数字技术股份有限公司 一种大数据集群管理方法和装置
CN112583875A (zh) * 2019-09-30 2021-03-30 浙江宇视科技有限公司 一种资产扫描方法及装置
CN112954008A (zh) * 2021-01-26 2021-06-11 网宿科技股份有限公司 一种分布式任务处理方法、装置、电子设备及存储介质
CN114297989A (zh) * 2021-12-16 2022-04-08 北京华夏电通科技股份有限公司 笔录同步方法、装置、电子设备及存储介质
CN115102839A (zh) * 2022-06-17 2022-09-23 济南浪潮数据技术有限公司 一种主从节点选举方法、装置、设备及介质
CN115907234A (zh) * 2023-01-06 2023-04-04 中化现代农业有限公司 病虫害预测方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070177589A1 (en) * 2006-01-31 2007-08-02 Fujitsu Limited Network system and node redundancy method of network system
CN102467508A (zh) * 2010-11-04 2012-05-23 中兴通讯股份有限公司 提供数据库服务的方法及数据库系统
CN102541693A (zh) * 2011-12-31 2012-07-04 曙光信息产业股份有限公司 数据的多副本存储管理方法和系统
CN102929696A (zh) * 2012-09-28 2013-02-13 北京搜狐新媒体信息技术有限公司 一种分布式系统中心节点构建、提交、监控方法及装置
CN103118130A (zh) * 2013-02-25 2013-05-22 汉柏科技有限公司 一种用于分布式服务的集群管理方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070177589A1 (en) * 2006-01-31 2007-08-02 Fujitsu Limited Network system and node redundancy method of network system
CN102467508A (zh) * 2010-11-04 2012-05-23 中兴通讯股份有限公司 提供数据库服务的方法及数据库系统
CN102541693A (zh) * 2011-12-31 2012-07-04 曙光信息产业股份有限公司 数据的多副本存储管理方法和系统
CN102929696A (zh) * 2012-09-28 2013-02-13 北京搜狐新媒体信息技术有限公司 一种分布式系统中心节点构建、提交、监控方法及装置
CN103118130A (zh) * 2013-02-25 2013-05-22 汉柏科技有限公司 一种用于分布式服务的集群管理方法和系统

Cited By (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528574A (zh) * 2015-09-14 2017-03-22 阿里巴巴集团控股有限公司 一种数据同步方法及设备
CN105429767B (zh) * 2015-10-20 2019-03-29 北京小鸟听听科技有限公司 音频组的建组方法、建组系统及设备
CN105429767A (zh) * 2015-10-20 2016-03-23 北京小鸟听听科技有限公司 音频组的建组方法、建组系统及设备
CN105306566A (zh) * 2015-10-22 2016-02-03 创新科存储技术(深圳)有限公司 一种云存储系统中选举主控节点的方法及系统
CN105554134A (zh) * 2015-12-23 2016-05-04 小米科技有限责任公司 信息同步方法及装置
CN105554134B (zh) * 2015-12-23 2018-12-18 小米科技有限责任公司 信息同步方法及装置
CN106331098A (zh) * 2016-08-23 2017-01-11 东方网力科技股份有限公司 一种服务器集群系统
CN106331098B (zh) * 2016-08-23 2020-01-21 东方网力科技股份有限公司 一种服务器集群系统
CN106372165A (zh) * 2016-08-31 2017-02-01 天津南大通用数据技术股份有限公司 一种基于totem协议的集群的leader选取方法及装置
CN108156203B (zh) * 2016-12-06 2021-01-08 杭州海康威视数字技术股份有限公司 一种存储系统及存储节点管理方法
CN108156203A (zh) * 2016-12-06 2018-06-12 杭州海康威视数字技术股份有限公司 一种存储系统及存储节点管理方法
CN108270831B (zh) * 2016-12-30 2021-05-07 杭州宏杉科技股份有限公司 一种仲裁者集群实现方法及装置
CN108270831A (zh) * 2016-12-30 2018-07-10 杭州宏杉科技股份有限公司 一种仲裁者集群实现方法及装置
CN106685724A (zh) * 2017-01-10 2017-05-17 网宿科技股份有限公司 基于选举的节点服务器管理方法、装置及系统
CN106685724B (zh) * 2017-01-10 2019-11-29 网宿科技股份有限公司 基于选举的节点服务器管理方法、装置及系统
CN106921733A (zh) * 2017-02-08 2017-07-04 阿里巴巴集团控股有限公司 集群通知的推送方法、装置及电子设备
WO2018161342A1 (zh) * 2017-03-10 2018-09-13 深圳市博信诺达经贸咨询有限公司 监控云平台分布式系统的选举方法及系统
WO2018224005A1 (zh) * 2017-06-08 2018-12-13 杭州海康威视数字技术股份有限公司 一种程序包部署方法、电子设备及分布式系统
CN107688500A (zh) * 2017-07-26 2018-02-13 阿里巴巴集团控股有限公司 一种分布式任务处理方法、装置、系统及设备
CN107453929A (zh) * 2017-09-22 2017-12-08 中国联合网络通信集团有限公司 集群系统自构建方法、装置及集群系统
CN107580074A (zh) * 2017-10-24 2018-01-12 北京无字天书科技有限公司 一种无主控网关式负载均衡接入方法
CN107580074B (zh) * 2017-10-24 2020-05-08 北京无字天书科技有限公司 一种无主控网关式负载均衡接入方法
CN107959719A (zh) * 2017-11-27 2018-04-24 苏州乐麟无线信息科技有限公司 一种基于缓存的多服务器调用方法及系统
CN107959719B (zh) * 2017-11-27 2020-10-27 苏州乐麟无线信息科技有限公司 一种基于缓存的多服务器调用方法及系统
CN108228328B (zh) * 2018-01-05 2020-11-06 北京奇艺世纪科技有限公司 一种流任务实现方法、装置及电子设备
CN108228328A (zh) * 2018-01-05 2018-06-29 北京奇艺世纪科技有限公司 一种流任务实现方法、装置及电子设备
CN108829709A (zh) * 2018-05-03 2018-11-16 广州金山安全管理系统技术有限公司 分布式数据库管理方法、装置、存储介质和处理器
CN108924206A (zh) * 2018-06-26 2018-11-30 郑州云海信息技术有限公司 一种分布式系统的集群事件同步方法、装置及设备
CN109151045B (zh) * 2018-09-07 2020-05-19 北京邮电大学 一种分布式云系统及监控方法
CN109151045A (zh) * 2018-09-07 2019-01-04 北京邮电大学 一种分布式云系统及监控方法
CN109639773A (zh) * 2018-11-26 2019-04-16 中国船舶重工集团公司第七六研究所 一种动态构建的分布式数据集群控制系统及其方法
CN109639773B (zh) * 2018-11-26 2021-04-13 中国船舶重工集团公司第七一六研究所 一种动态构建的分布式数据集群控制系统及其方法
CN109361777A (zh) * 2018-12-18 2019-02-19 广东浪潮大数据研究有限公司 分布式集群节点状态的同步方法、同步系统及相关装置
CN111338647A (zh) * 2018-12-18 2020-06-26 杭州海康威视数字技术股份有限公司 一种大数据集群管理方法和装置
CN111338647B (zh) * 2018-12-18 2023-09-12 杭州海康威视数字技术股份有限公司 一种大数据集群管理方法和装置
CN109783212A (zh) * 2018-12-26 2019-05-21 亚信科技(中国)有限公司 后台进程分布式调度装置、方法、计算机设备和存储介质
CN110113395B (zh) * 2019-04-19 2021-11-09 新华三云计算技术有限公司 共享文件系统维护方法及装置
CN110113395A (zh) * 2019-04-19 2019-08-09 新华三云计算技术有限公司 共享文件系统维护方法及装置
CN110300035B (zh) * 2019-05-23 2021-07-13 厦门网宿有限公司 判断存储系统负载状态的方法、系统、装置及服务器
CN110300035A (zh) * 2019-05-23 2019-10-01 厦门网宿有限公司 判断存储系统负载状态的方法、系统、装置及服务器
CN112583875A (zh) * 2019-09-30 2021-03-30 浙江宇视科技有限公司 一种资产扫描方法及装置
CN110853376A (zh) * 2019-09-30 2020-02-28 重庆中信科信息技术有限公司 智能网络交通信号灯
CN112583875B (zh) * 2019-09-30 2023-04-07 浙江宇视科技有限公司 一种资产扫描方法及装置
CN110764822A (zh) * 2019-10-29 2020-02-07 道崇电子科技(嘉兴)有限公司 基于自我裁决的无主持自动选举方法
CN112954008A (zh) * 2021-01-26 2021-06-11 网宿科技股份有限公司 一种分布式任务处理方法、装置、电子设备及存储介质
CN112954008B (zh) * 2021-01-26 2022-11-04 网宿科技股份有限公司 一种分布式任务处理方法、装置、电子设备及存储介质
CN114297989A (zh) * 2021-12-16 2022-04-08 北京华夏电通科技股份有限公司 笔录同步方法、装置、电子设备及存储介质
CN114297989B (zh) * 2021-12-16 2023-02-21 北京华夏电通科技股份有限公司 笔录同步方法、装置、电子设备及存储介质
CN115102839A (zh) * 2022-06-17 2022-09-23 济南浪潮数据技术有限公司 一种主从节点选举方法、装置、设备及介质
CN115102839B (zh) * 2022-06-17 2024-02-09 济南浪潮数据技术有限公司 一种主从节点选举方法、装置、设备及介质
CN115907234A (zh) * 2023-01-06 2023-04-04 中化现代农业有限公司 病虫害预测方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN104753994B (zh) 2019-04-02

Similar Documents

Publication Publication Date Title
CN104753994A (zh) 基于集群服务器系统的数据同步方法及其装置
US11516072B2 (en) Hybrid cluster recovery techniques
US10601643B2 (en) Troubleshooting method and apparatus using key performance indicator information
US9317384B2 (en) Cache data processing using cache cluster with configurable modes
US10862786B2 (en) Method and device for fingerprint based status detection in a distributed processing system
CN102739435A (zh) 作为服务的故障检测与恢复
WO2015196686A1 (zh) 一种数据存储方法以及一种数据存储管理服务器
US20180181471A1 (en) Parallel partial repair of storage
WO2019148716A1 (zh) 数据传输方法、服务器及存储介质
CN105511987A (zh) 一种强一致性且高可用的分布式任务管理系统
CN109873714B (zh) 云计算节点配置更新方法及终端设备
CN114265753A (zh) 消息队列的管理方法、管理系统和电子设备
CN108512753B (zh) 一种集群文件系统中消息传输的方法及装置
CN111181800A (zh) 测试数据处理方法、装置、电子设备及存储介质
CN113377535A (zh) 分布式定时任务分配方法、装置、设备及可读存储介质
CN112631756A (zh) 一种应用于航天测控软件的分布式调控方法及装置
CN112732756A (zh) 数据查询方法、装置、设备及存储介质
CN109510730A (zh) 分布式系统及其监控方法、装置、电子设备及存储介质
US11704180B2 (en) Method, electronic device, and computer product for storage management
EP3756310B1 (en) Method and first node for managing transmission of probe messages
KR20160147984A (ko) 트랜잭셔널 미들웨어 머신 환경에서 적응적 셀프-튜닝 락킹 메커니즘을 지원하는 시스템 및 방법
CN107645519B (zh) 一种数据处理方法及系统、客户端及服务器
Reddy et al. Reducing the blocking in two-phase commit with backup sites
CN109818767B (zh) 一种Redis集群容量调整的方法、装置及存储介质
CN106850283B (zh) 一种基于事件驱动的云ac告警处理系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant