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

文档序号:7852350阅读:106来源:国知局
专利名称:业务套件的信息收集方法、节点服务器及数据存储系统的制作方法
技术领域
本发明属于计算机领域,具体地说,涉及一种业务套件的信息收集方法、具有业务套件信息传输功能的节点服务器及具有业务套件的信息收集功能的数据存储系统。
背景技术
在互联网软件开发中,产品往往需要快速的推出从而抢占市场,产品的变化升级也始终伴随,对业务系统的研发速度便有了很高的需求。于是,对各个业务系统的共性进行了抽象,搭建了不少的数据存储系统,例如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的时候,势必会导致新增节点服务器被遗漏。

发明内容
有鉴于此,本发明所要解决的技术问题是提供了一种业务套件的信息收集方法、节点服务器及数据存储系统,不再依赖人工进行部署列表的维护,部署列表中的节点服务器能够根据策略自动向主控服务器进行传输,主控服务器通过简单的脚本分析就能获得部署列表。为了解决上述技术问题,本发明公开了一种业务套件的信息收集方法,应用于包括主控服务器、若干节点服务器及若干客户端的数据存储系统,其中所述主控服务器和节点服务器上部署供所述客户端使用的业务套件,所述信息收集方法包括检测到每个节点服务器上所部署的业务套件被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,基于无连接协议向所述主控服务器传输所述业务套件的部署信息;所述主控服务器监听各节点服务器传输的所述业务套件的部署信息,获取记录了各节点服务器的部署信息的部署列表,并根据所述部署列表对各节点服务器上的业务套件进行更新或者修复。进一步地,所述部署信息至少包括所述业务套件的标识及其版本信息、部署所述业务套件的所述节点服务器的标识;所述主控服务器预先针对所述业务套件配置对应的标识和版本信息。
进一步地,检测每个节点服务器上部署的业务套件被触发调用的操作,具体包括每个节点服务器上部属的业务套件参与的业务被调用时,所述业务套件进行初始化操作并向所述节点服务器发送所述业务套件被触发调用的消息,所述消息的发送在所述业务套件进行初始化操作时自动触发执行。进一步地,发送所述业务套件被触发调用的消息的操作使用入口函数实现,所述业务套件的初始化操作采用构造函数实现,将所述入口函数放置于所述业务套件的构造函数中;所述业务套件参与的业务被调用时,自动触发所述业务套件的构造函数并激活所述入口函数,向所述节点服务器发送所述业务套件被触发调用的消息;所述业务套件参与的业务不再被调用后则不再执行所述构造函数和入口函数。进一步地,检测到每个节点服务器上所部署的业务套件被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,基于无连接协议向所述主控服务器传输所述业务套件的部署信息的操作,具体包括对于每个节点服务器,检测到其上部署的业务套件被触发调用时,在共享内存中检测是否存在所述业务套件对应的部署信息;如果不存在所述部署信息,则在共享内存中记录所述业务套件的部署信息及本次的传输时间,并向所述主控服务器传输所述业务套件的部署信息;如果存在所述部署信息,则根据当前调用时间和上次记录的传输时间获取时间间隔,将所述时间间隔与预设的门限进行比较,所述时间间隔小于等于所述门限时不向所述主控服务器传输所述部署信息;所述时间间隔大于所述门限时在共享内存中记录所述业务套件的部署信息及本次的传输时间,并向所述主控服务器传输所述业务套件的部署信息。进一步地,基于无连接协议向所述主控服务器传输所述业务套件的部署信息的操作,具体包括所述节点服务器与主控服务器的指定接收端口建立基于无连接协议的网络连接,将所述部署信息传输到所述接收端口,其中向主控服务器传输的部署信息被设置为无保障的面向消息的类型。进一步地,所述主控服务器监听所述部署信息的操作,具体包括所述主控服务器针对每个节点服务器建立基于无连接协议的网络连接,分别将各接收端口和对应节点服务器的标识建立对应关系,在各接收端口接收各节点服务器传输的部署信息并记录所述部署信息,其中所接收的部署信息被设置为无保障的面向消息的类型。为了解决上述技术问题,本发明还公开了一种具有业务套件信息传输功能的装置,所述装置,包括检测模块和传输模块,其中,所述检测模块,用于检测到每个节点服务器上所部署的供所述客户端使用的业务套件被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,通知传输模块;所述传输模块,用于基于无连接协议向所述主控服务器传输所述业务套件的部署信息供主控服务器获取记录有各节点服务器的部署信息的部署列表并根据所述部署列表对各节点服务器上的业务套件进行更新或者修复。进一步地,所述部署信息至少包括所述业务套件的标识及其版本信息、部署所述业务套件的所述节点服务器的标识。
进一步地,所述检测模块,用于在每个节点服务器上部属的业务套件参与的业务被调用时,接收自动发来的所述业务套件被触发调用的消息,所述消息的发送在所述业务套件进行初始化操作时自动触发执行。 进一步地,所述检测模块,使用入口函数实现发送所述业务套件被触发调用的消息的操作,采用构造函数实现所述业务套件的初始化操作,将所述入口函数放置于所述业务套件的构造函数中;所述业务套件参与的业务被调用时,自动触发所述业务套件的构造函数并激活所述入口函数,向所述节点服务器发送所述业务套件被触发调用的消息。进一步地,所述检测模块包括检测单元和比较单元,其中,所述检测单元,用于在共享内存中检测是否存在所述业务套件对应的部署信息;如果不存在所述部署信息,则在共享内存中记录所述业务套件的部署信息及本次的传输时间,并通知传输模块;如果存在所述部署信息,通知传输模块所述比较单元;所述比较单元,用于根据当前调用时间和上次记录的传输时间获取时间间隔,将所述时间间隔与预设的门限进行比较,所述时间间隔大于所述门限时在共享内存中记录所述业务套件的部署信息及本次的传输时间,并通知传输模块。进一步地,所述传输模块,用于与主控服务器的指定接收端口建立基于无连接协议的网络连接,将所述部署信息传输到所述接收端口,其中,向主控服务器传输的部署信息被设置为无保障的面向消息的类型。为了解决上述技术问题,本发明还公开了一种具有业务套件信息收集功能的数据存储系统,包括主控服务器、若干节点服务器及若干客户端,其中所述主控服务器和节点服务器上部署供所述客户端使用的业务套件,每个节点服务器,用于检测到每个节点服务器上所部署的业务套件被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,基于无连接协议向所述主控服务器传输所述业务套件的部署信息;所述主控服务器,用于监听各节点服务器传输的所述业务套件的部署信息,获取记录了各节点服务器的部署信息的部署列表,根据所述部署列表对各节点服务器上的业务套件进行更新或者修复。进一步地,所述部署信息至少包括所述业务套件的标识及其版本信息、部署所述业务套件的所述节点服务器的标识;所述主控服务器,还用于预先针对所述业务套件配置对应的标识和版本信息。进一步地,所述节点服务器,用于在每个节点服务器上部属的业务套件参与的业务被调用时,接收自动发来的所述业务套件被触发调用的消息,所述消息的发送在所述业务套件进行初始化操作时自动触发执行。
进一步地,所述节点服务器发送所述业务套件被触发调用的消息的操作使用入口函数实现,初始化所述业务套件的操作采用构造函数实现,将所述入口函数放置于所述业务套件的构造函数中,所述业务套件参与的业务被调用时,自动触发所述业务套件的构造函数并激活所述入口函数。进一步地,所述节点服务器,用于检测到其上部署的业务套件被触发调用时,在共享内存中检测是否存在所述业务套件对应的部署信息;如果不存在所述部署信息,则在共享内存中记录所述业务套件的部署信息及本次的传输时间,并向所述主控服务器传输所述业务套件的部署信息;如果存在所述部署信息,则根据当前调用时间和上次记录的传输时间获取时间间隔,将所述时间间隔与预设的门限进行比较,所述时间间隔小于等于所述门限时不向所述主控服务器传输所述部署信息;所述时间间隔大于所述门限时在共享内存中记录所述业务套件的部署信息及本次的传输时间,并向所述主控服务器传输所述业务套件的部署信息。进一步地,所述节点服务器,用于与主控服务器的指定接收端口建立基于无连接 协议的网络连接,将所述部署信息传输到所述接收端口,其中向主控服务器传输的部署信息被设置为无保障的面向消息的类型。进一步地,所述主控服务器,用于针对每个节点服务器建立基于无连接协议的网络连接,分别将各接收端口和对应节点服务器的标识建立对应关系,在各接收端口接收各节点服务器传输的部署信息并记录所述部署信息,其中所接收的部署信息被设置为无保障的面向消息的类型。与现有的方案相比,本发明所获得的技术效果I)不再依赖人工进行部署列表的维护,部署列表中的节点服务器能够根据策略自动向主控服务器进行传输,主控服务器通过简单的脚本分析就能获得部署列表。2)现有的网络环境中,各跨运营商(电信、网通)之间的网络访问质量通常是不顺畅的,基于无连接协议进行传输可以顺利完成跨运营商或者跨地域访问,从而真正实现将节点服务器的传输机制贯穿在业务中,在各种应用环境保证本发明的实用性。
3)通过预设门限的设置限制了每个节点服务器传输自身业务套件的部署信息的频率,保证了不会因为过于频繁的传输从而影响节点服务器的正常业务。4)当节点服务器上业务套件参与的业务废弃后,则可以使所述业务套件自动废弃。


