业务套件的信息收集方法、节点服务器及数据存储系统技术方案

技术编号:7789395 阅读:207 留言:0更新日期:2012-09-21 23:56
本发明专利技术公开了一种业务套件的信息收集方法、节点服务器及数据存储系统,其中所述信息收集方法包括:检测到每个节点服务器上所部署的业务套件被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,基于无连接协议向所述主控服务器传输所述业务套件的部署信息;所述主控服务器监听各节点服务器传输的所述业务套件的部署信息,获取记录了各节点服务器的部署信息的部署列表,并根据所述部署列表对各节点服务器上的业务套件进行更新或者修复。本发明专利技术不再依赖人工进行部署列表的维护,部署列表中的节点服务器能够根据策略自动向主控服务器进行传输。

【技术实现步骤摘要】

本专利技术属于计算机领域,具体地说,涉及一种业务套件的信息收集方法、具有业务套件信息传输功能的节点服务器及具有业务套件的信息收集功能的数据存储系统。
技术介绍
在互联网软件开发中,产品往往需要快速的推出从而抢占市场,产品的变化升级也始终伴随,对业务系统的研发速度便有了很高的需求。于是,对各个业务系统的共性进行了抽象,搭建了不少的数据存储系统,例如Key/Value数据存储系统。Key/Value数据存储系统使用多台节点服务器同时存储相同的数据和状态,彼此交换消息来保持数据一致并同步更新,多台节点服务器可视为一个完整的Key/Value数据存储系统,这样即使有少数节点服务器出错,比如重启、当机、断网、网络丢包等各种失败或者错误都不影响整个存储系统的运行。包括Key/Value数据存储系统在内的大部分数据存储系统都是通过SDK的方式提供给业务系统使用。SDK (Software Development Kit软件开发包)广义上指辅助开发某一类应用软件的相关文档、范例和开发工具的集合,它可以简单的为某个程序设计语言提供API (Application Programming Interface应用程序编程接口),当然也有可能是嵌入式系统的复杂硬件,在本专利申请所针对的SDK主要指非硬件类。SDK—般包括用于调试和其他用途的实用工具,还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。SDK是需要部署在业务系统的节点服务器上的,所以当SDK逻辑变更或者SDK升级时,需要升级所有的曾经部署过该SDK包的节点服务器。在业务系统新增加节点服务器时,也需要对新增的节点服务器部署该SDK包。在现有技术中对于SDK包的部署往往采用以下方式步骤1,申请对节点服务器部署系统SDK ; 步骤2,通过发布脚本,将SDK发布到所述节点服务器上;步骤3,技术人员手动将所述节点服务器记录到部署列表中;步骤4,对各节点服务器的SDK进行统一升级时,通过这个部署列表来对各节点服务器的SDK进行更新。这个过程不可避免存在两个问题1)所述部署列表由人工维护,由于人工的不可靠,通过统一发布脚本控制时容易产生遗漏或者人为错误;2)在业务系统新增加节点服务器时,SDK有可能是在没有通知主控服务器的情况下私自拷贝到新增加节点服务器上的,这样部署列表上就没有记录新增节点服务器及其SDK的情况,在更新SDK或者修复bug的时候,势必会导致新增节点服务器被遗漏。
技术实现思路
有鉴于此,本专利技术所要解决的技术问题是提供了一种业务套件的信息收集方法、节点服务器及数据存储系统,不再依赖人工进行部署列表的维护,部署列表中的节点服务器能够根据策略自动向主控服务器进行传输,主控服务器通过简单的脚本分析就能获得部署列表。为了解决上述技术问题,本专利技术公开了一种业务套件的信息收集方法,应用于包括主控服务器、若干节点服务器及若干客户端的数据存储系统,其中所述主控服务器和节点服务器上部署供所述客户端使用的业务套件,所述信息收集方法包括检测到每个节点服务器上所部署的业务套件被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,基于无连接协议向所述主控服务器传输所述业务套件的部署信息;所述主控服务器监听各节点服务器传输的所述业务套件的部署信息,获取记录了各节点服务器的部署信息的部署列表,并根据所述部署列表对各节点服务器上的业务套件进行更新或者修复。进一步地,所述部署信息至少包括所述业务套件的标识及其版本信息、部署所述业务套件的所述节点服务器的标识;所述主控服务器预先针对所述业务套件配置对应的标识和版本信息。 进一步地,检测每个节点服务器上部署的业务套件被触发调用的操作,具体包括每个节点服务器上部属的业务套件参与的业务被调用时,所述业务套件进行初始化操作并向所述节点服务器发送所述业务套件被触发调用的消息,所述消息的发送在所述业务套件进行初始化操作时自动触发执行。进一步地,发送所述业务套件被触发调用的消息的操作使用入口函数实现,所述业务套件的初始化操作采用构造函数实现,将所述入口函数放置于所述业务套件的构造函数中;所述业务套件参与的业务被调用时,自动触发所述业务套件的构造函数并激活所述入口函数,向所述节点服务器发送所述业务套件被触发调用的消息;所述业务套件参与的业务不再被调用后则不再执行所述构造函数和入口函数。进一步地,检测到每个节点服务器上所部署的业务套件被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,基于无连接协议向所述主控服务器传输所述业务套件的部署信息的操作,具体包括对于每个节点服务器,检测到其上部署的业务套件被触发调用时,在共享内存中检测是否存在所述业务套件对应的部署信息;如果不存在所述部署信息,则在共享内存中记录所述业务套件的部署信息及本次的传输时间,并向所述主控服务器传输所述业务套件的部署信息;如果存在所述部署信息,则根据当前调用时间和上次记录的传输时间获取时间间隔,将所述时间间隔与预设的门限进行比较,所述时间间隔小于等于所述门限时不向所述主控服务器传输所述部署信息;所述时间间隔大于所述门限时在共享内存中记录所述业务套件的部署信息及本次的传输时间,并向所述主控服务器传输所述业务套件的部署信息。进一步地,基于无连接协议向所述主控服务器传输所述业务套件的部署信息的操作,具体包括所述节点服务器与主控服务器的指定接收端口建立基于无连接协议的网络连接,将所述部署信息传输到所述接收端口,其中向主控服务器传输的部署信息被设置为无保障的面向消息的类型。进一步地,所述主控服务器监听所述部署信息的操作,具体包括所述主控服务器针对每个节点服务器建立基于无连接协议的网络连接,分别将各接收端口和对应节点服务器的标识建立对应关系,在各接收端口接收各节点服务器传输的部署信息并记录所述部署信息,其中所接收的部署信息被设置为无保障的面向消息的类型。为了解决上述技术问题,本专利技术还公开了一种具有业务套件信息传输功能的装置,所述装置,包括检测模块和传输模块,其中,所述检测模块,用于检测到每个节点服务器上所部署的供所述客户端使用的业务套件被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,通知传输模块;所述传输模块,用于基于无连接协议向所述主控服务器传输所述业务套件的部署信息供主控服务器获取记录有各节点服务器的部署信息的部署列表并根据所述部署列表对各节点服务器上的业务套件进行更新或者修复。进一步地,所述部署信息至少包括所述业务套件的标识及其版本信息、部署所述业务套件的所述节点服务器的标识。 进一步地,所述检测模块,用于在每个节点服务器上部属的业务套件参与的业务被调用时,接收自动发来的所述业务套件被触发调用的消息,所述消息的发送在所述业务套件进行初始化操作时自动触发执行。 进一步地,所述检测模块,使用入口函数实现发送所述业务套件被触发调用的消息的操作,采用构造函数实现所述业务套件的初始化操作,将所述入口函数放置于所述业务套件的构造函数中;所述业务套件参与的业务被调用时,自动触发所述业务套件的构造函数并激活所述入口函数,向所述节点服务器发送所述业务套件被触发调用的消息。进一步地,所述检测模块包括检测单元和比较单元,其中,所述检测单元,用于在共享内存中检测是否存在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种业务套件的信息收集方法,其特征在干,应用于包括主控服务器、若干节点服务器及若干客户端的数据存储系统,其中所述主控服务器和节点服务器上部署供所述客户端使用的业务套件,所述信息收集方法包括 检测到每个节点服务器上所部署的业务套件被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,基于无连接协议向所述主控服务器传输所述业务套件的部署信息; 所述主控服务器监听各节点服务器传输的所述业务套件的部署信息,获取记录了各节点服务器的部署信息的部署列表,井根据所述部署列表对各节点服务器上的业务套件进行更新或者修复。2.如权利要求I所述的信息收集方法,其特征在干, 所述部署信息至少包括所述业务套件的标识及其版本信息、部署所述业务套件的所述节点服务器的标识; 所述主控服务器预先针对所述业务套件配置对应的标识和版本信息。3.如权利要求I所述的信息收集方法,其特征在于,检测到每个节点服务器上所部署的业务套件被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,基于无连接协议向所述主控服务器传输所述业务套件的部署信息的操作,具体包括 对于每个节点服务器,检测到其上部署的业务套件被触发调用时,在共享内存中检测是否存在所述业务套件对应的部署信息;如果不存在所述部署信息,则在共享内存中记录所述业务套件的部署信息及本次的传输时间,并向所述主控服务器传输所述业务套件的部署信息;如果存在所述部署信息,则根据当前调用时间和上次记录的传输时间获取时间间隔,将所述时间间隔与预设的门限进行比较,所述时间间隔小于等于所述门限时不向所述主控服务器传输所述部署信息;所述时间间隔大于所述门限时在共享内存中记录所述业务套件的部署信息及本次的传输时间,并向所述主控服务器传输所述业务套件的部署信息。4.如权利要求I或3所述的信息收集方法,其特征在于,检测每个节点服务器上部署的业务套件被触发调用的操作,具体包括 每个节点服务器上部属的业务套件參与的业务被调用时,所述业务套件进行初始化操作并向所述节点服务器发送所述业务套件被触发调用的消息,所述消息的发送在所述业务套件进行初始化操作时自动触发执行。5.如权利要求4所述的信息收集方法,其特征在干, 发送所述业务套件被触发调用的消息的操作使用入口函数实现,所述业务套件的初始化操作采用构造函数实现,将所述入ロ函数放置于所述业务套件的构造函数中; 所述业务套件參与的业务被调用吋,自动触发所述业务套件的构造函数并激活所述入ロ函数,向所述节点服务器发送所述业务套件被触发调用的消息;所述业务套件參与的业务不再被调用后则不再执行所述构造函数和入ロ函数。6.如权利要求I所述的信息收集方法,其特征在于,基于无连接协议向所述主控服务器传输所述业务套件的部署信息的操作,具体包括 所述节点服务器与主控服务器的指定接收端ロ建立基于无连接协议的网络连接,将所述部署信息传输到所述接收端ロ,其中向主控服务器传输的部署信息被设置为无保障的面向消息的类型。7.如权利要求I或6所述的信息收集方法,其特征在于,所述主控服务器监听所述部署信息的操作,具体包括 所述主控服务器针对每个节点服务器建立基于无连接协议的网络连接,分别将各接收端口和对应节点服务器的标识建立对应关系,在各接收端ロ接收各节点服务器传输的部署信息并记录所述部署信息,其中所接收的部署信息被设置为无保障的面向消息的类型。8.ー种具有业务套件信息传输功能的装置,其特征在于,所述装置,包括检测模块和传输模块,其中, 所述检测模块,用于检测到每个节点服务器上所部署的供所述客户端使用的业务套件被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,通知传输模块; 所述传输模块,用于基于无连接协议向所述主控服务器传输所述业务套件的部署信息供主控服务器获取记录有各节点服务器的部署信息的部署列表井根据所述部署列表对各节点服务器上的业务套件进行更新或者修复。9.如权利要求8所述的装置,其特征在干, 所述部署信息至少包括所述业务套件的标识及其版本信息、部署所述业务套件的所述节点服务器的标识。10.如权利要求8所述的装置,其特征在干, 所述检测模块,进ー步用于在每个节点服务器上部属的业务套件參与的业务被调用时,接收自动发来的所述业务套件被触发调用的消息,所...

【专利技术属性】
技术研发人员:陈超
申请(专利权)人:奇智软件北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1