CN105049463A - 分散数据库、数据共享方法、用于分散数据库的装置 - Google Patents
分散数据库、数据共享方法、用于分散数据库的装置 Download PDFInfo
- Publication number
- CN105049463A CN105049463A CN201510119438.6A CN201510119438A CN105049463A CN 105049463 A CN105049463 A CN 105049463A CN 201510119438 A CN201510119438 A CN 201510119438A CN 105049463 A CN105049463 A CN 105049463A
- Authority
- CN
- China
- Prior art keywords
- node
- information
- group
- list
- 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
Links
Classifications
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1059—Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
-
- 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/104—Peer-to-peer [P2P] networks
-
- 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/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/40—Aspects of automatic or semi-automatic exchanges related to call centers
- H04M2203/402—Agent or workforce management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/55—Aspects of automatic or semi-automatic exchanges related to network data storage and management
- H04M2203/558—Databases
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
技术领域
本发明涉及分散数据库的技术。详细地,涉及由构成多个节点的多个数据库服务器而构成的、点对点(peertopeer)型分散数据库的技术。
背景技术
作为本发明的背景技术,存在利用点对点计算机环境的分散数据库的技术。典型的点对点计算机环境,已知是分别具有各种连接能力的节点,能够由点对点系统构成。例如,参照日本特表2013-516900号公报。
所述特表2013-516900号公报中记载的代表性分散数据库,为了共享数据,而与点对点计算机环境相连接。
用户计算机通过成为点对点计算机环境的节点,参加到点对点计算机环境中。用户计算机为了经由互联网访问其他服务器,在网页浏览器应用程序中输入互联网协议(IP:InternetProtocol)地址。
网页浏览器应用程序从用户接收域名,最初与域名系统(DNS:DomainNameSystem)服务器接触,并利用二值标识符重定向到实际的IP地址。网页浏览器应用程序被用于访问由服务器群(serverfarm)托管(host)的网页,代替服务器农场而参加到托管网页和其他服务的点对点计算机环境中。
另一方面,在由被称为多个节点的构成分散数据库的一个一个的数据库服务器构成的点对点型分散数据库中,各个节点需要分别掌握全部其他节点的死活状态。对动作中的节点分散数据并保存,将停止中的节点从分散对象中排除。因此,各个节点需要掌握全部节点的死活状态等信息。
作为节点间的信息共享的方法,有使用流言协议(gossipprotocol)的方法。例如参见日本专利第5118059号。
此外,有的公开了以下技术,在点对点型网络系统中,组内的多个点(节点)向其他点询问,将登记的点的成员列表(membershiplist)进行存储,使信息共通。例如,参照日本特开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、44CPU
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(NotonlySQL)使用多个服务器(节点)来生成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 (11)
1.一种分散数据库,是由多个节点构成组的点对点型分散数据库,
其特征在于,
存在于所述组内的各个节点包含CPU和状态列表存储器,
所述节点状态列表存储器存储有:1个节点的CPU向其他节点询问表示节点状态的节点状态信息而取得的节点状态信息,
各个节点的CPU在所述组内通过预先确定的线路传输所述节点状态信息,
各个节点的CPU在存在于所述组内的节点数增加预定以上的情况下,分割所述组,分别构成包含多个节点的多个组。
2.根据权利要求1所述的分散数据库,其特征在于,
在所述节点状态信息在所述组内传输后,所述各个节点的CPU向其他组的节点询问所述节点状态信息。
3.根据权利要求1所述的分散数据库,其特征在于,
所述各个节点的CPU向其他节点询问的所述节点状态信息是节点的死活信息。
4.根据权利要求3所述的分散数据库,其特征在于,
所述各个节点的CPU询问节点的死活信息的结果,被判定为不活动节点的节点从所述组中排除。
5.根据权利要求1所述的分散数据库,其特征在于,
所述各个节点的CPU询问的所述节点状态信息是节点的存储器余量信息或节点的性能信息。
6.一种数据共享方法,是由多个节点构成的点对点型分散数据库的数据共享方法,其特征在于,
执行以下过程:
将多个节点登记到组的第1过程;
为了使各个节点取得其他节点的信息并在所述组中共享,而在所述组内通过所决定的线路传输信息的第2过程;以及
在节点数增加预定以上的情况下分割所述组的第3过程。
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)节点[N]根据来自节点[N-1]的请求,执行所述过程(5)并回复应答的过程;
(8)返回到所述过程(4)进行重复的过程。
9.根据权利要求6所述的数据共享方法,其特征在于,
所述第3过程包含以下过程:
(9)不断追加节点,在节点数N达到节点数的上限值M时,将节点[1]到节点[M/2]分割为第1组,将节点[M/2+1]到节点[M]分割为第2组的过程;
(10)节点[M/2]与节点[1]连接,节点[M]与节点[M/2+1]连接的过程;
(11)在各组的节点能够共享信息之后,将连接目的地变更为其他组的节点的过程。
10.根据权利要求8所述的数据共享方法,其特征在于,
所述第2过程还包含以下过程:
(12)所述过程(7)的结果,在K次以上未返回应答或者返回了不正常应答的情况下的节点[x]变更为下一顺序的节点,并进行请求的过程。
11.一种用于分散数据库的装置,该分散数据库是由多个节点构成组的点对点型的分散数据库,该用于分散数据库的装置的特征在于,
在节点[N]中具备计算机,该计算机执行以下过程:
将多个节点登记到组的登记过程;
发送取得节点[N+1]的信息的请求,还将该节点[N]所具有的表示节点状态的列表一起发送的发送过程;
从节点[N+1]接收在从节点[N]取得的列表中追加了节点[N+1]所具有的列表的信息的应答;
将从节点[N+1]取得的信息追加到自身列表中的追加过程;
根据来自节点[N-1]的请求,在从节点[N-1]取得的列表中追加该节点[N]所具有的列表的信息,作为应答而回复给节点[N-1]的回复过程;
在节点数增加预定以上的情况下分割所述组的分割过程。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014-089700 | 2014-04-24 | ||
JP2014089700A JP6131907B2 (ja) | 2014-04-24 | 2014-04-24 | 分散データベース、データ共有方法、プログラム、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105049463A true CN105049463A (zh) | 2015-11-11 |
CN105049463B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017107462A1 (zh) * | 2015-12-21 | 2017-06-29 | 乐视控股(北京)有限公司 | 基于p2p网络的数据处理方法、装置及系统 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060007947A1 (en) * | 2004-07-07 | 2006-01-12 | Jin Li | Efficient one-to-many content distribution in a peer-to-peer computer network |
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 (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0895931A (ja) * | 1994-09-26 | 1996-04-12 | Mitsubishi Electric Corp | 分散計算機システムの故障検出方法 |
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 |
-
2014
- 2014-04-24 JP JP2014089700A patent/JP6131907B2/ja active Active
-
2015
- 2015-02-27 US US14/633,233 patent/US9936011B2/en active Active
- 2015-03-18 CN CN201510119438.6A patent/CN105049463B/zh active Active
Patent Citations (4)
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 |
US20060007947A1 (en) * | 2004-07-07 | 2006-01-12 | Jin Li | Efficient one-to-many content distribution in a peer-to-peer computer network |
CN101331739B (zh) * | 2006-04-21 | 2012-11-28 | 张永敏 | 对等网络内容传输方法及装置 |
JP2011221625A (ja) * | 2010-04-06 | 2011-11-04 | Mitsubishi Electric Corp | 通信装置及び共用情報更新方法及びプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017107462A1 (zh) * | 2015-12-21 | 2017-06-29 | 乐视控股(北京)有限公司 | 基于p2p网络的数据处理方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
JP6131907B2 (ja) | 2017-05-24 |
US20150312334A1 (en) | 2015-10-29 |
CN105049463B (zh) | 2018-10-16 |
JP2015210550A (ja) | 2015-11-24 |
US9936011B2 (en) | 2018-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3040565C (en) | Latency-based routing and load balancing in a network | |
CN109067930B (zh) | 域名接入方法、域名解析方法、服务器、终端及存储介质 | |
CN110311983B (zh) | 服务请求的处理方法、装置、系统、电子设备及存储介质 | |
JP5741150B2 (ja) | 中継装置、中継プログラム、及び中継方法 | |
US20150365482A1 (en) | Smb2 scaleout | |
EP3041198B1 (en) | Finding services in a service-oriented architecture (soa) network | |
US20140059315A1 (en) | Computer system, data management method and data management program | |
CN101621548A (zh) | 基于对等连接系统的终端资源共享的实现方法及系统 | |
CN105049463A (zh) | 分散数据库、数据共享方法、用于分散数据库的装置 | |
CN109104368B (zh) | 一种请求连接方法、装置、服务器及计算机可读存储介质 | |
Biswas et al. | A novel leader election algorithm based on resources for ring networks | |
US20170070593A1 (en) | Systems and methods for remote network topology discovery | |
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 | |
US8145698B1 (en) | Self organizing peer-to-peer system, method, and/or apparatus | |
EP2375692A2 (en) | Apparatus and method for registering node and searching for floating internet protocol address using distributed network | |
CN109842554A (zh) | 设备服务的路由方法、装置、设备及存储介质 | |
CN110913020B (zh) | 工作组的数据传输方法及装置 | |
US20190387075A1 (en) | Methods for exposing mainframe data as a web service and devices thereof | |
CN109451090A (zh) | 一种域名解析方法及装置 | |
US9473881B2 (en) | Mobile terminals locating | |
CN113132233B (zh) | 数据处理方法、软件定义网络控制器和数据处理系统 | |
US20240146634A1 (en) | Self-election processes in managed subnets implementing modified swim protocols | |
US8799926B1 (en) | Active node detection in a failover computing environment |
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 |