图I为本发明实施例的方法流程图;图2为本发明实施例的步骤S20的方法流程图;图3为本发明实施例的装置结构图;图4为本发明实施例的装置中检测模块的结构图;图5为本发明实施例的系统架构图。
具体实施例方式以下将配合图式及实施例来详细说明本发明的实施方式,藉此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。以下描述下本发明的核心构思应用于包括主控服务器、若干节点服务器及若干客户端的数据存储系统,其中所述主控服务器和节点服务器上部署业务套件供所述客户端使用,所述信息收集方法包括检测到每个节点服务器上所部署的业务套件被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,基于无连接协议向所述主控服务器传输所述业务套件的部署信息;所述主控服务器监听各节点服务器传输的所述业务套件的部署信息,获取记录了各节点服务器的部署信息的部署列表,根据所述部署列表对各节点服务器上的业务套件进行更新或者修复。所述业务套件,包括软件开发包SDK等其它可被复制但扩展不可控的对象。以下实施例以SDK进行描述,但是本领域技术人员应该知道本发明并不仅限于应用到SDK,还可以拓展到所有类似的业务套件上使用。
·
以下以一实施例对本发明的方法进行说明。如图I所示,执行如下操作步骤S10,对于每个节点服务器,监测其上部署的SDK的触发调用情况;对于每个节点服务器,将所述SDK的初始化操作与所述SDK的被触发调用时发送所述SDK被触发调用的消息的操作进行关联,所述SDK参与的业务被调用时对所述SDK进行初始化操作,并自动向所述节点服务器发送其被触发调用的消息,所述消息的发送在所述业务套件进行初始化操作时自动触发执行;如果所述SDK参与的业务未被调用则不会开始初始化操作,则也就不向所述节点服务器发送其被触发调用的消息,之后的传输工作也就不会启动。通过这样的方式,如果此SDK参与的业务,则所述SDK不会再进行初始化操作了,从而传输操作也就不会再进行,这样所述SDK就自动废弃了,这样本身可以对部属在各节点服务器上的SDK达到管理作用,而且配合节点服务器的传输机制保证了传输数据的精准、有效,大大提高了部署列表的可靠性。在实际操作中,发送所述SDK被触发调用的消息的操作可以使用send_sdk_msg(入口函数,用于向所述节点服务器发送其被触发调用的消息并激活整个部署信息的传输流程)来实现,所述SDK的初始化操作采用SDK的构造函数来实现,所述关联通过将send_sdkjnsg放置于SDK的构造函数中实现。当所述SDK参与的业务被调用时,自动触发所述SDK的构造函数并激活send_sdk_msg,向所述节点服务器发送所述SDK被触发调用的消息;而当所述SDK参与的业务不再被调用后,则不再执行所述构造函数和sencLsdkjnsg,从而使所述SDK自动废弃。步骤S20,检测到每个节点服务器上部署的软件开发包SDK被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,基于无连接协议向所述主控服务器传输所述SDK的部署信息;检测到每个节点服务器上部署的软件开发包SDK被触发调用且与上一次传输部署信息的时间间隔不大于预设门限时,所述节点服务器不向所述主控服务器传输所述SDK的部署信息;预设门限的设置由本领域技术人员根据经验设置,目标希望传输部署信息的频率不要太频繁,保证了不会因为过于频繁的传输从而影响节点服务器的正常业务以免影响业务;所述部署信息至少包括所述SDK的标识及其版本信息、部署所述SDK的所述节点服务器的标识;主控服务器预先针对部署到各节点服务器的SDK分配对应的标识和版本信息;所述SDK的调用是由脚本来完成的,而不是常驻内存的守护进程(daemon),因此所述SDK在完成本次调用后,就会随着脚本执行的结束而自动结束。系统内的每个节点服务器上装有相应的脚本语言的解释程序,这样SDK就可以做到跨平台访问。步骤S30,所述主控服务器监听所述部署信息,统计一记录了系统内的各节点服务器的当前部署信息的部署列表并不断更新;步骤S40,根据所述部署列表对其中需要更新或者修复的节点服务器上的SDK进行更新或者修复。 通过以上方式可见,不再依赖人工进行部署列表的维护,部署列表中的节点服务器能够根据策略自动向主控服务器进行传输,主控服务器通过简单的脚本分析就能获得部署列表。以下再以一实施方式来描述步骤S20的实现,主控服务器预先针对部署到各节点服务器的SDK分配对应的标识和版本信息。如图2所示,为本发明实施例的步骤S20的方法流程图,包括步骤S220,对于每个节点服务器,在步骤SlO检测到其上部署的SDK被触发调用时,所述节点服务器还在共享内存中检测是否存在所述SDK对应的部署信息;如果不存在所述部署信息,说明所述SDK是第一次被所述节点服务器调用,则执行步骤S280 ;如果存在所述部署信息,说明所述SDK之前已被所述节点服务器调用过,则执行步骤S240。步骤S240,所述SDK之前已被所述节点服务器调用过,所述节点服务器获取所述SDK的当前调用时间,并在共享内存中查找上次记录的所述SDK的部署信息的传输时间,根据当前调用时间和上次记录的传输时间获取时间间隔。步骤S260,将所述时间间隔与预设的门限进行比较,如果所述时间间隔小于等于所述门限,说明所述节点服务器此时传输SDK的部署信息会导致发送过于频繁,则不向所述主控服务器传输所述部署信息;如果所述时间间隔大于所述门限,说明此时所述节点服务器适宜传输部署信息,则执行步骤S280。步骤S280,所述节点服务器在共享内存中记录所述SDK的部署信息及本次的传输时间,并基于无连接协议向所述主控服务器传输所述SDK的部署信息。所述数据存储系统包括主控服务器、若干节点服务器及若干客户端;所述数据存储系统以全局方式管理资源,上述共享内存是数据存储系统中的管理成分,使得共享内存可以被数据存储系统中的所有节点共享。共享内存可以是一个被数据存储系统中的所有节点共享的虚拟空间,虚拟空间与分散在各节点上的物理内存形成映射;共享内存也可以是由数据存储系统中的所有节点共享的集中式的物理内存。步骤S20优选使用以上第一实施方式实现传输控制,其通过内存方式的完成高效的检测,速度损耗几乎可以忽略;同时利用共享内存的应用模式实现了跨进程访问。当然,本发明还可以通过其它方式实现步骤S20的传输控制,以下再以若干个实施例来描述步骤S20的实现。I)步骤S20还可以通过随机算法来控制SDK的部署信息的传输,实现较为简单,可行性强。但是使用随机算法传输取决于随机的概率和当前SDK被调用的频率,如果SDK调用次数极少,比如一天只调用一次,则主控服务器很难收集到传输的SDK的部署信息。2)步骤S20还可以通过写本地文件来进行标志位控制每传输一次SDK的部署信息后,在本地写文件记录部署信息并记录当前传输的时间。但是这样的缺点是,每次调用所记录的部署信息时,都需要检查本地文件,原本可以完全在内存内完成的操作,却每次都要落到本地硬盘上,这样会大大拖慢调用的效率。需要说明的是,虽然以上所列实施方式均可实现步骤S20的操作,但是考虑到第一实施方式的高效而跨进程访问的优势,优选第一实施方式来实现。以下再以一实施方式来描述步骤S20中“所述节点服务器基于无连接协议向所述主控服务器传输所述SDK的部署信息”及步骤S30中“所述主控服务器监听所述部署信息”的实现。现有的网络环境中,各跨运营商(电信、网通)之间的网络访问质量通常是不顺畅的。所述节点服务器与主控服务器之间,如果使用基于面向连接的协议(Connection-Oriented Protocols)是比较影响业务的。所述面向连接的协议,包括TCP协议,其需要建立握手之后,两端才能传输数据包,也就意味着跨运营商或者跨地域访问会比较吃力。因此,节点服务器传输自身部署的SDK的状态时优选使用无连接协议(Connectionless Protocols),可以在不分运营商,不影响业务的情况下,对自身的部署信息进行传输,从而真正实现将节点服务器的传输机制贯穿在业务中,在各种应用环境保证本发明的实用性。所述无连接协议,包括UDP协议等;所述UDP损耗资源小,处理速度快,偶尔发生丢失数据包,也不会影响业务。以下实施例中以UDP协议为例进行说明,当然,本发明并不限于此,本领域技术人员应当可以获知,其他差错控制开销较小、不需要很大传输数据量的无连接协议都可以实现本发明的方案。对于每个节点服务器,使用socket (套接字)函数与主控服务器的指定接收端口建立UDP socket连接,向主控服务器传输的部署信息的类型被设置为S0CK_DGRAM (无保障的面向消息的类型),需要说明的是,本发明并不限于使用socket (套接字)函数完成连接,本领域技术人员应该可以理解凡符合本发明精神病具有相同作用的其他等同手段均可用于此;使用socketjrite函数将包含“SDK的标识、版本信息、所述节点服务器的标识和IP信息”等数据的部署信息写入缓冲队列,传输到所述指定的接收端口 ;其中,所述部署信息单次传输的用时超过预设的超时时间则重新传输所述部署信息,所述超时时间的设置控制在对所述SDK应用影响最小的范围内。所述主控服务器针对每个节点服务器使用socket函数建立UDPsocket连接,所接收的部署信息的类型被设置为S0CK_DGRAM ;初始化各socket函数,并分别将各接收端口和对应节点服务器的标识使用bind函数进行绑定从而将各接收端口和对应节点服务器的标识建立对应关系,在各接收端口接收各节点服务器传输的部署信息并记录到相应的日志里面。节点服务器的标识可以是节点服务器的IP地址,当然也可以是其他用于区别各标识节点服务器的标识。以下以一实施例对本发明的具有业务套件信息传输功能的装置进行说明,所述装置可以是节点服务器,可以是位于节点服务器上的部件,也可以是位于与节点服务器同侧的网络位置、但是并未设置在节点服务器上的部件,还可以位于与节点服务器异侧的网络位置。所述装置与上述方法流程对应,不足之处可参考上述方法部分。如图3所示,为本发明实施例的装置结构图。所述装置,包括检测模块22和传输模块24,其中,所述检测模块22,用于检测到每个节点服务器上所部署的供所述客户端使用的业务套件被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,通知传输模块24 ;所述传输模块24,用于基于无连接协议向所述主控服务器传输所述业务套件的部署信息供主控服务器获取记录有各节点服务器的部署信息的部署列表并根据所述部署列表对各节点服务器上的业务套件进行更新或者修复;所述部署信息至少包括所述业务套件的标识及其版本信息、部署所述业务套件的所述节点服务器的标识。所述检测模块22,进一步用于在每个节点服务器上部属的业务套件参与的业务被调用时,接收自动发来的所述业务套件被触发调用的消息,所述消息的发送在所述业务套 件进行初始化操作时自动触发执行;使用入口函数实现发送所述业务套件被触发调用的消息的操作,采用构造函数实现所述业务套件的初始化操作,将所述入口函数放置于所述业务套件的构造函数中;所述业务套件参与的业务被调用时,自动触发所述业务套件的构造函数并激活所述入口函数,向所述节点服务器发送所述业务套件被触发调用的消息。所述传输模块24,进一步用于与主控服务器的指定接收端口建立基于无连接协议的网络连接,将所述部署信息传输到所述接收端口,其中,向主控服务器传输的部署信息被设置为无保障的面向消息的类型;所述部署信息传输的用时超过预设的超时时间则重新传输所述部署信息,所述超时时间的设置控制在对所述业务套件应用影响最小的范围内。如图4所示,为本发明实施例的装置中检测模块的结构图。当然,本例的装置中检测模块并不仅限于图4所述的结构,各种相应的改变和变形都应属于本发明所附的权利要求的保护范围。所述检测模块22,进一步包括检测单元220和比较单元222,其中,所述检测单元220,用于在共享内存中检测是否存在所述业务套件对应的部署信息;如果不存在所述部署信息,则在共享内存中记录所述业务套件的部署信息及本次的传输时间,并通知传输模块24 ;如果存在所述部署信息,通知传输模块所述比较单元222 ;所述比较单元222,用于根据当前调用时间和上次记录的传输时间获取时间间隔,将所述时间间隔与预设的门限进行比较,所述时间间隔大于所述门限时在共享内存中记录所述业务套件的部署信息及本次的传输时间,并通知传输模块24。以下以一实施例对本发明的具有软件开发包信息收集功能的数据存储系统进行说明,所述系统与上述方法流程对应,不足之处可参考上述方法部分。如图5所示,为本发明实施例的系统架构图。所述具有软件开发包信息收集功能的数据存储系统,包括主控服务器I、若干节点服务器2及若干客户端3,其中所述主控服务器I和节点服务器2上部署供所述客户端3使用的软件开发包SDK ;每个节点服务器2,用于检测到每个节点服务器2上所部署的SDK被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,基于无连接协议向所述主控服务器I传输所述SDK的部署信息;所述部署信息至少包括所述SDK的标识及其版本信息、部署所述SDK的所述节点服务器的标识;所述主控服务器1,用于预先针对所述SDK配置对应的标识和版本信息,还用于监听各节点服务器2传输的所述SDK的部署信息,获取记录了各节点服务器2的部署信息的部署列表并不断更新;还用于根据所述部署列表对各节点服务器上的SDK进行更新或者修复。所述节点服务器2,进一步用于在每个节点服务器上部属的业务套件参与的业务被调用时,接收自动发来的所述业务套件被触发调用的消息,所述消息的发送在所述业务套件进行初始化操作时自动触发执行;发送所述SDK被触发调用的消息的操作使用入口函数实现,初始化所述SDK的操作采用构造函数实现,将所述入口函数放置于所述SDK的构造函数中,所述SDK参与的业务被调用时,自动触发所述SDK的构造函数并激活所述入口函数。所述节点服务器2,进一步用于检测到其上部署的SDK被触发调用时,在共享内存中检测是否存在所述SDK对应的部署信息;如果不存在所述部署信息,则在共享内存中记录所述SDK的部署信息及本次的传输时间,并向所述主控服务器I传输所述SDK的部署信息;如果存在所述部署信息,则根据当前调用时间和上次记录的传输时间获取时间间隔,将所述时间间隔与预设的门限进行比较,所述时间间隔小于等于所述门限时不向所述主控服务器传输所述部署信息;所述时间间隔大于所述门限时在共享内存中记录所述SDK的部署信息及本次的传输时间,并向所述主控服务器I传输所述SDK的部署信息。所述节点服务器2,进一步用于与主控服务器I的指定接收端口建立基于无连接协议的网络连接,向主控服务器I传输的部署信息被设置为无保障的面向消息的类型;将所述部署信息传输到所述接收端口 ;其中,所述部署信息传输的用时超过预设的超时时间则重新传输所述部署信息,所述超时时间的设置控制在对所述SDK应用影响最小的范围内。所述主控服务器1,进一步用于针对每个节点服务器I建立基于无连接协议的网络连接,所接收的部署信息被设置为无保障的面向消息的类型;分别将各接收端口和对应节点服务器的标识绑定从而将各接收端口和对应节点服务器的标识建立对应关系,在各接收端口接收各节点服务器I传输的部署信息并记录。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相
互任意组合。 当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令、相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
权利要求
1.一种业务套件的信息收集方法,其特征在干,应用于包括主控服务器、若干节点服务器及若干客户端的数据存储系统,其中所述主控服务器和节点服务器上部署供所述客户端使用的业务套件,所述信息收集方法包括 检测到每个节点服务器上所部署的业务套件被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,基于无连接协议向所述主控服务器传输所述业务套件的部署信息; 所述主控服务器监听各节点服务器传输的所述业务套件的部署信息,获取记录了各节点服务器的部署信息的部署列表,井根据所述部署列表对各节点服务器上的业务套件进行更新或者修复。
2.如权利要求I所述的信息收集方法,其特征在干, 所述部署信息至少包括所述业务套件的标识及其版本信息、部署所述业务套件的所述节点服务器的标识; 所述主控服务器预先针对所述业务套件配置对应的标识和版本信息。
3.如权利要求I所述的信息收集方法,其特征在于,检测到每个节点服务器上所部署的业务套件被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,基于无连接协议向所述主控服务器传输所述业务套件的部署信息的操作,具体包括 对于每个节点服务器,检测到其上部署的业务套件被触发调用时,在共享内存中检测是否存在所述业务套件对应的部署信息;如果不存在所述部署信息,则在共享内存中记录所述业务套件的部署信息及本次的传输时间,并向所述主控服务器传输所述业务套件的部署信息;如果存在所述部署信息,则根据当前调用时间和上次记录的传输时间获取时间间隔,将所述时间间隔与预设的门限进行比较,所述时间间隔小于等于所述门限时不向所述主控服务器传输所述部署信息;所述时间间隔大于所述门限时在共享内存中记录所述业务套件的部署信息及本次的传输时间,并向所述主控服务器传输所述业务套件的部署信息。
4.如权利要求I或3所述的信息收集方法,其特征在于,检测每个节点服务器上部署的业务套件被触发调用的操作,具体包括 每个节点服务器上部属的业务套件參与的业务被调用时,所述业务套件进行初始化操作并向所述节点服务器发送所述业务套件被触发调用的消息,所述消息的发送在所述业务套件进行初始化操作时自动触发执行。
5.如权利要求4所述的信息收集方法,其特征在干, 发送所述业务套件被触发调用的消息的操作使用入口函数实现,所述业务套件的初始化操作采用构造函数实现,将所述入ロ函数放置于所述业务套件的构造函数中; 所述业务套件參与的业务被调用吋,自动触发所述业务套件的构造函数并激活所述入ロ函数,向所述节点服务器发送所述业务套件被触发调用的消息;所述业务套件參与的业务不再被调用后则不再执行所述构造函数和入ロ函数。
6.如权利要求I所述的信息收集方法,其特征在于,基于无连接协议向所述主控服务器传输所述业务套件的部署信息的操作,具体包括 所述节点服务器与主控服务器的指定接收端ロ建立基于无连接协议的网络连接,将所述部署信息传输到所述接收端ロ,其中向主控服务器传输的部署信息被设置为无保障的面向消息的类型。
7.如权利要求I或6所述的信息收集方法,其特征在于,所述主控服务器监听所述部署信息的操作,具体包括 所述主控服务器针对每个节点服务器建立基于无连接协议的网络连接,分别将各接收端口和对应节点服务器的标识建立对应关系,在各接收端ロ接收各节点服务器传输的部署信息并记录所述部署信息,其中所接收的部署信息被设置为无保障的面向消息的类型。
8.ー种具有业务套件信息传输功能的装置,其特征在于,所述装置,包括检测模块和传输模块,其中, 所述检测模块,用于检测到每个节点服务器上所部署的供所述客户端使用的业务套件被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,通知传输模块; 所述传输模块,用于基于无连接协议向所述主控服务器传输所述业务套件的部署信息供主控服务器获取记录有各节点服务器的部署信息的部署列表井根据所述部署列表对各节点服务器上的业务套件进行更新或者修复。
9.如权利要求8所述的装置,其特征在干, 所述部署信息至少包括所述业务套件的标识及其版本信息、部署所述业务套件的所述节点服务器的标识。
10.如权利要求8所述的装置,其特征在干, 所述检测模块,进ー步用于在每个节点服务器上部属的业务套件參与的业务被调用时,接收自动发来的所述业务套件被触发调用的消息,所述消息的发送在所述业务套件进行初始化操作时自动触发执行。
11.如权利要求10所述的装置,其特征在干, 所述检测模块,进一歩使用入口函数实现发送所述业务套件被触发调用的消息的操作,采用构造函数实现所述业务套件的初始化操作,将所述入口函数放置于所述业务套件的构造函数中;所述业务套件參与的业务被调用吋,自动触发所述业务套件的构造函数并激活所述入ロ函数,向所述节点服务器发送所述业务套件被触发调用的消息。
12.如权利要求8所述的装置,其特征在于,所述检测模块,进一歩包括检测单元和比较单元,其中, 所述检测単元,用于在共享内存中检测是否存在所述业务套件对应的部署信息;如果不存在所述部署信息,则在共享内存中记录所述业务套件的部署信息及本次的传输时间,并通知传输模块;如果存在所述部署信息,通知传输模块所述比较单元; 所述比较単元,用于根据当前调用时间和上次记录的传输时间获取时间间隔,将所述时间间隔与预设的门限进行比较,所述时间间隔大于所述门限时在共享内存中记录所述业务套件的部署信息及本次的传输时间,并通知传输模块。
13.如权利要求8所述的装置,其特征在干, 所述传输模块,进ー步用于与主控服务器的指定接收端ロ建立基于无连接协议的网络连接,将所述部署信息传输到所述接收端ロ,其中,向主控服务器传输的部署信息被设置为无保障的面向消息的类型。
14.ー种具有业务套件信息收集功能的数据存储系统,其特征在于,包括主控服务器、若干节点服务器及若干客户端,其中所述主控服务器和节点服务器上部署供所述客户端使用的业务套件,每个节点服务器,用于检测到每个节点服务器上所部署的业务套件被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,基于无连接协议向所述主控服务器传输所述业务套件的部署信息; 所述主控服务器,用于监听各节点服务器传输的所述业务套件的部署信息,获取记录了各节点服务器的部署信息的部署列表,根据所述部署列表对各节点服务器上的业务套件进行更新或者修复。
15.如权利要求14所述的数据存储系统,其特征在干, 所述部署信息至少包括所述业务套件的标识及其版本信息、部署所述业务套件的所述节点服务器的标识; 所述主控服务器,还用于预先针对所述业务套件配置对应的标识和版本信息。
16.如权利要求14所述的数据存储系统,其特征在干, 所述节点服务器,进ー步用于在每个节点服务器上部属的业务套件參与的业务被调用时,接收自动发来的所述业务套件被触发调用的消息,所述消息的发送在所述业务套件进行初始化操作时自动触发执行。
17.如权利要求16所述的数据存储系统,其特征在干, 所述节点服务器发送所述业务套件被触发调用的消息的操作使用入口函数实现,初始化所述业务套件的操作采用构造函数实现,将所述入口函数放置于所述业务套件的构造函数中,所述业务套件參与的业务被调用吋,自动触发所述业务套件的构造函数并激活所述入口函数。
18.如权利要求14所述的数据存储系统,其特征在干, 所述节点服务器,进ー步用于检测到其上部署的业务套件被触发调用时,在共享内存中检测是否存在所述业务套件对应的部署信息;如果不存在所述部署信息,则在共享内存中记录所述业务套件的部署信息及本次的传输时间,并向所述主控服务器传输所述业务套件的部署信息;如果存在所述部署信息,则根据当前调用时间和上次记录的传输时间获取时间间隔,将所述时间间隔与预设的门限进行比较,所述时间间隔小于等于所述门限时不向所述主控服务器传输所述部署信息;所述时间间隔大于所述门限时在共享内存中记录所述业务套件的部署信息及本次的传输时间,并向所述主控服务器传输所述业务套件的部署信息。
19.如权利要求14所述的数据存储系统,其特征在干, 所述节点服务器,进ー步用干与主控服务器的指定接收端ロ建立基于无连接协议的网络连接,将所述部署信息传输到所述接收端ロ,其中向主控服务器传输的部署信息被设置为无保障的面向消息的类型。
20.如权利要求14或19所述的数据存储系统,其特征在干, 所述主控服务器,进ー步用于针对每个节点服务器建立基于无连接协议的网络连接,分别将各接收端口和对应节点服务器的标识建立对应关系,在各接收端ロ接收各节点服务器传输的部署信息并记录所述部署信息,其中所接收的部署信息被设置为无保障的面向消息的类型。
全文摘要
本发明公开了一种业务套件的信息收集方法、节点服务器及数据存储系统,其中所述信息收集方法包括检测到每个节点服务器上所部署的业务套件被触发调用且与上一次传输部署信息的时间间隔大于预设门限时,基于无连接协议向所述主控服务器传输所述业务套件的部署信息;所述主控服务器监听各节点服务器传输的所述业务套件的部署信息,获取记录了各节点服务器的部署信息的部署列表,并根据所述部署列表对各节点服务器上的业务套件进行更新或者修复。本发明不再依赖人工进行部署列表的维护,部署列表中的节点服务器能够根据策略自动向主控服务器进行传输。
文档编号H04L29/08GK102685247SQ20121017155
公开日2012年9月19日 申请日期2012年5月29日 优先权日2012年5月29日
发明者陈超 申请人:奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1