CN104063355A - 对服务器集群进行配置的方法及配置中心服务器 - Google Patents
对服务器集群进行配置的方法及配置中心服务器 Download PDFInfo
- Publication number
- CN104063355A CN104063355A CN201310091366.XA CN201310091366A CN104063355A CN 104063355 A CN104063355 A CN 104063355A CN 201310091366 A CN201310091366 A CN 201310091366A CN 104063355 A CN104063355 A CN 104063355A
- Authority
- CN
- China
- Prior art keywords
- lock
- configuration information
- server
- write
- processing unit
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0859—Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
- H04L41/0869—Validating the configuration within one network element
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Telephonic Communication Services (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了对服务器集群进行配置的方法及配置中心服务器,其中,该方法包括:判断信号处理函数是否为预设退出值,如果是,则退出;否则:确定接收到来自待配置服务器的配置请求;从共享内存获取写锁,从数据库获取配置信息,写入共享内存中,释放写锁;若在获取写锁与释放写锁之间接收退出信号,则将信号处理函数设置为预设退出值;从共享内存获取读锁,从共享内存中读取配置信息,下发读取的配置信息,释放读锁,返回执行所述判断信号处理函数是否为预设退出值的步骤;若在获取读锁与释放读锁之间接收退出信号,则将信号处理函数设置为预设退出值。本发明方案能够避免异常退出而导致死锁,实现将配置信息成功下发给待配置服务器。
Description
技术领域
本发明涉及服务器配置技术,尤其涉及对服务器集群进行配置的方法及配置中心服务器。
背景技术
目前,随着互联网业务的普及,用户量极大增加;针对某项业务,单台服务器已经远远不能提供服务,基于此,大规模的服务器集群应运而生。服务器集群指互联网业务中,协作完成一个或者多个特定功能的一批服务器。对服务器集群的所有服务器的配置由配置系统完成,配置系统的配置中心服务器从数据库中读取配置信息,下发给服务器。
现有技术中对服务器集群进行配置的方案包括:配置中心服务器接收来自待配置服务器的配置请求后,从本地共享内存获取写锁,从配置中心的数据库获取配置信息写入共享内存中,释放写锁;获取读锁,从本地共享内存中读取配置信息,将读取的配置信息发送给待配置服务器,释放读锁。
写锁和读锁都存储在配置中心服务器的共享内存中。读锁和写锁用于linux进程间的通信,读锁也叫做共享锁,写锁也叫做独占锁;读锁和写锁常合称为读写锁,当读写锁以读模式锁住时,是以共享模式锁住的,当读写锁以写模式锁住时,是以独占模式锁住的。也即是,多个进程或线程,可以同时处于读模式下的读写锁,而当处于写模式下的读写锁时,只有一个进程是独占的。
上述流程中,写锁和释放写锁之间,以及读锁和释放读锁之间的处理时间较长,也就是写入数据和读取数据需要较长的时间。一旦在写锁和释放写锁之间出现异常,接收到退出信号,进程将退出,将来不及释放共享内存中保存的写锁;如果后续配置中心服务器接收到来自待配置服务器的配置请求,将导致死锁,从数据库获取配置信息后将无法写入共享内存,后续也就无法从共享内存中读取配置信息并下发给待配置服务器。类似地,一旦在读锁和释放读锁之间出现异常,进程将退出,将来不及释放共享内存中保存的读锁;如果后续配置中心服务器接收到来自待配置服务器的配置请求,却没有可用的读锁,将导致死锁,无法将配置信息下发给待配置服务器。
综上,现有对服务器集群进行配置的方案存在以下缺陷:出现异常退出时,将导致死锁,无法将配置信息成功下发给待配置服务器。
发明内容
本发明提供了一种对服务器集群进行配置的方法,该方法能够避免异常退出而导致死锁,实现将配置信息成功下发给待配置服务器。
本发明提供了一种对服务器集群进行配置的配置中心服务器,该配置中心服务器能够避免异常退出而导致死锁,实现将配置信息成功下发给待配置服务器。
一种对服务器集群进行配置的方法,设置信号处理函数,该方法包括:
判断信号处理函数是否为预设退出值,如果是,则退出,结束流程;否则:
确定接收到来自待配置服务器的配置请求;
从共享内存获取写锁,从数据库获取配置信息,写入共享内存中,释放写锁;若在获取写锁与释放写锁之间接收退出信号,则将信号处理函数设置为预设退出值;
从共享内存获取读锁,从共享内存中读取配置信息,将读取的配置信息发送给待配置服务器,释放读锁,返回执行所述判断信号处理函数是否为预设退出值的步骤;若在获取读锁与释放读锁之间接收退出信号,则将信号处理函数设置为预设退出值。
一种对服务器集群进行配置的配置中心服务器,该配置中心服务器包括设置单元、函数判断单元、配置请求处理单元、写入处理单元和读取处理单元;
所述设置单元,设置信号处理函数,并接收来自所述写入处理单元和所述读取处理单元的设置指令,将信号处理函数设置为预设退出值;
所述函数判断单元,判断信号处理函数是否为预设退出值,如果是,则不向所述配置请求处理单元发送启动指令;否则,向所述配置请求处理单元发送启动指令;
所述配置请求处理单元,接收来自所述函数判断单元的启动指令,确定接收到来自待配置服务器的配置请求,向所述写入处理单元发送写入指令;
所述写入处理单元,接收来自所述配置请求处理单元的写入指令后,从本地共享内存获取写锁,从数据库获取配置信息,写入共享内存中,释放写锁,向所述读取处理单元发送读取指令;若在获取写锁与释放写锁之间接收退出信号,则向所述设置单元发送设置指令;
所述读取处理单元,接收来自所述写入处理单元的读取指令,从共享内存获取读锁,从共享内存中读取配置信息,将读取的配置信息发送给待配置服务器,释放读锁;若在获取读锁与释放读锁之间接收退出信号,则向所述设置单元发送设置指令。
从上述方案可以看出,本发明中,先对信号处理函数进行判断,如果信号处理函数不为预设退出值,且接收到来自待配置服务器的配置请求,则从共享内存获取写锁,从数据库获取配置信息,写入共享内存中,释放写锁;若在获取写锁与释放写锁之间接收退出信号,则将信号处理函数设置为预设退出值;然后,从共享内存获取读锁,从共享内存中读取配置信息,将读取的配置信息发送给待配置服务器,释放读锁,返回执行所述判断信号处理函数是否为预设退出值的步骤;若在获取读锁与释放读锁之间接收退出信号,则将信号处理函数设置为预设退出值。对于在写锁和释放写锁之间,以及读锁和释放读锁之间接收到退出信号的情况,本发明结合信号处理函数,在释放完写锁和读锁之后才执行退出信号,避免了因异常退出而导致的死锁,实现了将配置信息成功下发给待配置服务器。
附图说明
图1为本发明对服务器集群进行配置的方法示意性流程图;
图2为本发明对服务器集群进行配置的方法流程图实例;
图3为本发明对服务器集群进行配置的配置中心服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
对于在写锁和释放写锁之间,以及读锁和释放读锁之间接收到退出信号的情况,本发明结合信号处理函数,在释放完写锁和读锁之后才执行退出信号,避免了因异常退出而导致的死锁。参见图1,为本发明对服务器集群进行配置的方法示意性流程图,本发明方法预先设置信号处理函数,初始时,可将信号处理函数设置默认值,例如为0;后续流程中,如果在获取写锁与释放写锁之间,或者在获取读锁与释放读锁之间接收退出信号,则将信号处理函数设置为预设退出值,例如为1。
图1的流程包括以下步骤:
步骤101,判断信号处理函数是否为预设退出值,如果是,则退出,结束流程;否则,执行步骤102。
对信号处理函数的判断可随机执行,也可周期性地执行。
步骤102,确定接收到来自待配置服务器的配置请求。
判断出信号函数不为预设退出值时,如果确定出没有接收到来自待配置服务器的配置请求,可返回执行步骤101,直到接收到来自待配置服务器的配置请求。
步骤103,从共享内存获取写锁,从数据库获取配置信息,写入共享内存中,释放写锁;若在获取写锁与释放写锁之间接收退出信号,则将信号处理函数设置为预设退出值。
对于配置信息没有更新,仍为旧版的情况,无需向本地的共享内存重新写入配置信息,可直接执行步骤104。为了简化流程,本步骤之前,还可具体包括:判断配置信息是否有更新,如果有,则执行步骤103;否则,执行步骤104。共享内存中配置信息是否有更新可通过标注实现,具体如:如果配置中心的数据库存储的配置信息进行了更新,则向配置中心服务器发送带有最新版本号的更新指示,配置中心服务器接收更新指示后确定配置信息有更新。
步骤104,从共享内存获取读锁,从共享内存中读取配置信息,将读取的配置信息发送给待配置服务器,释放读锁,返回执行步骤101;若在获取读锁与释放读锁之间接收退出信号,则将信号处理函数设置为预设退出值。
由于服务器集群中包含较多服务器,且配置信息容量大,每次为待配置服务器下发配置信息将占用加大的流量资源。本发明中,为了改进该缺陷,可在步骤102的配置请求中携带待配置服务器当前使用的配置信息的版本号,配置中心服务器接收配置请求后,进行版本号比较,如果版本号不相同,才进行配置信息的下发;具体地,可采用下述两种实现方式:
方式一,图1流程的步骤104之前,该方法还包括:判断配置请求包含的版本号与共享内存中配置信息的版本号是否相同,如果是,则向待配置服务器反馈无需更新的响应消息,否则,执行步骤104。
方式二,步骤104获取读锁之后,该方法还包括:判断配置请求包含的版本号与共享内存中配置信息的版本号是否相同,如果是,则向待配置服务器反馈无需更新的响应消息,释放读锁,否则,执行步骤104中所述从本地共享内存中获取配置信息的步骤。
采用本发明方案,对于在写锁和释放写锁之间,以及读锁和释放读锁之间接收到退出信号的情况,本发明结合信号处理函数,在释放完写锁和读锁之后才执行退出信号,避免了因异常退出而导致的死锁,实现了将配置信息成功下发给待配置服务器。
下面通过图2,对本发明为服务器集群进行配置的方法进行实例说明,该实例预先设置信号处理函数,图2的流程包括以下步骤:
步骤201,判断信号处理函数是否为预设退出值,如果是,则退出,结束流程;否则执行步骤202。
将信号处理函数的默认值设置为0,预设退出值设置为1。
信号处理函数的设置与关于信号处理函数是否为预设退出值的判断,两者是异步的。当退出信号发生时,会立即对信号处理函数进行设置;而对信号处理函数是否为预设退出值的判断,可周期性地或随机地执行。具体实现时,信号处理函数(g_iShutDown)可采用下述配置方式:
其中,SIGQUIT在为写锁与释放写锁之间接收到退出信号时的设置指令,SIGQUIT1为在读锁与释放读锁之间接收到退出信号时的设置指令。
步骤202,判断是否接收到来自待配置服务器的配置请求,如果是,则执行步骤203;否则,返回执行步骤201。
配置请求中包含版本号,本步骤中,如果没有接收到配置请求,则继续对信号处理函数进行判断。
步骤203,判断配置信息是否有更新,如果是,则执行步骤204,否则执行步骤208。
配置信息由工作人员录入配置中心的数据库中,之后工作人员可对数据库中的配置信息进行更新,更新后,数据库向配置中心服务器发送包含最新版本号的更新指示,配置中心服务器将更新项设置为已更新。本步骤中,如果配置中心服务器获知更新项设置为已更新,则确定出配置信息有更新。
步骤204,从共享内存中获取写锁。
写锁和读锁都保存在配置中心服务器的共享内存中。
写锁和读锁都存储在配置中心服务器的共享内存中。读锁和写锁用于linux进程间的通信,读锁也叫做共享锁,写锁也叫做独占锁;读锁和写锁常合称为读写锁,当读写锁以读模式锁住时,是以共享模式锁住的,当读写锁以写模式锁住时,是以独占模式锁住的。也即是,多个进程或线程,可以同时处于读模式下的读写锁,而当处于写模式下的读写锁时,只有一个进程是独占的。
步骤205,从数据库中获取配置信息,将获取的配置信息写入共享内存。
写锁进行写入的过程中,不能进行读取,避免读取的数据不完整。将获取的配置信息写入共享内存,将覆盖共享内存中之前存储的配置信息,以进行更新。
步骤206,接收退出信号,将信号处理函数设置为预设退出值。
步骤207,释放写锁。
步骤208,从共享内存中获取读锁。
具体实践时,可采用Fork子进程实现读锁、版本号判断、数据读取、数据下发以及释放读锁的步骤。
步骤209,判断配置请求包含的版本号与共享内存中配置信息的版本号是否相同,如果是,则向待配置服务器反馈无需更新的响应消息,否则,从共享内存中读取配置信息,将读取的配置信息发送给待配置服务器。
步骤210,释放读锁,返回执行步骤201。
执行步骤201时,由于步骤206中已经信号处理函数设置为预设退出值,则执行退出,结束流程。
采用上述流程方案,如果在步骤204写锁和步骤207释放写锁之间,步骤208读锁和步骤210释放读锁之间接收到退出信号,将暂时不对退出信号进行响应;将继续执行后续的步骤,直到释放完写锁和读锁之后,再执行退出。这样,对于在写锁和释放写锁之间,以及读锁和释放读锁之间接收到退出信号的情况,可在释放完写锁和读锁之后进行退出,避免了现有技术中在这种情况下的死锁;并且,通过对版本号进行比较,减少了下发的数据量,节省了资源,简化了流程。
配置中心包括配置中心服务器和数据库,数据库用于存储配置信息,在需要时,配置中心服务器可从数据库获取配置信息。参见图3,为本发明配置中心服务器的结构示意图,其包括设置单元、函数判断单元、配置请求处理单元、写入处理单元和读取处理单元;
所述设置单元,设置信号处理函数,并接收来自所述写入处理单元和所述读取处理单元的设置指令,将信号处理函数设置为预设退出值;
所述函数判断单元,判断信号处理函数是否为预设退出值,如果是,则不向所述配置请求处理单元发送启动指令;否则,向所述配置请求处理单元发送启动指令;
所述配置请求处理单元,接收来自所述函数判断单元的启动指令,确定接收到来自待配置服务器的配置请求,向所述写入处理单元发送写入指令;
所述写入处理单元,接收来自所述配置请求处理单元的写入指令后,从本地共享内存获取写锁,从数据库获取配置信息,写入共享内存中,释放写锁,向所述读取处理单元发送读取指令;若在获取写锁与释放写锁之间接收退出信号,则向所述设置单元发送设置指令;
所述读取处理单元,接收来自所述写入处理单元的读取指令,从共享内存获取读锁,从共享内存中读取配置信息,将读取的配置信息发送给待配置服务器,释放读锁;若在获取读锁与释放读锁之间接收退出信号,则向所述设置单元发送设置指令。
较佳地,所述配置请求包含版本号,所述读取处理单元包括第一版本号判断子单元和第一读取子单元;
所述第一版本号判断子单元,接收来自所述写入处理单元的读取指令,判断来自待配置服务器的配置请求包含的版本号与共享内存中配置信息的版本号是否相同,如果是,则向待配置服务器反馈无需更新的响应消息;否则向所述第一读取子单元发送启动指令;
所述第一读取子单元,接收来自所述版本号判断子单元的启动指令,从共享内存获取读锁,从共享内存中读取配置信息,将读取的配置信息发送给待配置服务器,释放读锁;若在获取读锁与释放读锁之间接收退出信号,则向所述设置单元发送设置指令。
较佳地,所述配置请求包含版本号,所述读取处理单元包括第二版本号判断子单元和第二读取子单元;
所述第二读取子单元,接收来自所述写入处理单元的读取指令,从共享内存获取读锁,向所述第二版本号判断子单元发送版本号判断指令;接收来自所述第二版本号判断子单元的配置信息读取指令,从共享内存中读取配置信息,将读取的配置信息发送给待配置服务器,释放读锁;若在获取读锁与释放读锁之间接收退出信号,则向所述设置单元发送设置指令;
所述第二版本号判断子单元,接收来自所述第二读取子单元的版本号判断指令,判断来自待配置服务器的配置请求包含的版本号与共享内存中配置信息的版本号是否相同,如果是,则向待配置服务器反馈无需更新的响应消息,释放读锁;否则向所述第二读取子单元发送配置信息读取指令。
较佳地,所述写入处理单元包括更新判断子单元和写入子单元;
所述更新判断子单元,接收来自所述配置请求处理单元的写入指令后,判断配置信息是否有更新,如果有,则向所述写入子单元发送启动指令,否则,向所述读取处理单元发送读取指令;
所述写入子单元,接收来自所述更新判断子单元的启动指令,从共享内存获取写锁,从数据库获取配置信息,写入共享内存中,释放写锁,向所述读取处理单元发送读取指令;若在获取写锁与释放写锁之间接收退出信号,则向所述设置单元发送设置指令。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种对服务器集群进行配置的方法,其特征在于,设置信号处理函数,该方法包括:
判断信号处理函数是否为预设退出值,如果是,则退出,结束流程;否则:
确定接收到来自待配置服务器的配置请求;
从共享内存获取写锁,从数据库获取配置信息,写入共享内存中,释放写锁;若在获取写锁与释放写锁之间接收退出信号,则将信号处理函数设置为预设退出值;
从共享内存获取读锁,从共享内存中读取配置信息,将读取的配置信息发送给待配置服务器,释放读锁,返回执行所述判断信号处理函数是否为预设退出值的步骤;若在获取读锁与释放读锁之间接收退出信号,则将信号处理函数设置为预设退出值。
2.如权利要求1所述的方法,其特征在于,所述配置请求包含版本号,所述获取读锁之前,该方法还包括:
判断配置请求包含的版本号与共享内存中配置信息的版本号是否相同,如果是,则向待配置服务器反馈无需更新的响应消息,否则,执行所述获取读锁的步骤。
3.如权利要求1所述的方法,其特征在于,所述配置请求包含版本号,所述获取读锁之后,该方法还包括:
判断配置请求包含的版本号与共享内存中配置信息的版本号是否相同,如果是,则向待配置服务器反馈无需更新的响应消息,释放读锁,否则,执行所述从本地共享内存中获取配置信息的步骤。
4.如权利要求1所述的方法,其特征在于,所述获取写锁之前,该方法还包括:判断配置信息是否有更新,如果有,则执行所述获取写锁的步骤;否则,执行所述获取读锁的步骤。
5.如权利要求1所述的方法,其特征在于,所述判断信号处理函数是否为预设退出值为:周期性地判断信号处理函数是否为预设退出值。
6.如权利要求1至5中任一项所述的方法,其特征在于,判断出信号函数不为预设退出值时,如果确定出没有接收到来自待配置服务器的配置请求,则返回执行所述判断信号函数是否为预设退出值的步骤。
7.一种对服务器集群进行配置的配置中心服务器,其特征在于,该配置中心服务器包括设置单元、函数判断单元、配置请求处理单元、写入处理单元和读取处理单元;
所述设置单元,设置信号处理函数,并接收来自所述写入处理单元和所述读取处理单元的设置指令,将信号处理函数设置为预设退出值;
所述函数判断单元,判断信号处理函数是否为预设退出值,如果是,则不向所述配置请求处理单元发送启动指令;否则,向所述配置请求处理单元发送启动指令;
所述配置请求处理单元,接收来自所述函数判断单元的启动指令,确定接收到来自待配置服务器的配置请求,向所述写入处理单元发送写入指令;
所述写入处理单元,接收来自所述配置请求处理单元的写入指令后,从本地共享内存获取写锁,从数据库获取配置信息,写入共享内存中,释放写锁,向所述读取处理单元发送读取指令;若在获取写锁与释放写锁之间接收退出信号,则向所述设置单元发送设置指令;
所述读取处理单元,接收来自所述写入处理单元的读取指令,从共享内存获取读锁,从共享内存中读取配置信息,将读取的配置信息发送给待配置服务器,释放读锁;若在获取读锁与释放读锁之间接收退出信号,则向所述设置单元发送设置指令。
8.如权利要求7所述的配置中心服务器,其特征在于,所述配置请求包含版本号,所述读取处理单元包括第一版本号判断子单元和第一读取子单元;
所述第一版本号判断子单元,接收来自所述写入处理单元的读取指令,判断来自待配置服务器的配置请求包含的版本号与共享内存中配置信息的版本号是否相同,如果是,则向待配置服务器反馈无需更新的响应消息;否则向所述第一读取子单元发送启动指令;
所述第一读取子单元,接收来自所述版本号判断子单元的启动指令,从共享内存获取读锁,从共享内存中读取配置信息,将读取的配置信息发送给待配置服务器,释放读锁;若在获取读锁与释放读锁之间接收退出信号,则向所述设置单元发送设置指令。
9.如权利要求7所述的配置中心服务器,其特征在于,所述配置请求包含版本号,所述读取处理单元包括第二版本号判断子单元和第二读取子单元;
所述第二读取子单元,接收来自所述写入处理单元的读取指令,从共享内存获取读锁,向所述第二版本号判断子单元发送版本号判断指令;接收来自所述第二版本号判断子单元的配置信息读取指令,从共享内存中读取配置信息,将读取的配置信息发送给待配置服务器,释放读锁;若在获取读锁与释放读锁之间接收退出信号,则向所述设置单元发送设置指令;
所述第二版本号判断子单元,接收来自所述第二读取子单元的版本号判断指令,判断来自待配置服务器的配置请求包含的版本号与共享内存中配置信息的版本号是否相同,如果是,则向待配置服务器反馈无需更新的响应消息,释放读锁;否则向所述第二读取子单元发送配置信息读取指令。
10.如权利要求7、8或9所述的配置中心服务器,其特征在于,所述写入处理单元包括更新判断子单元和写入子单元;
所述更新判断子单元,接收来自所述配置请求处理单元的写入指令后,判断配置信息是否有更新,如果有,则向所述写入子单元发送启动指令,否则,向所述读取处理单元发送读取指令;
所述写入子单元,接收来自所述更新判断子单元的启动指令,从共享内存获取写锁,从数据库获取配置信息,写入共享内存中,释放写锁,向所述读取处理单元发送读取指令;若在获取写锁与释放写锁之间接收退出信号,则向所述设置单元发送设置指令。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310091366.XA CN104063355B (zh) | 2013-03-21 | 2013-03-21 | 对服务器集群进行配置的方法及配置中心服务器 |
US14/778,774 US9686134B2 (en) | 2013-03-21 | 2014-02-18 | Method and configuration center server for configuring server cluster |
PCT/CN2014/072177 WO2014146524A1 (en) | 2013-03-21 | 2014-02-18 | Method and configuration center server for configuring server cluster |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310091366.XA CN104063355B (zh) | 2013-03-21 | 2013-03-21 | 对服务器集群进行配置的方法及配置中心服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104063355A true CN104063355A (zh) | 2014-09-24 |
CN104063355B CN104063355B (zh) | 2017-11-03 |
Family
ID=51551072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310091366.XA Active CN104063355B (zh) | 2013-03-21 | 2013-03-21 | 对服务器集群进行配置的方法及配置中心服务器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9686134B2 (zh) |
CN (1) | CN104063355B (zh) |
WO (1) | WO2014146524A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017100978A1 (zh) * | 2015-12-14 | 2017-06-22 | 华为技术有限公司 | 一种集群中锁管理的方法、锁服务器及客户端 |
US10158173B2 (en) | 2015-05-29 | 2018-12-18 | Huawei Technologies Co., Ltd. | Orthogonal-beam-space spatial multiplexing radio communication system and associated antenna array |
CN109669879A (zh) * | 2017-10-17 | 2019-04-23 | 展讯通信(上海)有限公司 | 配置直接存储器存取控制器的方法及装置 |
CN111796931A (zh) * | 2020-06-09 | 2020-10-20 | 阿里巴巴集团控股有限公司 | 信息处理方法、装置、计算设备和介质 |
CN113485850A (zh) * | 2021-04-25 | 2021-10-08 | 北京思特奇信息技术股份有限公司 | 一种分布式文件系统的服务配置方法和配置系统 |
US11416313B2 (en) * | 2018-01-05 | 2022-08-16 | Beijing Kingsoft Cloud Network Technology Co., Ltd. | Equipment control method, cluster system , electronic device and readable storage medium |
CN115145737A (zh) * | 2022-08-31 | 2022-10-04 | 维塔科技(北京)有限公司 | 动态加锁方法、电子设备及计算机可读存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104063355B (zh) | 2013-03-21 | 2017-11-03 | 腾讯科技(北京)有限公司 | 对服务器集群进行配置的方法及配置中心服务器 |
US10467151B2 (en) | 2017-09-05 | 2019-11-05 | NGINX, Inc. | Using shared memory to transport data between server processes |
US11042424B1 (en) * | 2018-04-24 | 2021-06-22 | F5 Networks, Inc. | Pipelined request processing using shared memory |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7526479B2 (en) * | 2003-12-30 | 2009-04-28 | Sap Ag | Configuration manager in enterprise computing system |
CN101631140A (zh) * | 2009-08-03 | 2010-01-20 | 中兴通讯股份有限公司 | 即时通信系统的集群服务器和集群间通信的方法 |
US20110185047A1 (en) * | 2010-01-27 | 2011-07-28 | Telcordia Technologies, Inc. | System and method for a distributed fault tolerant network configuration repository |
CN102148712A (zh) * | 2011-04-21 | 2011-08-10 | 天讯天网(福建)网络科技有限公司 | 基于云计算的服务管理系统 |
CN102333029A (zh) * | 2011-06-23 | 2012-01-25 | 北京新媒传信科技有限公司 | 一种服务器集群系统中的路由方法 |
CN102932408A (zh) * | 2012-09-21 | 2013-02-13 | 中国电信股份有限公司云计算分公司 | 一种服务器集群的管理方法和平台 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1124947A (ja) | 1997-07-08 | 1999-01-29 | Sanyo Electric Co Ltd | コンピュータシステムの排他制御方法及びコンピュータシステム |
US6862692B2 (en) * | 2001-01-29 | 2005-03-01 | Adaptec, Inc. | Dynamic redistribution of parity groups |
JP5339507B2 (ja) * | 2008-10-01 | 2013-11-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 木構造を探索する方法 |
CN104063355B (zh) | 2013-03-21 | 2017-11-03 | 腾讯科技(北京)有限公司 | 对服务器集群进行配置的方法及配置中心服务器 |
-
2013
- 2013-03-21 CN CN201310091366.XA patent/CN104063355B/zh active Active
-
2014
- 2014-02-18 US US14/778,774 patent/US9686134B2/en active Active
- 2014-02-18 WO PCT/CN2014/072177 patent/WO2014146524A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7526479B2 (en) * | 2003-12-30 | 2009-04-28 | Sap Ag | Configuration manager in enterprise computing system |
CN101631140A (zh) * | 2009-08-03 | 2010-01-20 | 中兴通讯股份有限公司 | 即时通信系统的集群服务器和集群间通信的方法 |
US20110185047A1 (en) * | 2010-01-27 | 2011-07-28 | Telcordia Technologies, Inc. | System and method for a distributed fault tolerant network configuration repository |
CN102148712A (zh) * | 2011-04-21 | 2011-08-10 | 天讯天网(福建)网络科技有限公司 | 基于云计算的服务管理系统 |
CN102333029A (zh) * | 2011-06-23 | 2012-01-25 | 北京新媒传信科技有限公司 | 一种服务器集群系统中的路由方法 |
CN102932408A (zh) * | 2012-09-21 | 2013-02-13 | 中国电信股份有限公司云计算分公司 | 一种服务器集群的管理方法和平台 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10158173B2 (en) | 2015-05-29 | 2018-12-18 | Huawei Technologies Co., Ltd. | Orthogonal-beam-space spatial multiplexing radio communication system and associated antenna array |
US10609150B2 (en) | 2015-12-14 | 2020-03-31 | Huawei Technologies Co., Ltd. | Lock management method in cluster, lock server, and client |
CN107111596B (zh) * | 2015-12-14 | 2018-10-30 | 华为技术有限公司 | 一种集群中锁管理的方法、锁服务器及客户端 |
CN107111596A (zh) * | 2015-12-14 | 2017-08-29 | 华为技术有限公司 | 一种集群中锁管理的方法、锁服务器及客户端 |
US10257282B2 (en) | 2015-12-14 | 2019-04-09 | Huawei Technologies Co., Ltd. | Lock management method in cluster, lock server, and client |
WO2017100978A1 (zh) * | 2015-12-14 | 2017-06-22 | 华为技术有限公司 | 一种集群中锁管理的方法、锁服务器及客户端 |
CN109669879A (zh) * | 2017-10-17 | 2019-04-23 | 展讯通信(上海)有限公司 | 配置直接存储器存取控制器的方法及装置 |
US11416313B2 (en) * | 2018-01-05 | 2022-08-16 | Beijing Kingsoft Cloud Network Technology Co., Ltd. | Equipment control method, cluster system , electronic device and readable storage medium |
CN111796931A (zh) * | 2020-06-09 | 2020-10-20 | 阿里巴巴集团控股有限公司 | 信息处理方法、装置、计算设备和介质 |
CN111796931B (zh) * | 2020-06-09 | 2024-03-29 | 阿里巴巴集团控股有限公司 | 信息处理方法、装置、计算设备和介质 |
CN113485850A (zh) * | 2021-04-25 | 2021-10-08 | 北京思特奇信息技术股份有限公司 | 一种分布式文件系统的服务配置方法和配置系统 |
CN115145737A (zh) * | 2022-08-31 | 2022-10-04 | 维塔科技(北京)有限公司 | 动态加锁方法、电子设备及计算机可读存储介质 |
CN115145737B (zh) * | 2022-08-31 | 2022-12-30 | 维塔科技(北京)有限公司 | 动态加锁方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US9686134B2 (en) | 2017-06-20 |
CN104063355B (zh) | 2017-11-03 |
WO2014146524A1 (en) | 2014-09-25 |
US20160043897A1 (en) | 2016-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104063355A (zh) | 对服务器集群进行配置的方法及配置中心服务器 | |
CN109388340B (zh) | 数据存储装置及管理数据存储装置中的flr的方法 | |
US10452375B1 (en) | Memory-efficient upgrade staging | |
CN108572876B (zh) | 一种读写锁的实现方法及装置 | |
US20070226269A1 (en) | Method and system for an update synchronization of a domain information file | |
CN105468718B (zh) | 数据一致性处理方法、装置和系统 | |
CN110188110B (zh) | 一种构建分布式锁的方法及装置 | |
CN113835901A (zh) | 读锁操作方法、写锁操作方法及系统 | |
CN104252405A (zh) | 日志信息的输出方法及装置 | |
US9971643B2 (en) | Processing an input/output operation request | |
CN103150149A (zh) | 处理数据库重做数据的方法和装置 | |
CN109542636B (zh) | 一种数据更新的方法及装置 | |
CN115080472A (zh) | 支持非确定性命令的存储器子系统 | |
WO2018080943A1 (en) | Highly available and reliable secret distribution infrastructure | |
US8595430B2 (en) | Managing a virtual tape library domain and providing ownership of scratch erased volumes to VTL nodes | |
CN107203890B (zh) | 凭证数据发放方法、装置及系统 | |
CN106708569B (zh) | 一种跨线列车中vobc配置文件的热加载方法及装置 | |
CN105391755A (zh) | 一种分布式系统中数据处理方法、装置及系统 | |
CN105450679A (zh) | 进行数据云存储的方法及系统 | |
CN108073460B (zh) | 分布式系统中的全局锁抢占方法、装置及计算设备 | |
US9678752B2 (en) | Scheduling apparatus and method of dynamically setting the size of a rotating register | |
US8615769B2 (en) | Data processing system, data processing method, and data processing program | |
CN107153580B (zh) | 获取队列精确状态的装置及其方法 | |
US9170942B1 (en) | System, apparatus, and method of automatic data padding | |
WO2017222689A1 (en) | Method, apparatus and system for performing matching operations in a computing system |
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 |