CN105049463B - 分散数据库、数据共享方法、用于分散数据库的装置 - Google Patents

分散数据库、数据共享方法、用于分散数据库的装置 Download PDF

Info

Publication number
CN105049463B
CN105049463B CN201510119438.6A CN201510119438A CN105049463B CN 105049463 B CN105049463 B CN 105049463B CN 201510119438 A CN201510119438 A CN 201510119438A CN 105049463 B CN105049463 B CN 105049463B
Authority
CN
China
Prior art keywords
node
group
information
nodes
list
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
CN201510119438.6A
Other languages
English (en)
Other versions
CN105049463A (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Publication of CN105049463A publication Critical patent/CN105049463A/zh
Application granted granted Critical
Publication of CN105049463B publication Critical patent/CN105049463B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1059Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • 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/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/40Aspects of automatic or semi-automatic exchanges related to call centers
    • H04M2203/402Agent or workforce management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/55Aspects of automatic or semi-automatic exchanges related to network data storage and management
    • H04M2203/558Databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Environmental & Geological Engineering (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)

Abstract

本发明提供一种分散数据库、数据共享方法、用于分散数据库的装置。在P2P分散数据库中,构成数据库的多个节点的各节点需要掌握其他全部节点的死活状态。作为节点(N1~N8)之间的信息共享的方法,在进行节点连接时,通过配置成环状并在一定方向上连接,从请求侧发送信息,来提高信息共享的效率。在节点数增加的情况下,对于共享信息的普及要花费时间,因此,将组分割为N1~N4(A)、N5~N8(B),在各组的环中共享信息,并在每一定期间中以A→B、B→A的方式,与其他组的节点连接,进行信息交换,由此缩短了共享信息的传输时间。

Description

分散数据库、数据共享方法、用于分散数据库的装置
技术领域
本发明涉及分散数据库的技术。详细地,涉及由构成多个节点的多个数据库服务器而构成的、点对点(peer to peer)型分散数据库的技术。
背景技术
作为本发明的背景技术,存在利用点对点计算机环境的分散数据库的技术。典型的点对点计算机环境,已知是分别具有各种连接能力的节点,能够由点对点系统构成。例如,参照日本特表2013-516900号公报。
所述特表2013-516900号公报中记载的代表性分散数据库,为了共享数据,而与点对点计算机环境相连接。
用户计算机通过成为点对点计算机环境的节点,参加到点对点计算机环境中。用户计算机为了经由互联网访问其他服务器,在网页浏览器应用程序中输入互联网协议(IP:Internet Protocol)地址。
网页浏览器应用程序从用户接收域名,最初与域名系统(DNS:Domain NameSystem)服务器接触,并利用二值标识符重定向到实际的IP地址。网页浏览器应用程序被用于访问由服务器群(server farm)托管(host)的网页,代替服务器农场而参加到托管网页和其他服务的点对点计算机环境中。
另一方面,在由被称为多个节点的构成分散数据库的一个一个的数据库服务器构成的点对点型分散数据库中,各个节点需要分别掌握全部其他节点的死活状态。对动作中的节点分散数据并保存,将停止中的节点从分散对象中排除。因此,各个节点需要掌握全部节点的死活状态等信息。
作为节点间的信息共享的方法,有使用流言协议(gossip protocol)的方法。例如参见日本专利第5118059号。
此外,有的公开了以下技术,在点对点型网络系统中,组内的多个点(节点)向其他点询问,将登记的点的成员列表(membership list)进行存储,使信息共通。例如,参照日本特开2012-146312号公报。
根据上述的一般分散数据库,由多个节点构成一个组。在该组中,通过一个节点与其他节点进行通信,也取得通信目的地的节点与其他节点进行了通信时的信息。由此,能够通过较少次数的通信而取得多数节点的信息。通过对此进行重复,能够使各个节点取得组全体的信息。通信目的地的选择通过随机进行选择而均匀地扩展。
然而,根据上述的分散数据库,通过随机地选择要连接的节点,在节点数增加的情况下,可能集中地对一部分节点施加负荷。因此,施加了负荷的节点的应答可能会变差或者停止。相反地,一部分节点没有选择,可能难以进行信息共享。因此存在效率差的课题。
使用图5A~图5E、图6A~图6E来说明以往一般的信息询问动作的例子。
图6A~图6E与图5A~图5E对应。图5F表示标记■、○、□的通例。
图6A中,设节点为节点(N1)(N2)(N3)(N4)的4个。对于从节点(N1)向其他节点(N2~N4)的信息询问R1、R2、R3,以随机的顺序定期地进行。从其他节点(N2~N4)也同样地执行信息询问。
如图5F所示,作为通例,标记■表示未取得或不明状态。标记○表示已经取得。标记□表示计划取得(请求)。标记◇表示计划取得(被请求)。在图5A~图5F中,将表示各节点间的询问状态、信息取得状态的列表10称为节点状态列表。
图5A表示4个节点(N1~N4)尚未与任何节点共享信息的最初状态。
图5B、图6B表示接下来的状态。即,表示节点(N1)向节点(N2)询问,节点(N2)向节点(N4)询问,节点(N3)向节点(N1)询问,节点(N4)向节点(N3)询问的状态。
图5C、图6C表示进一步接下来的状态。即,表示节点(N1)向节点(N3)询问,节点(N2)向节点(N1)询问,节点(N3)向节点(N4)询问,节点(N4)向节点(N2)询问的状态。
图5D、图6D表示进一步接下来的状态。即,表示节点(N1)向节点(N4)询问,节点(N2)向节点(N3)询问,节点(N3)向节点(N2)询问,节点(N4)向节点(N1)询问的状态。
图5E表示节点(N1~N4)取得全部节点的信息,而为稳定状态。
询问目的地被随机选择,因此,如图6E所示,根据选择可能将节点(N2~N4)的询问集中到节点(N1)。因此,考虑到向节点(N1)施加负荷。由于选择是随机的,因此可能会连续地向同一节点询问,短期来看效率不高。
发明内容
本发明的目的在于,提供一种由多个节点构成的点对点型的分散数据库,各个节点高效地取得其他节点的状态并共享。
本发明提供一种分散数据库,是由多个节点构成组的点对点型分散数据库,具有:各个节点询问并取得其他节点的预定信息,并进行共享的共享单元;通过决定的线路传输所述信息的传输单元;在节点数增加预定以上的情况下分割所述组的分割单元。
本发明提供一种由多个节点构成的点对点型分散数据库的数据共享方法,其执行以下过程:将多个节点登记到组的第1过程;为了使各个节点取得其他节点的信息并在所述组中共享,而在所述组内通过所决定的线路传输信息的第2过程;在节点数增加预定以上的情况下分割所述组的第3过程。
本发明提供一种用于共享由多个节点构成的点对点型分散数据库的信息的程序,其使节点[N]的计算机执行以下过程:将多个节点登记在组中的登记过程;发送用于取得节点[N+1]的信息的请求,并将该节点[N]所具有表示节点状态的列表也一起发送的发送过程;从节点[N+1]接收在从节点[N]取得的表示节点状态的列表中追加节点[N+1]所具有的列表的信息的应答的接收过程;将从节点[N+1]取得的信息追加到自身列表中的追加过程;根据来自节点[N-1]的应答,在从节点[N-1]取得的列表中追加该节点[N]所具有的列表的信息,作为应答而回复给节点[N-1]的回复过程;在节点数增加预定以上的情况下分割所述组的分割过程。
本发明提供一种装置,其在由多个节点构成组的点对点型分散数据库中,具备用于执行所述程序的计算机。这里所说的装置是相当于节点的所谓服务器。
附图说明
图1是本发明一种实施方式中的节点的登记动作的流程图。
图2是本发明一种实施方式中的节点的信息共享处理(请求发送)动作的流程图。
图3是本发明一种实施方式中的节点的信息共享处理(请求接收)的流程图。
图4是本发明一种实施方式中的网络连接结构的概要框图。
图5A是表示以往的一般节点状态列表的图。
图5B是表示以往的一般节点状态列表的图。
图5C是表示以往的一般节点状态列表的图。
图5D是表示以往的一般节点状态列表的图。
图5E是表示以往的一般节点状态列表的图。
图5F是表示图5A~图5E中的标记的通例的图。
图6A是用于说明以往的一般信息询问动作的图。
图6B是用于说明以往的一般信息询问动作的图。
图6C是用于说明以往的一般信息询问动作的图。
图6D是用于说明以往的一般信息询问动作的图。
图6E是用于说明以往的一般信息询问动作的图。
图7A是表示本发明一种实施方式中的节点数为4的情况下的节点状态列表的图。
图7B是表示本发明一种实施方式中的节点数为4的情况下的节点状态列表的图。
图7C是表示本发明一种实施方式中的节点数为4的情况下的节点状态列表的图。
图7D是表示本发明一种实施方式中的节点数为4的情况下的节点状态列表的图。
图7E是表示图7A~图7D中的标记的通例的图。
图8A是用于说明本发明一种实施方式中的节点数为4的情况下的信息询问动作的图。
图8B是用于说明本发明一种实施方式中的节点数为4的情况下的信息询问动作的图。
图8C是用于说明本发明一种实施方式中的节点数为4的情况下的信息询问动作的图。
图8D是用于说明本发明一种实施方式中的节点数为4的情况下的信息询问动作的图。
图9A是表示本发明一种实施方式中的节点数为8的情况下的节点状态列表的图。
图9B1是表示本发明一种实施方式中的节点数为8的情况下的节点状态列表的图。
图9B2是表示本发明一种实施方式中的节点数为8的情况下的节点状态列表的图。
图9C1是表示本发明一种实施方式中的节点数为8的情况下的节点状态列表的图。
图9C2是表示本发明一种实施方式中的节点数为8的情况下的节点状态列表的图。
图9D是表示本发明一种实施方式中的节点数为8的情况下的节点状态列表的图。
图9E是表示图9A~图9D中的标记的通例的图。
图10A是用于说明本发明一种实施方式中的节点数为8的情况下的信息询问动作的图。
图10B是用于说明本发明一种实施方式中的节点数为8的情况下的信息询问动作的图。
图10C是用于说明本发明一种实施方式中的节点数为8的情况下的信息询问动作的图。
符号说明
10、11、12、13、14 节点状态列表
21、22、23、24 请求发送用节点信息处理程序
31、32、33、34 请求接收用节点信息处理程序
41、42、43、44 CPU
51、52、53、54 数据存储器
100 网络
A1~A4 服务器
N1~N8 节点
A、B 组
具体实施方式
以下,说明在由多个节点构成的点对点型分散数据库中,各个节点取得其他节点的死活状态等信息的手段和方法。
<结构>
图4是表示本发明一种实施方式即网络连接结构的概要的框图。图4的A1~A4和B是在网络100上连接的PC(个人计算机)或服务器,以下称为节点(Node)。
节点A1~A4意味着构成同一个组A的节点。节点B意味着不属于组A的节点。
节点A1、A2、A3、A4具有节点状态列表11、12、13、14,请求发送用节点信息处理程序21、22、23、24,请求接收用节点信息处理程序31、32、33、34,CPU41、42、43、44,以及数据存储器51、52、53、54。
对于节点状态列表11、12、13、14,如图5A~5E、图7A~7D、图9A~9D中说明中所使用的那样,各节点存储有计划对哪个节点进行询问(请求)、从哪个节点被询问(被请求)、是未取得还是已经取得死活状态等信息这样的状态列表。
CPU41~44具有通信协议,并对各节点进行控制。CPU41~44执行请求发送用节点信息处理程序21~24和请求接收用节点信息处理程序31~34,并定期执行后述的节点信息共享处理。该请求发送用节点信息处理程序21~24和请求接收用节点信息处理程序31~34为了方便而分开记载,然而实际上能够构成为一体化的1个程序。该请求发送用节点信息处理程序21~24和请求接收用节点信息处理程序31~34被安装于各节点。
此外,各节点通过NTP(网络时间协议)实现了各节点的时刻同步。为了对各个节点中同时期地具有其他状态列表的情况下的冲突进行整合,将取得信息时的时刻和信息一起记录。并且,在接到多个节点信息,而状态不同的情况下,采用取得时刻新的信息。
数据存储器51~54通常存储各种数据,并且还存储从各节点取得的存储器余量信息、性能信息等一览。此时,也一起存储取得信息的时刻。可以将所述节点状态列表11、12、13、14构成在数据存储器51~54内。此外,相反地,也可以将从各节点取得的存储器余量信息、性能信息、时刻信息等存储于节点状态列表11、12、13、14。
<概略动作说明>
对本实施方式的动作,使用流程图后面进行具体说明,首先进行概略说明。
1.节点的登记
(0)节点的登记从已经在组中登记的节点进行。
(1)将节点登记在组中。当设全部节点数为N而进行登记时,指定用于在组内进行识别的识别编号。
(例如:节点[1]、节点[2]、节点[3]、…、节点[N]、节点[M])
(2)各节点具有保存全部节点信息(节点的死活状态)的列表。在节点的组登记时生成列表。
关于与节点连接并取得信息,如节点[N]→节点[N+1]那样决定顺序。
设在顺序中位于最后的节点为从顺序的开头取得(节点[N]→节点[1]),并形成为环状。
(3)将新的节点状态列表发送到全部节点。
2.节点的处理
(4)节点[N]发送用于取得节点[N+1]的信息的请求。此时,还一起发送节点[N]所具有的列表。
(5)节点[N+1]在从节点[N]取得的列表中追加节点[N+1]所具有的列表的信息,作为应答而进行回复。
(6)节点[N]将从节点[N+1]取得的信息追加到自身列表中。
(7)节点[N],同样地被从节点[N-1]进行请求,因此进行与上述(5)对应的部分,并回复应答。
(8)返回到(4)进行重复。
3.节点数增加的情况
(9)节点数N不断追加节点。并且在达到节点数的上限值M时,将节点[1]到节点[M/2]作为A组,将节点[M/2+1]到节点[M]作为B组而分割为2个组。
(10)节点[M/2]与节点[1]连接,节点[M]与节点[M/2+1]连接,由此将环分割为2个。信息共享与进行分割之前同样地进行。
(11)一定期间(在各组的节点能够信息共享之后,若是上述例子则为M/2次以上)后,将连接目的地变更为其他组的节点。例如,A组的节点[N]连接到B组的节点[N+M/2]。
4.未从节点返回应答的情况
(12)未返回K次以上应答的节点[x]被视为停止,变更为下一顺序的节点(节点[x-1]→节点[x+1]),进行请求。
(13)同样地,在返回K次以上非正常应答的情况下的节点[x]被视为无法进行数据保存的状态,变更为下一顺序的节点(节点[x-1]→节点[x+1]),进行请求。
(14)对于停止节点节点[x]尝试进行其他连接,在恢复的情况下变更至该节点。
图7A~7D是表示该实施方式中的节点数为4的情况下的节点状态列表的图。
此外,图8A~8D是用于说明同一实施方式中的节点数为4的情况下的信息询问动作的图。
此外,图9A~9D是表示同一实施方式中的节点数为8的情况下的节点状态列表的图。
此外,图10A~10C是用于说明同一实施方式中的节点数为8的情况下的信息询问动作的图。
以易于与图5A~5D、图6A~6E的一般协议的信息询问动作进行对比的方式,通过图7A~7D、图10A~10C来说明本实施方式中的信息询问动作。
图7A~7D与图8A~8D对应。在图8A~8D中,假定节点为4个,对于从节点(N1)向节点(N2)的信息的询问R1、对于从节点(N2)向节点(N3)的信息的询问R2、对于从节点(N3)向节点(N4)的信息的询问R3、以及对于从节点(N4)向节点(N1)的信息的询问R4是对等的。
图7A表示4个节点(N1~N4)尚未与任何节点共享信息的最初状态。
图7B、图8B表示接下来的状态。即,表示节点(N1)向节点(N2)询问(所得预定(请求))的状态,节点(N2)向节点(N3)询问的状态,节点(N3)向节点(N4)询问的状态,节点(N1)向节点(N3)询问的状态。同时,节点(N1)从节点(N4)接受被请求,节点(N2)从节点(N1)接受被请求,节点(N3)从节点(N2)接受被请求,节点(N4)从节点(N3)接受被请求。
图7C、图8C表示进一步接下来的状态。
图7D表示节点(N1~N4)取得全部节点信息,成为稳定状态。如图8B、8C、8D所示,询问(请求)、被请求的关系全部相同。
从图8A可知,根据该实施方式,在从节点(N1)来看时,向节点(N2)进行询问,并从节点(N4)被询问。其他节点也同样地进行。不管从哪个节点来看,询问数与被询问数都是恒定的。
节点(N4)的节点信息进入到节点(N1)时,经由节点(N2)和节点(N3)来进入。对于各节点,利用NTP取得同步,基本上在同时期取得的信息进入。一般地,在节点状态列表10中也一起记录取得时的时刻,并在多个节点信息进入而状态不同的情况下,采用取得时刻的新的信息。
图9A~9D、图10A~10C说明了节点数增加时的信息询问动作,并说明了设上限值M为8,节点数变为8的情况。
图9A表示节点数分割前的状态。8个节点(N1~N8)表示尚未与任何节点共享信息的最初状态。节点状态列表10中,节点数对应于N1~N8而增加至8个。
图9B1表示分割为2个组的状态。节点状态列表10保持了组分割前的状态。最初阶段的节点信息的取得对节点(N1~N4)的组中区域200的信息进行更新,并更新节点(N5~N8)的组中区域300的信息。
图9B2表示组内大概地共享了节点状态的状态。对于节点(N1~N4),从图9B1的状态向图9B2的状态转移的中途的过程,与图7A至图7D相同。如果将图7A至图7D以N1→N5、N2→N6、N3→N7、N4→N8的方式进行换读,则对于节点(N5~N8)也视为相同。对于节点状态列表10,将区域200更新后的结果是区域210,将区域300更新后的结果是区域310。
图9C1、9C2表示在达到了图9B2的状态后,各节点向其他组的节点询问。
图9C1表示询问前的状态。即,表示节点(N1)向节点(N5)询问,节点(N6)向节点(N2)询问。节点(N2)与节点(N6)、节点(N3)与节点(N67)、节点(N4)与节点(N8)也是同样。
图9C2表示询问后的状态。即,表示节点(N1)从区域230取得了节点(N5)所具有的节点状态列表10的节点(N5~N8)的区域240的信息。同样地,表示节点(N5)从区域330取得了节点(N1)所具有的节点状态列表10的节点(N1~N4)的区域340的信息。节点(N2)与节点(N6)、节点(N3)与节点(N67)、节点(N4)与节点(N8)也是同样。
由此,全部节点取得了全部的节点状态。以后,返回图9B1重复操作。
图10A~10C图示了图9A、9B1、9B2、9C1、9C2的询问关系。图10A对应于图9A,图10B对应于图9B1、9B2,图10C对应于图9C1、9C2。
在节点超过一定数的情况下,利用虚线400进行分割而分为2个组。在分割了组的情况下,如虚线401、402那样,将节点(N4→N6)重新连接为节点(N4→N1),并将节点(N8→N1)重新连接为节点(N8→N5)。即,根据节点数来分割为多个组,在组内轮一圈后向其他组的节点询问。并且再次在同一组内进行询问。
此外,如果任一组的节点数超过8则进行进一步分割,成为3个组。在该组内的询问结束后则向其他组进行询问,即使组数增加也是相同原理。上限值8不受特别的限制。所决定的进行信息传输的线路,如上述“1.节点的登记”中说明的那样来决定顺序,但是不限于此。
<具体的动作说明>
接着,参照流程图来说明本实施方式的动作的详情。流程图是各节点的CPU所执行的流程。
图1是关于节点的登记的流程图。
步骤S101是在组中登记节点的处理。例如是在图4的组A中登记节点的处理。按照登记的顺序对节点赋予识别编号。识别信息被存储在数据存储器51~54中。该处理是通过NoSQL(Not only SQL)使用多个服务器(节点)来生成1个数据库的方法。
接着的步骤S102,作为节点状态列表,是相当于图6的节点状态列表10的列表。保存为表示步骤S101中登记的节点状态的排列,并追加与识别编号相符合的排列。
接着的步骤S103,使变更后的节点状态列表发送到属于组的节点,在全部的节点中共享。在全部的节点中共享节点状态列表之后,结束(步骤S104)。
以上是节点的登记。
图2是关于节点的信息共享处理(请求发送)的流程图。定期地重复请求。
步骤S201,为了生成请求用数据,而取得本身所具有的节点状态列表信息。
接着的步骤S202从本节点(节点[N])向请求目的地节点(节点[N+1])发送请求。
接着的步骤S203等待来自请求目的地的应答,在返回了应答之后前进到步骤S204,如果未返回应答则前进到步骤S212。
在步骤S204中,如果返回了应答时的结果是OK,则前进到步骤S205,如果是NG则前进到步骤S207。
在步骤S205中,设应答为正常,前进到步骤S206。
在步骤S206中,将接收到的应答的节点状态列表的数据中更新的部分数据,重写并保存在自身节点状态列表中,并结束(步骤S215)。
步骤S207,作为应答为异常,而前进到步骤S208。
步骤S208,在接收到的应答的节点状态列表的数据中请求目的地节点的部分设为NG,在其他数据的节点状态列表中不进行更新。并前进到步骤S209。
步骤S209中,将连续失败的次数的计数E进行更新,前进到步骤S210。
步骤S210中,在连续失败的次数的计数值E为连续失败次数的上限值K以上的情况下,前进到步骤S211,在小于的情况下前进至下一个处理(步骤S215)。
步骤S211是在连续失败的次数为连续失败次数的上限值以上的情况下,从节点状态列表中排除其请求目的地的节点,对下一个节点进行设定的处理。设定后结束(步骤S215)。
在步骤S203中无应答时,不会(一定时间)返回应答,因此作为节点停止(步骤S212),并前进到步骤S213。
在步骤S213中,由于无法接收应答,因此作为停止请求目的地节点的部分,在其他数据的节点状态列表中不进行更新。
接着,步骤S214中,对连续失败的次数的计数进行更新。然后,前进到步骤S210。
以上是节点的信息共享处理(请求发送)。
图3是节点信息共享处理(请求接收)的流程图。将请求设为要等待的请求。
步骤S301是对请求进行监视并等待的处理,在接收到请求的情况下前进到步骤S302,在未接收到的情况下返回到步骤S301。
在步骤S302中,取得请求中附加的节点状态列表信息。
接着,在步骤S303中,进行本节点的检验而取得状态。
接着,在步骤S304中,进行步骤S302、S303中取得的节点状态列表信息以及本节点的状态的错误检验,如果没问题则设为OK,并前进到步骤S305,如果有问题则设为NG,并前进到步骤S306。
在步骤S305中,将检验结果为OK写入到节点状态列表;在步骤S306中,将检验结果为NG写入到节点状态列表。
接着,在步骤S307中,从保存了的节点状态列表中生成反映步骤S304的结果的应答。
接着,在步骤S308中,发送在步骤S307中生成的应答。
接着,在步骤S309中,将步骤S302中取得的节点状态列表信息的数据中被更新的部分数据,重写并保存在自身节点状态列表中,并结束(步骤S310)。
以上是节点信息共享处理(请求接收)。
这样,在由多个节点构成的点对点型数据库中实现了信息的共享化。
<实施方式的效果>
根据本实施方式,通过在决定的线路中传输信息,即使增加节点数也不会增加网络的负荷,且在节点数增加的情况下对组进行分割,由此能够在一定时间内进行信息共享。
此外,通过在特定线路中进行信息交换,对一部分节点不施加负荷。或者,能够针对全部节点以一定间隔共享信息。
此外,通过在请求时从请求侧也发送节点信息,能够进行双方向的信息收集,并能够将分别蓄积的信息共享。
以上,说明了本发明的实施方式,然而本发明并不限于此,而是包含了专利请求范围记载的发明以及其均等的范围。

Claims (10)

1.一种分散数据库,是由多个节点构成组的点对点型分散数据库,
其特征在于,
存在于所述组内的各个节点包含CPU和节点状态列表存储器,
所述节点状态列表存储器存储有:所述多个节点中的一个节点的CPU向其他节点询问表示节点状态的节点状态信息而取得的节点状态信息,
各个节点的CPU在所述组内通过预先确定的线路传输所述节点状态信息,
当节点被登记到组中时,以节点的登记的顺序来更新节点状态列表,并且在最后登记的节点被连接,使得通过以登记的顺序获取开头节点的预定信息来形成节点的连接;
当节点数达到上限值M时,组中的节点被分割为包含节点1至节点M/2的第一组以及包含节点M/2+1-M的第二组,并且节点M/2与节点1连接,节点M与节点M/2+1连接;以及
当节点状态信息被共享在每个组中的所有节点当中时,组中的其中一个节点与另一组中的节点连接。
2.根据权利要求1所述的分散数据库,其特征在于,
在所述节点状态信息在所述组内传输后,所述各个节点的CPU向其他组的节点询问所述其他组的节点的节点状态信息。
3.根据权利要求1所述的分散数据库,其特征在于,
所述各个节点的CPU向其他节点询问的所述节点状态信息是节点的死活信息。
4.根据权利要求3所述的分散数据库,其特征在于,
所述各个节点的CPU询问节点的死活信息的结果,被判定为不活动节点的节点从所述组中排除。
5.根据权利要求1所述的分散数据库,其特征在于,
所述各个节点的CPU询问的所述节点状态信息是节点的存储器余量信息或节点的性能信息。
6.一种数据共享方法,是由多个节点构成的点对点型分散数据库的数据共享方法,其特征在于,
执行以下过程:
将多个节点登记到组的第1过程;
为了使各个节点取得其他节点的信息并在所述组中共享,而在所述组内通过所决定的线路传输信息的第2过程;以及
在节点数增加预定数量以上的情况下分割所述组的第3过程,其中
在所述第3过程中,当节点数达到上限值M时,组中的节点被分割为包含节点1至节点M/2的第一组以及包含节点M/2+1-M的第二组,并且节点M/2与节点1连接,节点M与节点M/2+1连接;以及
当节点状态信息被共享在每个组中的所有节点当中时,组中的其中一个节点与另一组中的节点连接。
7.根据权利要求6所述的数据共享方法,其特征在于,
所述第1过程包含以下过程:
(1)将节点登记到所述组的过程,即,在设全部节点数为N而进行登记时,指定用于在组内进行识别的识别编号;
(2)各节点具有保存全部节点的预定信息的列表,并按照节点的组登记时所登记的顺序对列表进行更新,在所述顺序中位于最后的节点从所述顺序的开头取得所述预定信息的列表中的所述预定信息的过程;
(3)将所述更新后的列表发送到全部节点的过程。
8.根据权利要求6所述的数据共享方法,其特征在于,
所述第2过程包含以下过程:
(4)节点N发送取得节点N+1的信息的请求,还将该节点N所具有的列表一起发送的过程;
(5)节点N+1在从节点N取得的列表中追加节点N+1所具有的列表的信息,作为应答而进行回复的过程;
(6)节点N将从节点N+1取得的信息追加到自身列表中的过程;
(7)返回到所述过程(4)进行重复的过程。
9.根据权利要求8所述的数据共享方法,其特征在于,
所述第2过程还包含以下过程:
(8)所述过程(5)的结果,在K次以上未返回应答或者返回了不正常应答的情况下的节点更新为所登记的顺序的下一节点,并进行请求该下一节点的信息的过程。
10.一种用于分散数据库的装置,该分散数据库是由多个节点构成组的点对点型的分散数据库,该用于分散数据库的装置的特征在于,
在节点N中具备计算机,该计算机执行以下过程:
将多个节点登记到组的登记过程;
发送取得节点N+1的信息的请求,还将该节点N所具有的表示节点状态的列表一起发送的发送过程;
从节点N+1接收在从节点N取得的列表中追加了节点N+1所具有的列表的信息的应答;
将从节点N+1取得的信息追加到自身列表中的追加过程;
根据来自节点N-1的请求,在从节点N-1取得的列表中追加该节点N所具有的列表的信息,作为应答而回复给节点N-1的回复过程;
在节点数达到上限值M时,组中的节点被分割为包含节点1至节点M/2的第一组以及包含节点M/2+1-M的第二组的分割过程,其中节点M/2与节点1连接,节点M与节点M/2+1连接,以及
当节点状态信息被共享在每个组中的所有节点当中时,组中的其中一个节点与另一组中的节点连接的连接过程。
CN201510119438.6A 2014-04-24 2015-03-18 分散数据库、数据共享方法、用于分散数据库的装置 Active CN105049463B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014089700A JP6131907B2 (ja) 2014-04-24 2014-04-24 分散データベース、データ共有方法、プログラム、装置
JP2014-089700 2014-04-24

Publications (2)

Publication Number Publication Date
CN105049463A CN105049463A (zh) 2015-11-11
CN105049463B true CN105049463B (zh) 2018-10-16

Family

ID=54335907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510119438.6A Active CN105049463B (zh) 2014-04-24 2015-03-18 分散数据库、数据共享方法、用于分散数据库的装置

Country Status (3)

Country Link
US (1) US9936011B2 (zh)
JP (1) JP6131907B2 (zh)
CN (1) CN105049463B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105872003A (zh) * 2015-12-21 2016-08-17 乐视云计算有限公司 基于p2p网络的数据处理方法、装置及系统
JP6816072B2 (ja) * 2018-08-27 2021-01-20 株式会社日立製作所 分散データベースシステム、分散データベース管理方法、及び分散データベース管理プログラム
US11537383B2 (en) 2020-10-13 2022-12-27 Argo AI, LLC Systems and methods for improved smart infrastructure data transfer
US11163551B1 (en) 2020-10-13 2021-11-02 Argo AI, LLC Systems and methods for improved smart infrastructure data transfer

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7792982B2 (en) * 2003-01-07 2010-09-07 Microsoft Corporation System and method for distributing streaming content through cooperative networking
JP2011221625A (ja) * 2010-04-06 2011-11-04 Mitsubishi Electric Corp 通信装置及び共用情報更新方法及びプログラム
CN101331739B (zh) * 2006-04-21 2012-11-28 张永敏 对等网络内容传输方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0895931A (ja) * 1994-09-26 1996-04-12 Mitsubishi Electric Corp 分散計算機システムの故障検出方法
US7593333B2 (en) * 2004-07-07 2009-09-22 Microsoft Corporation Efficient one-to-many content distribution in a peer-to-peer computer network
US7640299B2 (en) 2004-09-30 2009-12-29 Microsoft Corporation Optimizing communication using scaleable peer groups
US7801912B2 (en) 2005-12-29 2010-09-21 Amazon Technologies, Inc. Method and apparatus for a searchable data service
JP5228369B2 (ja) * 2007-04-27 2013-07-03 日本電気株式会社 通信システム、通信方法、及び通信プログラム
US10084856B2 (en) 2009-12-17 2018-09-25 Wsou Investments, Llc Method and apparatus for locating services within peer-to-peer networks
US8832281B2 (en) 2010-01-08 2014-09-09 Tangome, Inc. Utilizing resources of a peer-to-peer computer environment
JP2013005270A (ja) * 2011-06-17 2013-01-07 Casio Comput Co Ltd データ転送システム、発信元端末、受信端末、およびデータ転送方法
US9900432B2 (en) * 2012-11-08 2018-02-20 Genesys Telecommunications Laboratories, Inc. Scalable approach to agent-group state maintenance in a contact center

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7792982B2 (en) * 2003-01-07 2010-09-07 Microsoft Corporation System and method for distributing streaming content through cooperative networking
CN101331739B (zh) * 2006-04-21 2012-11-28 张永敏 对等网络内容传输方法及装置
JP2011221625A (ja) * 2010-04-06 2011-11-04 Mitsubishi Electric Corp 通信装置及び共用情報更新方法及びプログラム

Also Published As

Publication number Publication date
CN105049463A (zh) 2015-11-11
US20150312334A1 (en) 2015-10-29
JP2015210550A (ja) 2015-11-24
US9936011B2 (en) 2018-04-03
JP6131907B2 (ja) 2017-05-24

Similar Documents

Publication Publication Date Title
US11743699B2 (en) Method of discovering services provided by a network repository function
KR101201072B1 (ko) 자원 요청을 대응하는 자원과 랑데뷰시키는 방법 및 시스템
CN112039942A (zh) 一种订阅发布方法及服务器
CN105049463B (zh) 分散数据库、数据共享方法、用于分散数据库的装置
EP3041198B1 (en) Finding services in a service-oriented architecture (soa) network
EP3206378A1 (en) Smb2 scaleout
CN104980427A (zh) 用于内容中心网络中的简单的服务发现的系统和方法
CN102792264A (zh) 路由针对双工应用的请求
CN110413845B (zh) 基于物联网操作系统的资源存储方法及装置
CN101621548A (zh) 基于对等连接系统的终端资源共享的实现方法及系统
JP2013157748A (ja) サービスバスシステム、サービスバス装置及び接続一意性保証方法
CN108932238A (zh) 一种跨域通信方法及装置
Biswas et al. A novel leader election algorithm based on resources for ring networks
US20110153826A1 (en) Fault tolerant and scalable load distribution of resources
US10904327B2 (en) Method, electronic device and computer program product for searching for node
CN104092751A (zh) 一种业务访问方法和设备
US7962799B2 (en) System and method for synchronizing test runs on separate systems
EP2375692A2 (en) Apparatus and method for registering node and searching for floating internet protocol address using distributed network
US11714692B2 (en) Classical management of qubit requests
CN102986196B (zh) 分布于通信结构上的节点利用具有多准则选择的拓扑服务器访问网络
Rodrigues et al. Zigzag: A middleware for service discovery in future internet
US11343750B2 (en) Method for the identification of a connected object in a network infrastructure
CN115004657B (zh) 寻址方法、寻址系统以及寻址装置
WO2022201445A1 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
US20200213218A1 (en) Dynamic routing method in a network of connected objects

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