CN104462172A - 由分布式系统中的装置执行的方法及在分布式系统中的装置 - Google Patents
由分布式系统中的装置执行的方法及在分布式系统中的装置 Download PDFInfo
- Publication number
- CN104462172A CN104462172A CN201410472628.1A CN201410472628A CN104462172A CN 104462172 A CN104462172 A CN 104462172A CN 201410472628 A CN201410472628 A CN 201410472628A CN 104462172 A CN104462172 A CN 104462172A
- Authority
- CN
- China
- Prior art keywords
- data set
- application data
- application
- system unit
- distributed
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/182—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Selective Calling Equipment (AREA)
Abstract
本发明涉及一种由分布式系统中的装置执行的方法及一种在分布式系统中的装置。一种装置(115)可对应于分布式物理进入控制系统(110)中的物理进入控制器(115)。分布式系统中的所述装置可包含逻辑(210),所述逻辑(210)经配置以:检测来自应用的存取应用数据集的请求,其中所述应用数据集对应于分布式数据集;以及确定所述分布式系统(110)中是否存在所述应用数据集。所述逻辑(210)可进一步经配置以:响应于确定所述分布式系统(110)中不存在所述应用数据集而在所述分布式系统(110)中产生所述应用数据集;以及响应于确定所述分布式系统中存在所述应用数据集而向所述分布式系统(110)中的其它装置(115)发送加入包含与所述应用数据集相关联的装置(115)的数据集群组的请求。
Description
技术领域
本发明一般来说涉及进入控制系统,且更具体来说涉及管理进入控制系统中的应用数据。
背景技术
分布式系统可包含进行通信且协调其行动以实现一组任务的组件。举例来说,分布式系统中的计算机可经由网络通信以便协调而求解一算法。为了成功地协调独立计算机上的同时操作(例如数据及资源管理或处理步骤的同步),可需要实施分布式算法。已开发用以协调分布式系统的组件的各种分布式算法。
发明内容
根据一个方面,一种由分布式系统中的装置执行的方法可包含:由所述装置检测来自应用的存取应用数据集的请求,其中所述应用数据集对应于分布式数据集;由所述装置确定所述分布式系统中是否存在所述应用数据集;响应于确定所述分布式系统中不存在所述应用数据集,由所述装置在所述分布式系统中创建所述应用数据集;以及响应于确定所述分布式系统中存在所述应用数据集,由所述装置且向所述分布式系统中的其它装置发送加入包含与所述应用数据集相关联的装置的数据集群组的请求。
另外,确定所述分布式系统中是否存在所述应用数据集可包含:存取所述分布式系统中的分布式数据集的识别符的列表;以及确定分布式数据集的识别符的所述列表是否包含所述所请求应用数据集的识别符。
另外,所述方法可包含响应于创建所述应用数据集而将来自所述应用的信息添加到所述所创建应用数据集。
另外,所述方法可包含:从所述分布式系统中的另一装置接收所述装置已被添加到所述数据集群组的指示;从所述分布式系统中的所述另一装置接收所述应用数据集;以及将所述所接收应用数据集存储于所述装置上。
另外,所述所接收应用数据集可包含为所述数据集群组的成员的装置的列表,且所述方法可进一步包含:向为所述数据集群组的成员的所述装置发送将应用数据添加到所述应用数据集的提议;响应于发送所述提议而获得将所述应用数据添加到所述应用数据集的共识;响应于获得所述共识而将所述应用数据添加到所述应用数据集。
另外,所述方法可包含:从所述分布式系统中的另一装置接收加入与所述所创建应用数据集相关联的装置的数据集群组的请求;获得将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组的共识;以及响应于获得将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组的所述共识而将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组。
另外,获得将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组的共识可包含:向与所述所创建应用数据集相关联的所述装置发送将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组的提议;以及获得将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组的法定数的投票。
另外,将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组可包含:向所述另一装置发送所述应用数据集;以及结合与所述所创建应用数据集相关联的装置的所述数据集群组调整获得共识所需的法定数目。
另外,所述方法可包含:从所述分布式系统中的所述另一装置接收改变所述所创建应用数据集中的应用数据的请求;获得改变所述所创建应用数据集中的所述应用数据的共识;以及响应于获得改变所述所创建应用数据集中的所述应用数据的所述共识而改变所述所创建应用数据集中的所述应用数据。
另外,所述方法可包含:从所述分布式系统中的所述另一装置接收欲从与所述所创建应用数据集相关联的装置的所述数据集群组移除的请求;获得从与所述所创建应用数据集相关联的装置的所述数据集群组移除所述另一装置的共识;以及响应于获得从与所述所创建应用数据集相关联的装置的所述数据集群组移除所述另一装置的所述共识而从与所述所创建应用数据集相关联的装置的所述数据集群组移除所述另一装置。
另外,所述分布式系统可包含分布式物理进入控制系统,且其中所述装置及所述其它装置对应于物理进入控制单元。
根据另一方面,一种在分布式系统中的装置可包含逻辑,所述逻辑经配置以:检测来自应用的存取应用数据集的请求,其中所述应用数据集对应于分布式数据集;确定所述分布式系统中是否存在所述应用数据集;响应于确定所述分布式系统中不存在所述应用数据集,在所述分布式系统中创建所述应用数据集;以及响应于确定所述分布式系统中存在所述应用数据集,向所述分布式系统中的其它装置发送加入包含与所述应用数据集相关联的装置的数据集群组的请求。
另外,当所述逻辑确定所述分布式系统中存在所述应用数据集时,所述逻辑可进一步经配置以:存取所述分布式系统中的分布式数据集的识别符的列表;以及确定分布式数据集的识别符的所述列表是否包含所述所请求应用数据集的识别符。
另外,所述逻辑可进一步经配置以响应于创建所述应用数据集而将来自所述应用的信息添加到所述所创建应用数据集。
另外,所述逻辑可进一步经配置以:从所述分布式系统中的另一装置接收所述装置已被添加到所述数据集群组的指示;从所述分布式系统中的所述另一装置接收所述应用数据集;以及将所述所接收应用数据集存储于所述装置上。
另外,所述所接收应用数据集可包含为所述数据集群组的成员的装置的列表,且所述逻辑可进一步经配置以:向为所述数据集群组的成员的所述装置发送将应用数据添加到所述应用数据集的提议;响应于发送所述提议而获得将所述应用数据添加到所述应用数据集的共识;以及响应于获得所述共识而将所述应用数据添加到所述应用数据集。
另外,所述逻辑可进一步经配置以:从所述分布式系统中的另一装置接收加入与所述所创建应用数据集相关联的装置的数据集群组的请求;获得将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组的共识;以及响应于获得将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组的所述共识而将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组。
另外,所述逻辑可进一步经配置以:从所述分布式系统中的所述另一装置接收欲从与所述所创建应用数据集相关联的装置的所述数据集群组移除的请求;获得从与所述所创建应用数据集相关联的装置的所述数据集群组移除所述另一装置的共识;以及响应于获得从与所述所创建应用数据集相关联的装置的所述数据集群组移除所述另一装置的所述共识而从与所述所创建应用数据集相关联的装置的所述数据集群组移除所述另一装置。
另外,所述分布式系统可包含分布式物理进入控制系统,且其中所述装置及所述其它装置可对应于物理进入控制单元。
根据又一方面,一种分布式系统可包含多个物理进入控制装置,其中所述多个物理进入控制装置中的特定一者经配置以:检测来自应用的存取应用数据集的请求,其中所述应用数据集对应于分布式数据集;确定所述分布式系统中是否存在所述应用数据集;响应于确定所述分布式系统中不存在所述应用数据集,在所述分布式系统中创建所述应用数据集;以及响应于确定所述分布式系统中存在所述应用数据集,向所述多个物理进入控制装置中的其它者发送加入包含与所述应用数据集相关联的装置的数据集群组的请求。
附图说明
图1是图解说明根据本文中所描述的实施例的示范性环境的框图;
图2是图解说明图1的分布式系统单元的示范性组件的框图;
图3A及3B是图解说明图1的分布式系统单元的示范性功能组件的框图;
图4A是可存储于图3B的系统数据集中的示范性信息的图式;
图4B是可存储于图3B的应用数据集中的示范性信息的图式;
图5是根据本文中所描述的一或多个实施方案用于在分布式控制系统中加入数据集群组或存取应用数据集的流程图;
图6是根据本文中所描述的一或多个实施方案用于在分布式控制系统中将应用数据添加到应用数据集的流程图;
图7是根据本文中所描述的一或多个实施方案用于在分布式控制系统中处理将系统单元添加到与应用数据集相关联的数据集群组的请求的流程图;
图8是图解说明图1的分布式系统单元的示范性物理布局的平面布置图;
图9是图解说明图1的分布式系统的示范性物理布局的平面布置图;且
图10A-10C是根据一或多个实施方案的示范性应用数据集情景的图式。
具体实施方式
以下详细描述参考附图。不同图式中的相同参考编号识别相同或类似元件。
分布式控制系统可包含分布式物理进入控制系统。物理进入控制系统可包含一或多个进入控制单元,其中每一进入控制单元控制对设施的一区域的物理进入。举例来说,进入控制单元可从用户获得凭证且可在所述用户的凭证被验证的情况下将门锁开锁。在其它实施方案中,分布式控制系统可包含分布式建筑物管理系统、分布式监视系统、分布式安全系统及/或另一类型的分布式控制系统。
分布式控制系统可使用分布式算法执行分布式计算操作。举例来说,分布式控制系统可管理分布式数据库。分布式算法可为基于共识的。在执行操作之前,使用共识算法在分布式系统中的节点之间达成共识。举例来说,在一个实施例中,为了更新分布式数据集,所述分布式系统中的节点需要达成共识来执行所述更新。共识对应于节点(例如,全部、法定数等等)同意所提议操作(例如,对分布式数据库的改变)。如果针对所提议操作获得法定数,那么可达成共识。如果所述节点中的大多数投票赞成所提议操作,那么可达到法定数。举例来说,要求大多数节点投票赞成改变确保,如果正在考虑两个冲突的所提议改变,那么至少一个节点接收到所提议改变两者且选择并投票赞成首先接收到的所提议改变。在其它实施方案中,节点可使用不同准则(除首先接收到哪一所提议改变之外)来选择并投票赞成所提议改变中的一者。
分布式数据集可由分布式系统中的节点子集使用。举例来说,应用可使用应用分布式数据集,且所述应用可安装于所述分布式系统中的节点子集上。使用特定应用数据集的节点子集在本文中将称为数据集群组。本文中所描述的实施方案可涉及管理与特定应用相关联的分布式数据集。一种在分布式系统中的装置可检测来自应用的存取对应于与所述应用相关联的分布式数据集的应用数据集,且可确定所述分布式系统中是否存在所述应用数据集。如果不存在所述应用数据集,那么可创建所述应用数据集。如果确实存在所述应用数据集,那么可向所述分布式系统中的其它装置发送加入包含与所述应用数据集相关联的装置的数据集群组的请求。
所述分布式系统中的另一装置可从请求的装置接收欲添加到所述数据集群组的请求,且可产生将所述请求的装置添加到所述数据集群组的提议。所述数据集群组中的其它装置可投票赞成所述提议,且如果达成共识,那么可将所述请求的装置添加到所述数据集群组。所述请求的装置可接着接收与所述数据集群组相关联的所述应用数据集,及/或可提议将应用数据添加到与所述数据集群组相关联的所述应用数据集及/或对与所述数据集群组相关联的所述应用数据集做出其它改变。
图1是可在其中实施下文所描述的系统及/或方法的示范性环境100的框图。如图1中所展示,环境100可包含分布式控制系统110(例如,分布式物理进入控制系统)、网络120及管理装置130。
分布式控制系统(DCS)110可包含分布式计算系统,所述分布式计算系统包含系统单元115-A到115-N(统称为“系统单元115”且个别地称为“系统单元115”)。系统单元115可实施为嵌入式系统。在一些实施方案中,系统单元115可包含物理进入控制装置。举例来说,系统单元115可包含控制对安全区域(例如一房间或一房间群组)的进入的进入控制器。系统单元115可经由读取器装置接收凭证(例如,进入卡凭证)且确定所述凭证是否为真实的且与进入所述安全区域的授权相关联。如果是,那么所述进入控制器可发出打开门上的锁或执行与准予进入所述安全区域相关联的其它操作的命令。在其它实施方案中,系统单元115可包含不同类型的安全装置,例如监视装置、控制机器的操作的装置等等。在其它实施方案中,系统单元115可包含另一类型的嵌入式系统。
DCS 110可包含一或多个分布式数据集。分布式数据集包含与多个装置相关联的数据集。在一个实施例中,所述多个装置彼此通信及协调以对所述数据集做出改变。在一些实施方案中,与分布式数据集相关联的每一装置维持所述分布式数据集,且如果所述装置同意改变,那么由所述装置中的每一者将所述改变应用于分布式数据集。在其它实施方案中,并非与分布式数据集相关联的所有装置均存储实际分布式数据集。
在一些实施例中,达成共识以便对分布式数据集(例如,基于共识的分布式数据库)做出改变。在其它实施例中,可在无共识的情况下对分布式数据集做出改变。分布式数据集可与所有系统单元115相关联或可与系统单元115的子集相关联。系统单元115可提议对基于共识的分布式数据集的改变。如果与分布式数据集相关联的法定数的系统单元115接受了改变,那么可达成共识,且可将改变传播到每一相关联系统单元115中的分布式数据集。因此,如果法定数的相关联系统单元115投票赞成分布式数据集的改变,那么可达成关于所述改变的共识。法定数可对应于相关联系统单元115的最小大多数。因此,如果分布式数据集与N个系统单元115相关联,那么在N/2+1个相关联系统单元115投票赞成改变的情况下(如果N为偶数)或在(N-1)/2+1个相关联系统单元115投票赞成改变的情况下(如果N为奇数),可达到法定数。需要最小大多数达到法定数可确保在考虑两个冲突提议时,至少一个系统单元115接收到两个提议且选择所述提议中的一者以达成共识。在一些实施方案中,系统单元115选择第一所接收提议。在其它实施方案中,可使用另一准则选择提议。
在一些实施方案中,与分布式数据集相关联的所有系统单元115均可存储所述分布式数据集。举例来说,分布式数据集可包含进入规则,且所述进入规则可用于与所述分布式数据集相关联的任何系统单元115。因此,由于一或多个分布式数据集,在一个实施例中,DCS 110可对应于不具有中央控制装置(例如服务器装置)的分散式系统。在其它实施例中,DCS 110可包含分散式系统及中央控制装置(例如服务器装置)两者。在一个实施例中,对分布式数据集的改变可在任何系统单元115处配置且传播到与所述分布式数据集相关联的其它系统单元115。此外,DCS 110可相对于装置故障展现稳健性,因为可避免单个故障点。举例来说,如果特定系统单元115失效,那么其它系统单元115可继续操作而不会丢失数据(或使数据丢失最小化)。此外,可动态地改变DCS 110。举例来说,可在任何时间添加应用且可视需要将新的数据集存储于系统单元115中。在其它实施方案中,并非与分布式数据集相关联的所有系统单元115均存储所述分布式数据集。
DCS 110还可包含非分布式的数据集。作为一实例,第一系统单元115可包含不包含于任何其它系统单元115中的局部数据集。作为另一实例,第一系统单元115可包含以非分布式方式复制到第二系统单元115(例如通过镜射)的局部数据集。作为又一实例,第一系统单元115可包含局部数据集的第一版本且第二系统单元115可包含局部数据集的第二版本,其中第一系统单元115维持局部数据集的第一版本且第二系统单元115维持局部数据集的第二版本。在又一实例中,第一系统单元115可从分布式数据集导出第一局部数据集且第二系统单元115可从分布式数据集导出第二局部数据集,其中所述第一局部数据集不同于所述第二局部数据集。
网络120可使得系统单元115能够彼此通信及/或可使得管理装置130能够与特定系统单元115通信。网络120可包含一或多个电路交换网络及/或包交换网络。举例来说,网络120可包含局域网(LAN)、广域网(WAN)、城域网(MAN)、公共交换电话网络(PSTN)、特设网络、内联网、因特网、基于光纤的网络、无线网络及/或这些或其它类型网络的组合。
管理装置130可使得管理员能够连接到特定系统单元115以便配置DCS 110、改变DCS 110的配置、从DCS 110接收信息及/或以其它方式管理DCS 110。管理装置130可包含经配置以与系统单元115通信的任何装置。举例来说,管理装置130可包含便携式通信装置(例如,移动电话、智能电话、平板电话装置、全球定位系统(GPS)装置及/或另一类型的无线装置);个人计算机或工作站;服务器装置;膝上型计算机;平板计算机或另一类型的便携式计算机;及/或具有通信能力的任何类型的装置。
虽然图1展示环境100的示范性组件,但在其它实施方案中,环境100相比图1中所描绘的组件可包含更少的组件、不同的组件、不同布置的组件或额外组件。另外或替代地,环境100中的任一装置(或任何装置群组)可执行描述为由环境100中的一或多个其它装置执行的功能。举例来说,在一些实施方案中,系统单元115可包含输入及/或输出装置(例如,键盘/小键盘及显示器、触摸屏等等),且可不需要管理装置130。
图2是图解说明系统单元115的示范性组件的框图。如图2中所展示,系统单元115可包含控制器210及一或多个外围装置230。控制器210可控制系统单元115的操作,可与其它系统单元115通信,可与管理装置130通信,及/或可控制外围装置230。控制器210可包含总线212、处理器214、存储器216、网络接口218、外围接口220及外壳222。
总线212可包含准许控制器210的组件之间的通信的路径。处理器214可包含任何类型的单核心处理器、多核心处理器、微处理器、基于锁存器的处理器及/或解译并执行指令的处理逻辑(或处理器、微处理器及/或处理逻辑的族群)。在其它实施例中,处理器214可包含专用集成电路(ASIC)、现场可编程门阵列(FPGA)及/或另一类型的集成电路或处理逻辑。
存储器216可包含可存储供由处理器214执行的信息及/或指令的任何类型的动态存储装置,及/或可存储供由处理器214使用的信息的任何类型的非易失性存储装置。举例来说,存储器216可包含随机存取存储器(RAM)或另一类型的动态存储装置、只读存储器(ROM)装置或另一类型的静态存储装置、内容可寻址存储器(CAM)、磁性及/或光学记录存储器装置及其对应驱动器(例如,硬盘驱动器、光学驱动器等等)及/或可移除形式的存储器,例如快闪存储器。
网络接口218可包含收发器(例如,发射器及/或接收器),所述收发器使得控制器210能够经由有线通信链路(例如,导电线、双绞线电缆、同轴电缆、传输线、光纤电缆及/或波导等等)、无线通信链路(例如,射频(RF)、红外及/或视觉光学器件等等)或无线与有线通信链路的组合与其它装置及/或系统通信(例如,发射及/或接收数据)。网络接口218可包含将基带信号转换为RF信号的发射器及/或将RF信号转换为基带信号的接收器。网络接口218可耦合到用于发射及接收RF信号的天线。
网络接口218可包含逻辑组件,所述逻辑组件包含输入及/或输出端口、输入及/或输出系统及/或促进将数据发射到其它装置的其它输入及输出组件。举例来说,网络接口218可包含用于有线通信的网络接口卡(例如,以太网卡)及/或用于无线通信的无线网络接口(例如,WiFi)卡。网络接口218还可包含用于经由电缆通信的通用串行总线(USB)端口、BluetoothTM无线接口、射频识别(RFID)接口、近场通信(NFC)无线接口及/或将数据从一种形式转换为另一形式的任何其它类型的接口。
外围接口220可经配置以与一或多个外围装置230通信。举例来说,外围接口220可包含一或多个逻辑组件,所述逻辑组件包含输入及/或输出端口、输入及/或输出系统及/或促进将数据发射到外围装置230的其它输入及输出组件。作为一实例,外围接口220可使用串行外围接口总线协议(例如,韦根(Wiegand)协议、RS-485协议及/或另一类型的协议)与外围装置通信。作为另一实例,外围接口220可使用不同类型的协议。在一个实施例中,网络接口218还可充当用于将外围装置230耦合到控制器210的外围接口。
外壳222可包封控制器210的组件且可保护控制器210的组件免受环境影响。在一个实施例中,外壳222可包含外围装置230中的一或多者。在另一实施例中,外壳222可包含管理装置130。外壳222可在具有多个系统单元115及/或多个控制器210的系统中界定一个系统单元115及/或控制器210与其它系统单元115及/或控制器210的边界。
如下文所描述,控制器210可执行与管理分布式系统中的应用数据集及/或数据集群组有关的某些操作。控制器210可由于ASIC的硬连线电路而执行这些操作。控制器210还(或替代地)可响应于处理器214执行计算机可读媒体(例如存储器216)中所含有的软件指令而执行这些操作。计算机可读媒体可包含非暂时性存储器装置。存储器装置可实施于单个物理存储器装置内或跨越多个物理存储器装置散布。可将软件指令从另一计算机可读媒体或从另一装置读取到存储器216中。存储器216中所含有的软件指令可致使处理器214执行本文中所描述的过程。因此,本文中所描述的实施方案并不限于硬件电路及软件的任何特定组合。
外围装置230可包含将信息提供到控制器210、由控制器210控制及/或以其它方式与控制器210通信的一或多个装置。举例来说,外围装置230可包含读取器装置240、锁装置250、传感器260及/或致动器270。尽管出于说明性目的而在图2中展示单个读取器装置240、单个锁装置250、单个传感器260及单个致动器270,但实际上,外围装置230可包含多个读取器装置240、多个锁装置250、多个传感器260及/或多个致动器270。在一些实施方案中,外围装置230可不包含图2中所展示的装置中的一或多者。另外或替代地,外围装置230可包含图2中未展示的任何其它类型的安全装置。
读取器装置240可包含从用户读取凭证并将所述凭证提供到控制器210的装置。举例来说,读取器装置240可包含经配置以从用户接收字母数字个人识别号码(PIN)的小键盘;用以配置在磁条或另一类型的存储装置(例如RFID标签)上存储卡代码的卡的读卡器;经配置以读取用户的指纹的指纹读取器;经配置以读取用户的虹膜的虹膜读取器;麦克风及经配置以记录用户的话音标志的话音标志识别器;近场通信(NFC)读取器;及/或另一类型的读取器装置。读取器装置240可包含可提供凭证的任何类型的安全装置,且可包含一或多个传感器装置,例如下文参考传感器260所描述的任何传感器装置。举例来说,读取器装置240可包含用于面部辨识的摄像机及/或用于话音辨识的麦克风。
锁装置250可包含由控制器210控制的锁。锁装置250可锁住门(例如,防止其打开或关闭)、窗户、HVAC通风孔及/或到安全区域的另一类型的进入开口。举例来说,锁装置250可包含电磁锁;具有由控制器210控制的电动机的机械锁;机电锁;及/或另一类型的锁。此外,锁装置250可进行机器、运输运载工具、电梯及/或电装置的锁住/开锁操作。
传感器260可包含传感器装置。作为实例,传感器260可包含:用以感测门打开还是关闭的门传感器;可见光监视摄像机、红外(IR)光监视摄像机、热标志监视摄像机及/或另一类型的监视装置;报警传感器,例如运动传感器、热传感器、压力传感器及/或另一类型的报警传感器;音频记录装置(例如,麦克风);篡改传感器,例如位于系统单元115内侧的位置传感器;及/或位于与系统单元115相关联的安全区域内的“外出请求”按钮;及/或另一类型的传感器装置。
致动器270可包含致动器装置。作为一实例,致动器270可控制照明装置。作为其它实例,致动器270可包含:防盗报警激活器;用以播放消息或产生报警信号的扬声器;显示装置;用以移动传感器260(例如,控制摄像机或其它监视装置的视域)的电动机;用于打开/关闭门、窗户、HVAC通风孔及/或与安全区域相关联的另一开口的电动机;用以将锁装置250固定于锁住或未锁位置中的电动机;灭火装置;及/或另一类型的致动器装置。
虽然图2展示系统单元115的示范性组件,但在其它实施方案中,系统单元115相比图2中所描绘的组件可包含更少的组件、不同的组件、额外组件或不同布置的组件。另外或替代地,系统单元115的任何组件(或任何组件群组)可执行描述为由系统单元115的一或多个其它组件执行的任务。举例来说,在一些实施方案中,外围接口220可对应于网络接口。作为另一实例,在一些实施方案中,外围装置230可经由网络接口218而非经由外围接口220连接到控制器210。
此外,虽然DCS 110可包含物理进入分布式控制系统,但其它实施方案可控制除物理进入系统之外的系统。另一方面,DCS 110可包含任何类型的物理进入控制系统(例如,在操作环境中),例如用于打开及/或关闭门或控制对建筑物或设施的物理进入的控制系统。DCS 110还可包含用以控制风扇(例如,起动或停止)、用以起始建筑物管理系统中的报警(例如,失败的验证、成功的验证等等)或用以控制工业自动化系统中的机器人臂的系统。
图3A及3B是图解说明系统单元115的示范性功能组件的框图。举例来说,可经由一或多个ASIC的硬连线电路来实施系统单元115的功能组件。另外或替代地,可由执行来自存储器216的指令的处理器214来实施系统单元115的功能组件。图3A图解说明系统单元115的功能层。如图3A中所展示,系统单元115可包含应用程序编程接口(API)层310、应用层320、分布层340及存储层350。
API层310包含经配置以(例如)与管理装置130通信的API。作为一实例,当管理员使用管理员装置130登录到系统单元115中时,API层310可与管理员装置130通信以验证管理员。作为另一实例,API层310可与管理员装置130通信以改变系统单元115的配置。API层310可从管理员装置130接收数据并将所述数据提供到分布层340及/或存储层350。API层310还可与管理员装置130通信以在应用层320中安装应用。API层310可经配置以处置不同管理员类型。举例来说,API层310可包含用以处置Web服务管理员、Linux管理员、开放网络视频接口论坛(ONVIF)管理员的API及/或另一类型的API。
应用层320包含安装于系统单元115上的一或多个应用。图3B展示示范性应用。如图3B中所展示,应用层320可包含进入控制逻辑应用322、门控制应用324、读取器控制应用326、事件处置应用328、时间表处置应用330及/或应用332。
进入控制逻辑应用322可基于所接收凭证且基于所存储进入规则而确定是否准予进入。门控制应用324可控制一或多个门及/或相关联锁装置250。举例来说,门控制应用324可确定门打开还是关闭及/或锁住还是未锁,且可操作一或多个装置以打开或关闭门及/或将门锁住或开锁。读取器控制应用326可控制一或多个读取器装置240且可获得并处理从一或多个读取器装置240接收的凭证。事件处置应用328可维持由系统单元115记录或产生及/或由另一系统单元115记录的事件的日志。事件处置应用328可确保将局部记录或产生的事件分布到DCS 110中的其它系统单元115以便在所有(或至少一些)系统单元115中维持分布式系统事件日志。因此,可从与系统事件日志相关联的任何系统单元115检索所登记事件。时间表处置应用330可管理与系统单元115相关联的一或多个时间表。举例来说,针对特定用户群组的进入规则可基于一天的特定时间而改变。
应用332可对应于安装于使用分布式数据集的系统单元115的应用层320中的特定应用。举例来说,应用332可对应于与特定传感器260相关联的应用,例如摄像机控制应用;与特定致动器270相关联的应用,例如门电动机应用;执行信息处理的应用,例如人员计数应用;API应用,例如为第三方应用提供控制外围装置230的平台的应用;经配置以跨越网络与远程装置通信的应用;及/或另一类型的应用。
应用层320中可包含其它应用(图3B中未展示)。作为一实例,报警应用可产生报告及/或报警并将所述报告及/或报警发送到管理员装置130(及/或发送到另一指定装置)及/或一或多个其它系统单元115。作为另一实例,任务特有控制应用可处理与系统单元115相关联的事件,例如门打开事件、传感器事件、致动器事件及/或其它类型的事件。
分布层340可管理与系统单元115相关联的一或多个分布式数据集。举例来说,分布层340可经由网络120维持与其它系统单元115的安全连接(例如,输送层安全(TLS)连接)。此外,分布层340可使用协议(例如,PAXOS协议)来建立关于特定基于共识的分布式数据集的改变的共识。作为一实例,分布层340可将改变的提议发送到与分布式数据集相关联的其它系统单元115且可从其它系统单元115接收改变的法定数。作为另一实例,分布层340可投票赞成从另一系统单元115接收的提议。作为又一实例,分布层340可接收已在未投票赞成改变的情况下达成对所述改变的共识的指示。当接收到针对改变的共识的指示时,分布层340可将所述改变应用于存储层350中的分布式数据集。分布层340可从应用332接收存取应用数据集的请求,可检查系统数据集以确定是否存在所述应用数据集。如果存在所述应用数据集,那么分布层340可通过将请求发送到DCS 110中的其它系统单元115而请求加入与应用数据集相关联的装置的数据集群组。如果不存在所述应用数据集,那么分布层340可代表应用332而创建所述应用数据集。
存储层350可存储与系统单元115相关联的一或多个数据集。存储于存储层350中的数据集可对应于局部数据集或可对应于分布式数据集。局部数据集可存储与存储所述局部数据集的特定系统单元115相关联(及/或仅与所述特定系统单元相关联)的信息。分布式数据集可存储与同所述分布式数据集相关联的其它系统单元115相关联的信息。
图3B中展示可包含于存储层350中的示范性信息。如图3B中所展示,存储层350可包含配置数据352、凭证数据354、进入规则数据356、系统数据集358及应用数据集360。配置数据352可存储与特定系统单元115相关联的配置数据,例如控制器210的硬件配置、连接到控制器210的外围装置230、安装于应用层320中的应用及/或其它类型的配置信息。凭证数据354可存储与系统单元115相关联的凭证。进入规则356可存储与系统单元115相关联的进入规则。
系统数据集358可对应于与DCS 110中的系统单元115(例如,所有系统单元115)相关联的分布式数据集。因此,系统数据集358可存储于DCS 110中的每一系统单元115中。下文参考图4A来描述可存储于系统数据集358中的示范性信息。
应用数据集360可对应于与特定应用(例如应用332)相关联的分布式数据集。下文参考图4B来描述可存储于应用数据集360中的示范性信息。
虽然图3A及3B展示系统单元115的示范性功能组件,但在其它实施方案中,系统单元115相比图3A及3B中所描绘的功能组件可包含更少的功能组件、不同的功能组件、不同布置的功能组件或额外功能组件。举例来说,尽管出于说明性目的而在图3B中展示单个应用332及单个应用数据集360,但实际上,应用层320可包含多个应用332且存储层350可包含多个应用数据集360。另外,系统单元115的组件中的任一者(或任何组件群组)可执行描述为由系统单元115的一或多个其它功能组件执行的功能。
图4A是可存储于系统数据集358中的示范性信息的图式。如图4A中所展示,系统数据集358可包含系统单元列表410及一或多个分布式数据集识别符(ID)字段420。系统单元列表410可存储包含于DCS 110中的系统单元115的列表。
分布式数据集ID字段420可存储识别存在于DCS 110中的分布式数据集的信息。分布式数据集字段420可包含一或多个分布式数据集条目。每一分布式数据集ID字段420可包含与DCS 110中的特定分布式数据集相关联的一或多个ID。所述一或多个ID可包含数据集群组的名称;与分布式数据集相关联的应用的ID、名称及/或描述;描述数据集的内容的元数据;及/或可用于识别特定分布式数据集的任何其它信息。分布式数据集ID可由分布层340用于在应用332请求对应用数据集的存取时识别特定应用数据集。
虽然图4A展示可存储于系统数据集358中的示范性组件,但在其它实施方案中,系统数据集358相比图4A中所描绘的组件可包含更少的组件、不同的组件、不同布置的组件或额外组件。
图4B是可存储于应用数据集360中的示范性信息的图式。如图4B中所展示,应用数据集360可包含分布式数据集ID字段430、一或多个系统单元字段440-A到440-N、法定数字段450及应用数据字段460。分布式数据集ID 430可识别特定应用数据集360且可对应于存储于系统数据集358的分布式数据集ID字段420中的分布式数据集ID。
系统单元字段440可存储识别与应用数据集360相关联的数据集群组中的系统单元115的信息。法定数字段450可存储识别当投票赞成对应用数据集360的所提议改变时为了达成共识而需要来自数据集群组中的系统单元115的投票的数目的信息。应用数据字段460可存储与应用数据集360相关联的应用数据。
虽然图4B展示可存储于应用数据集360中的示范性组件,但在其它实施方案中,应用数据集360相比图4B中所描绘的功能组件可包含更少的功能组件、不同的功能组件、不同布置的功能组件或额外功能组件。
图5是根据本文中所描述的一或多个实施方案的用于在分布式控制系统中加入数据集群组或存取应用数据集的流程图。在一些实施方案中,图5的过程可由控制器210执行。在其它实施方案中,图5的过程中的一些或全部可由与控制器210分离及/或包含控制器210的另一装置或装置群组执行。
图5的过程可包含加入数据集群组或存取应用数据集(框510)。举例来说,管理员可使用管理装置130登录到特定系统单元115中且可将应用332安装于特定系统单元115上。应用332可经配置以将数据存储到分布式数据集及/或从分布式数据集检索数据。因此,在安装应用332之后,应用332可将存取与应用332相关联的分布式数据集的请求发送到分布层340。可做出关于系统数据集中是否存在应用数据集ID的确定(框515)。如先前所解释,系统数据集358包含存储包含于DCS 110中的分布式数据集的ID的分布式数据集ID字段420。分布层340可存取分布式数据集ID字段420以确定分布式数据集ID字段420中是否列示应用332的ID。
如果确定系统数据集中不存在应用数据集ID(框515-否),那么可创建应用数据集条目并将其分布于系统数据集中(框520)。由于系统数据集358为DCS 110内的分布式数据集,因此为了对系统数据集358做出改变,系统单元115获得对系统数据集358的分布式数据集ID字段420做出改变的共识。系统单元115的控制器210可将所述改变的提议发送到DCS 110中的其它系统单元115,且当从其它系统单元115接收到关于系统数据集358的法定数的投票时,可将应用数据集条目添加到系统数据集358的分布式数据集ID字段420。
可创建应用数据集(框530),且可将应用数据添加到应用数据集(框540)。举例来说,分布层340可在存储层350中创建应用数据集360,可从应用332接收应用数据,且可将所接收应用数据添加到应用数据集360。此外,分布层340可将对与应用数据集360相关联的数据集群组的法定数要求设定为1,因为在系统数据集358的分布式数据集ID字段420中创建了应用数据集条目的特定系统单元115为与应用数据集相关联的第一系统单元115,且任何其它系统单元115均不属于与应用数据集相关联的数据集群组。因此,为了将应用数据添加到应用数据集360,不需要获得来自其它系统单元115的投票。
返回到框515,如果确定系统数据集中确实存在应用数据集ID(框515-是),那么可向DCS 110中的其它系统单元115发送请求添加到与应用数据集相关联的数据集群组的请求(框550)。由于分布式数据集ID字段420可不包含列示哪些系统单元115与特定分布式数据集相关联的信息,因此控制器210可需要将欲添加到数据集群组的请求发送到DCS 110中的其它系统单元115(例如,所有其它系统单元115)。
可从另一系统单元接收已将请求的系统单元添加到分布式数据集的指示(框560)。举例来说,DCS 110中处于与应用数据集相关联的数据集群组中的其它系统单元115中的一或多者可处理所述请求并将请求的系统单元115添加到数据集群组。下文参考图7来描述将系统单元115添加到现有数据集群组的过程。一旦将请求的系统单元115添加到数据集群组,添加请求的系统单元115的特定系统单元115便可向请求的系统单元115发送指示。
响应于接收到欲添加到数据集群组的指示,可从另一系统单元接收应用数据集(框570),且可将所接收应用数据集添加到存储层(框580)。举例来说,分布层340可从另一系统单元115接收应用数据集且可将所接收应用数据集存储于存储层350中。应用数据集可包含与数据集群组相关联的系统单元115的列表及对应用数据集执行操作的法定数要求。
图6是根据本文中所描述的一或多个实施方案用于在分布式控制系统中改变现有应用数据集中的应用数据的流程图。在一些实施方案中,图6的过程可由控制器210执行。在其它实施方案中,图6的过程中的一些或全部可由与控制器210分离及/或包含控制器210的另一装置或装置群组执行。
图6的过程可包含检测改变应用数据集中的应用数据的请求(框610)。作为一实例,应用332可产生应用数据,例如从特定外围装置230接收数据,记录发送到特定外围装置230的指令,记录计算的结果及/或由应用332产生的另一类型应用数据。作为另一实例,应用332可选择修改、更新、删除及/或以其它方式改变应用数据集360中的现有应用数据。应用332可将应用数据改变提供到分布层340。
可识别与应用数据集相关联的数据集群组中的其它系统单元(框620),且可向其它所识别系统单元发送改变应用数据集中的应用数据的提议(框630)。举例来说,分布层340可存取应用数据集360,可确定在系统单元字段440中识别的系统单元115,且可向在系统单元字段440中识别的系统单元115发送应用数据改变的提议。
可获得针对改变应用数据集中的应用数据的共识(框640),且可响应于所获得的共识而在应用数据集中应用所提议改变(框650)。为接受所提议改变,系统单元115可接收法定数的投票。举例来说,如果十(10)个系统单元115与数据集群组相关联,那么为了改变应用数据集360中的应用数据,请求的系统单元115可需要接收来自相关联系统单元115中的六(6)者的投票。一旦接收到六(6)个投票,便已达成针对所提议改变的共识,且可发生所提议改变。分布层340可响应于获得针对所提议改变的共识而在存储层350中执行应用数据集360中的应用数据的添加、改变、更新、删除及/或以其它方式的改变。
图7是根据本文中所描述的一或多个实施方案用于在分布式控制系统中处理将系统单元添加到与应用数据集相关联的数据集群组的请求的流程图。在一些实施方案中,图7的过程可由控制器210执行。在其它实施方案中,图7的过程中的一些或全部可由与控制器210分离及/或包含控制器210的另一装置或装置群组执行。
图7的过程可包含从另一系统单元接收欲添加到与应用数据集相关联的数据集群组的请求(框710)。举例来说,系统单元115的控制器210可从请求的系统单元接收欲添加到与特定应用数据集相关联的数据集群组的请求。系统单元115可接收所述请求,且如果系统单元115与数据集群组相关联,那么可确定所述请求为有关的。举例来说,系统单元115可确定存储层350中是否存在与在请求中识别的应用332相关联的应用数据集360。
可识别数据集群组中的其它系统单元(框720),且可向其它所识别系统单元发送将请求的系统单元添加到数据集群组的提议(框730)。举例来说,分布层340可存取应用数据集360,可确定在系统单元字段440中识别的系统单元115,且可向在应用数据集360的系统单元字段440中识别的系统单元115发送添加请求的系统单元115的提议。
可获得针对将请求的系统单元添加到数据集群组的共识(框740),且可响应于所获得的共识而将请求的系统单元添加到数据集群组(框750)。此外,可调整对数据集群组的法定数要求(框760)。为接受添加请求的系统单元115的所提议改变,系统单元115可接收法定数的投票。举例来说,如果数据集群组中有10个系统单元115,那么为了将请求的系统单元115添加到数据集群组,提议的系统单元115可需要接收来自相关联系统单元115中的六(6)者的投票。一旦接收到六(6)个投票,那么已达成针对所提议添加的共识,且可将请求的系统单元115添加到与应用数据集360相关联的数据集群组。举例来说,分布层340可在应用数据集360中产生用于请求的系统单元115的系统单元字段440。此外,分布层340可调整应用数据集360的法定数字段450的法定数要求。举例来说,如果十(10)个系统单元110与数据集群组相关联且现在十一(11)个系统单元115与数据集群组相关联,那么六(6)个的法定数要求可不改变。然而,如果另一系统单元115被添加到数据集群组而达到总共十二(12)个系统单元,那么法定数要求可从六(6)个改变为七(7)个。
在一些实施方案中,如果特定系统单元115请求欲从与应用数据集相关联的数据集群组移除,那么可执行移除过程。举例来说,可从特定系统单元115卸载应用332。作为卸载过程的部分,应用332可请求从应用数据集360移除特定系统单元115。因此,特定系统单元115可向与应用数据集360相关联的数据集群组中的其它系统单元115发送被移除的提议。如果获得针对所述提议的共识,那么可从数据集群组移除特定系统单元115且可从存储层350删除应用数据集360。
在一些实施方案中,应用332的安装可为自动化的。因此,并非是管理员使用管理装置130将应用332一次一个地安装于每一系统单元115上,而是可在一个系统单元115上安装应用332且可在系统单元115上安装一安装指令集。所述安装指令可包含为应用332的部分或包含为单独的程序、应用及/或脚本文件。所述安装指令可包含用于安装应用332的一或多个准则,且如果特定系统单元115满足一或多个准则,那么可将安装应用332的指令发送到DCS 110中的其它系统单元115。因此,如果特定系统单元115满足所述一或多个准则,那么特定系统单元115可安装应用332。在特定系统单元115安装应用332之后,特定系统单元115可执行图5的过程以被添加到与和应用332相关联的应用数据集360相关联的数据集群组。用于将应用332安装于特定系统单元115上的一或多个准则可包含与特定系统单元115相关联的硬件配置;连接到特定系统单元115的外围装置的特定类型;与特定系统单元115相关联的位置类型;由特定系统单元115登记的事件类型;安装于特定系统单元115上的特定应用;及/或其它类型的准则。
图8是图解说明系统单元115的示范性物理布局500的平面布置图。如图8中所展示,物理布局800可包含墙壁810、门820、控制器210、读取器装置240、锁装置250、传感器260及致动器270。
墙壁810包封安全区域830,例如建筑物中的房间。门820为用户提供到安全区域830的进入。在此实施例中,控制器210安装在安全区域830内侧。在其它实施例中,控制器210可安装在安全区域830外侧。读取器装置240安装在安全区域830外侧且锁装置250在安全区域830内侧安装到墙壁810及门820。在此实例中,传感器260为安装在安全区域830外侧的监视装置。在此实例中,致动器270包含用于控制监视装置的视域的电动机。
当用户将凭证键入到读取器装置240中(例如,通过键入PIN、扫描进入卡、扫描虹膜等等)时,控制器210可使用所述凭证来验证用户的身份且可在进入规则表中执行查找以基于用户的身份及进入规则而确定是否准予用户的进入。如果控制器210确定应准予进入,那么控制器210激活锁装置250以将门820开锁,因此准予用户进入安全区域840。
虽然图8展示物理布局800的示范性组件,但在其它实施方案中,物理布局800相比图8中所描绘的组件可包含更少的组件、不同的组件、额外组件或不同布置的组件。另外或替代地,物理布局800中的任一组件(或组件群组)可执行描述为由物理布局800一或多个其它组件执行的任务。
图9是图解说明DCS 110的示范性物理布局900的平面布置图。如图9中所展示,物理布局900可包含具有房间920-A到920-F的建筑物910。局部网络930(例如以太网络)可互连系统单元115-A到115-F。在此实例中,系统单元115-A控制进入到房间920-A中的两个门;系统单元115-B控制进入到房间920-B中的外侧门;系统单元115-C控制从房间920-B到房间920-C的一个门,系统单元115-D控制从房间920-C到房间920-D的一个门;系统单元115-E控制从房间920-D到房间920-E的一个门;且系统单元115-F控制进入到房间920-F中的外侧门。
在此实例中,系统单元115-A到115-F不包含中央控制装置(例如,服务器)且可包含一或多个分布式数据集。举例来说,系统单元115-A到115-F可维持分布式凭证表、分布式进入规则表及/或分布式事件日志。假定管理员使用管理装置130登录到系统单元115-A中以添加用户并添加与用户相关联的凭证。可将那些所添加的凭证分布到控制到所述用户可以进入的房间的门的其它系统单元115。举例来说,如果系统单元115-B失效,那么由系统单元115-B收集的数据可由于包含于其它系统单元中的分布式事件日志而继续为可用的。
虽然图9展示物理布局900的示范性组件,但在其它实施方案中,物理布局900相比图9中所描绘的组件可包含更少的组件、不同的组件、额外组件或不同布置的组件。举例来说,在另一实施例中,中央控制装置(例如,服务器)可结合一或多个分布式数据集一起使用。另外或替代地,物理布局900的一或多个组件可执行描述为由物理布局900的一或多个其它组件执行的一或多个任务。
图10A-10C是根据一或多个实施方案的示范性应用数据集情景的图式。举例来说,假定图9的房间920-C期望人员计数应用。为了计数房间920-C中的人数,需要计数通过到房间920-C中或从其中出来的任何门进入或离开的人。因此,需要将人员计数应用安装于系统单元115-A、115-C及115-D的控制器210中。
图10A图解说明在计数应用1010-A安装于系统单元115-A中之后的信号流情景1000。在计数应用1010-A安装于系统单元115-A中之后,计数应用1010-A可经由分布层340请求存取与计数应用1010-A相关联的分布式应用数据集(信号1012)。分布层340-A可确定系统数据集358中不存在计数应用1010的应用数据集条目。因此,分布层340-A可分布将计数应用数据集的条目添加于系统数据集358中的提议(信号1014)。在获得针对所提议改变的共识之后,分布层340-A可在系统数据集358中创建新条目(信号1016)以创建计数应用数据集ID条目1017。将已经由在达成共识之后现在已接受的提议将对系统数据集358的更新分布到其它系统单元115-B到115-F(信号1014)。分布层340-A可继续进行以在存储层350中创建计数应用数据集1020-A(信号1018)。计数应用1010-A现在可经由分布层340-A使用计数应用数据集1020-A。
图10B图解说明在计数应用1010-C安装于系统单元115-C中之后的信号流情景1030。在计数应用1010-C安装于系统单元115-C中之后,计数应用1010-C可经由分布层340-C请求存取与计数应用1010-C相关联的分布式应用数据集(信号1031)。分布层340-C可确定系统数据集358中存在应用数据集条目1017。作为响应,系统单元115-C可将被添加到与计数应用数据集1020相关联的数据集群组的请求发送到系统单元115-A(信号1032-A)、系统单元115-B(信号1032-B)、系统单元115-D(信号1032-D)、系统单元115-E(信号1032-E)及系统单元115-F(信号1032-F)。由于仅系统单元115-A处于与计数应用数据集1020相关联的数据集群组中,因此仅系统单元115-A将对所述请求做出响应。
由于系统单元115-A为与计数应用数据集1020相关联的数据集群组中的仅有系统单元,因此对计数应用数据集1020的任何所提议改变自动地接收共识。因此,系统单元115-A具有接受所述请求的共识且将系统单元115-C添加到与计数应用数据集1020相关联的数据集群组。系统单元115-A可将系统单元115-C添加到与计数应用数据集1020-A相关联的数据集群组(信号1034),且可将系统单元115-C已被添加到计数数据集群组1020的指示发送到系统单元115-C(信号1036)。作为响应,系统单元115-C可接收计数应用数据集1020(信号1038),且系统单元115-C可将所接收计数应用数据集1020存储于存储层350中。
在稍后时间,计数应用1010-C可产生应用数据。举例来说,一人可能已通过与系统单元115-C相关联的门离开房间920-C,且与系统单元115-C相关联的传感器装置可检测到离开的人。计数应用1010-C可经由分布层340-C提议将所产生应用数据添加于应用数据集1020-C中(信号1040)。由于与计数应用数据集1020相关联的数据集群组中的仅有其它系统单元为系统单元115-A,那么将添加数据的提议发送到系统单元115-A(信号1042)。系统单元115-A可投票赞成所述改变,且系统单元115-C可因此通过达到所需法定数2(通过已自动地投票赞成其自身的所提议改变)而获得共识。结果,可因此在系统单元115-A及系统单元115-C两者中应用所提议改变(信号1044)。
图10C图解说明在计数应用1010-D安装于系统单元115-D中之后的信号流情景1050。在计数应用1010-D安装于系统单元115-D中之后,计数应用1010-D可经由分布层340-D请求存取与计数应用1010-D相关联的分布式应用数据集(信号1051)。分布层340-D可确定系统数据集358中存在计数应用数据集ID条目1017。作为响应,系统单元115-D可将被添加到与计数应用数据集1020相关联的数据集群组的请求发送到系统单元115-A(信号1052-A)、系统单元115-B(信号1052-B)、系统单元115-C(信号1052-C)、系统单元115-E(信号1052-E)及系统单元115-F(信号1052-F)。由于仅系统单元115-A及115-C与计数应用数据集1020相关联,因此仅系统单元115-A及115-C将对所述请求做出响应。
由于系统单元115-A及系统单元115-C两者已接收所述请求,因此系统单元115-A及115-C两者将提议将系统单元115-D添加到与计数应用数据集1020相关联的数据集群组。假定系统单元115-A在系统单元115-C之前接收并按所接收请求行动。系统单元115-A将向系统单元115-C(信号1054)及自身发送添加系统单元115-D的提议。系统单元115-C将向系统单元115-A及自身发送添加系统单元115-D的提议(图10C中未展示)。由于首先接收到由系统单元115-A发送的提议,因此来自系统单元115-C的后续提议被拒绝。因此,系统单元115-C将投票赞成来自系统单元115-A的提议且将拒绝其自身的提议(信号1056),且系统单元115-A将投票赞成其自身的提议且拒绝来自系统单元115-C的提议(图10C中未展示)。因此,系统单元115-A将达成针对其提议的共识且系统单元115-D将被添加到与计数应用数据集1020相关联的数据集群组(信号1058),且将由于所接受的提议而分布所述改变。
系统单元115-A可将系统单元115-D已被添加到与计数应用数据集1020相关联的数据集群组的指示发送到系统单元115-D(信号1060)且将向系统单元115-D提供计数应用数据集1020(信号1062)。分布层340-D可将所接收计数应用数据集1020存储于存储层350中(信号1064)。在此情况中,不需要改变对与计数应用数据集1020相关联的数据集群组的法定数要求。
在前述说明书中,已参考附图描述了各种优选实施例。然而,将显而易见,可对本发明做出各种修改及改变且可实施额外实施例,此并不背离如所附权利要求书中所陈述的本发明的较宽广范围。因此,应将本说明书及图式视为具有说明性意义而非限制性意义。
举例来说,尽管已关于图5-7描述了若干系列的框,但在其它实施方案中可修改框的次序。此外,可并行地执行非相依框。
将明了,在图中所图解说明的实施方案中,可以许多不同形式的软件、固件及硬件来实施如上文所描述的系统及/或方法。用于实施这些系统及方法的实际软件代码或专门化控制硬件并不限于所述实施例。因此,在不参考特定软件代码的情况下来描述所述系统及方法的操作及行为--应理解,软件及控制硬件可经设计以基于本文中的描述而实施所述系统及方法。
此外,可将上文所描述的某些部分描述为执行一或多个功能的组件。如本文中所使用,组件可包含硬件(例如处理器、ASIC或FPGA)或硬件与软件的组合(例如,执行软件的处理器)。
术语“包括(comprises及/或comprising)”规定所陈述特征、整数、步骤或组件的存在,但并不排除一或多个其它特征、整数、步骤、组件或其群组的存在或添加。
本申请案中所使用的元件、动作及指令不应理解为对所述实施例至关重要或必不可少,除非明确如此描述。而且,如本文中所使用,冠词“一”打算包含一或多个项目。此外,短语“基于”打算意指“至少部分地基于”,除非另有明确陈述。
Claims (15)
1.一种由分布式系统中的装置执行的方法,所述方法包括:
由所述装置检测来自应用的存取应用数据集的请求,其中所述应用数据集对应于分布式数据集;
由所述装置确定所述分布式系统的分布式系统数据集中是否列示所述应用数据集的识别符;
响应于确定所述分布式系统数据集中未列示所述应用数据集的所述识别符,由所述装置在所述分布式系统数据集中创建所述应用数据集的所述识别符的条目;以及
响应于确定所述分布式系统数据集中存在所述应用数据集的所述识别符,由所述装置且向所述分布式系统中的其它装置发送加入包含与所述应用数据集相关联的装置的数据集群组的请求。
2.根据权利要求1所述的方法,其中确定分布式系统的所述分布式系统数据集中是否列示所述应用数据集的所述识别符包含:
存取所述分布式系统数据集中的分布式数据集的识别符的列表;以及
确定分布式数据集的识别符的所述列表是否包含所述所请求应用数据集的所述识别符。
3.根据权利要求1或2所述的方法,其进一步包括:
响应于在所述分布式系统数据集中创建所述应用数据集的所述识别符的所述条目而在所述装置的存储层中创建所述应用数据集;以及
响应于创建所述应用数据集而将来自所述应用的信息添加到所述所创建应用数据集。
4.根据权利要求1或2所述的方法,其进一步包括:
从所述分布式系统中的另一装置接收所述装置已被添加到所述数据集群组的指示;
从所述分布式系统中的所述另一装置接收所述应用数据集;以及
将所述所接收应用数据集存储于所述装置上。
5.根据权利要求4所述的方法,其中所述所接收应用数据集包含为所述数据集群组的成员的装置的列表,所述方法进一步包括:
向为所述数据集群组的成员的所述装置发送将应用数据添加到所述应用数据集的提议;
响应于发送所述提议而获得将所述应用数据添加到所述应用数据集的共识;
响应于获得所述共识而将所述应用数据添加到所述应用数据集。
6.根据权利要求1或2所述的方法,其进一步包括:
从所述分布式系统中的另一装置接收加入与所述所创建应用数据集相关联的装置的数据集群组的请求;
获得将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组的共识;以及
响应于获得将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组的所述共识而将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组。
7.根据权利要求6所述的方法,其中获得将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组的共识包含:
向与所述所创建应用数据集相关联的所述装置发送将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组的提议;以及
获得将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组的法定数的投票。
8.根据权利要求6所述的方法,其中将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组包含:
向所述另一装置发送所述应用数据集;以及
结合与所述所创建应用数据集相关联的装置的所述数据集群组调整获得共识所需的法定数目。
9.根据权利要求1或2所述的方法,其中所述分布式系统包含分布式物理进入控制系统,且其中所述装置及所述其它装置对应于物理进入控制单元。
10.一种在分布式系统(110)中的装置(115),所述装置包括:
逻辑(210),其经配置以:
检测来自应用的存取应用数据集的请求,其中所述应用数据集对应于分布式数据集;
确定所述分布式系统(110)的分布式系统数据集中是否列示所述应用数据集的识别符;
响应于确定所述分布式系统数据集中未列示所述应用数据集而在所述分布式系统数据集中创建所述应用数据集的所述识别符的条目;以及
响应于确定所述分布式系统数据集中存在所述应用数据集的所述识别符而向所述分布式系统(110)中的其它装置(115)发送加入包含与所述应用数据集相关联的装置(115)的数据集群组的请求。
11.根据权利要求10所述的装置,其中所述逻辑进一步经配置以:
响应于在所述分布式系统数据集中创建所述应用数据集的所述识别符的所述条目而在所述装置的存储层中创建所述应用数据集;以及
响应于创建所述应用数据集而将来自所述应用的信息添加到所述所创建应用数据集。
12.根据权利要求10或11所述的装置,其中所述逻辑进一步经配置以:
从所述分布式系统中的另一装置接收所述装置已被添加到所述数据集群组的指示;
从所述分布式系统中的所述另一装置接收所述应用数据集;以及
将所述所接收应用数据集存储于所述装置上。
13.根据权利要求12所述的装置,其中所述所接收应用数据集包含为所述数据集群组的成员的装置的列表,且其中所述逻辑进一步经配置以:
向为所述数据集群组的成员的所述装置发送将应用数据添加到所述应用数据集的提议;
响应于发送所述提议而获得将所述应用数据添加到所述应用数据集的共识;以及
响应于获得所述共识而将所述应用数据添加到所述应用数据集。
14.根据权利要求10或11所述的装置,其中所述逻辑进一步经配置以:
从所述分布式系统中的另一装置接收加入与所述所创建应用数据集相关联的装置的数据集群组的请求;
获得将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组的共识;以及
响应于获得将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组的所述共识而将所述另一装置添加到与所述所创建应用数据集相关联的装置的所述数据集群组。
15.根据权利要求10或11所述的装置,其中所述分布式系统包含分布式物理进入控制系统,且其中所述装置及所述其它装置对应于物理进入控制单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/028,230 | 2013-09-16 | ||
US14/028,230 US9619668B2 (en) | 2013-09-16 | 2013-09-16 | Managing application data in distributed control systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104462172A true CN104462172A (zh) | 2015-03-25 |
CN104462172B CN104462172B (zh) | 2019-05-17 |
Family
ID=49263128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410472628.1A Active CN104462172B (zh) | 2013-09-16 | 2014-09-16 | 由分布式系统中的装置执行的方法及在分布式系统中的装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9619668B2 (zh) |
EP (1) | EP2849063B1 (zh) |
JP (1) | JP6400990B2 (zh) |
KR (1) | KR101908988B1 (zh) |
CN (1) | CN104462172B (zh) |
TW (1) | TWI623839B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108369498A (zh) * | 2015-12-23 | 2018-08-03 | Git软件中心公司 | 具有有限同步锁定的分布式代码存储库 |
CN110088841A (zh) * | 2017-05-02 | 2019-08-02 | 永续医疗株式会社 | 安全系统和该安全系统中使用的节点装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017032422A1 (en) * | 2015-08-27 | 2017-03-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for scaling of big data analytics |
CN107395665B (zh) | 2017-05-22 | 2020-04-24 | 创新先进技术有限公司 | 一种区块链业务受理及业务共识方法及装置 |
TWI784393B (zh) * | 2021-01-15 | 2022-11-21 | 台達電子工業股份有限公司 | 工業設備監控方法及工業設備監控系統 |
CN114765558B (zh) | 2021-01-15 | 2024-04-09 | 台达电子工业股份有限公司 | 工业设备监控方法及工业设备监控系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014669A (en) * | 1997-10-01 | 2000-01-11 | Sun Microsystems, Inc. | Highly-available distributed cluster configuration database |
US20020077996A1 (en) * | 1998-08-18 | 2002-06-20 | Michael Regelski | Access control system having automatic download and distribution of security information |
US20030014465A1 (en) * | 2001-07-16 | 2003-01-16 | Antonio Mugica | True distributed control |
CN1508728A (zh) * | 2002-12-18 | 2004-06-30 | �Ҵ���˾ | 使用元数据在关系数据库中创建多维数据集的方法和系统 |
US20050283644A1 (en) * | 2004-06-18 | 2005-12-22 | Microsoft Corporation | Efficient changing of replica sets in distributed fault-tolerant computing system |
US20090080443A1 (en) * | 2007-09-21 | 2009-03-26 | Honeywell International, Inc. | System and method for remotely administering and synchronizing a clustered group of access control panels |
JP2010122773A (ja) * | 2008-11-18 | 2010-06-03 | Hitachi Ltd | 分散処理システム、処理割当方法、および情報処理装置 |
CN102999561A (zh) * | 2011-10-28 | 2013-03-27 | 微软公司 | 数据集和数据服务的上下文趋向 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999712A (en) * | 1997-10-21 | 1999-12-07 | Sun Microsystems, Inc. | Determining cluster membership in a distributed computer system |
US7188145B2 (en) * | 2001-01-12 | 2007-03-06 | Epicrealm Licensing Llc | Method and system for dynamic distributed data caching |
US7210060B2 (en) * | 2004-12-30 | 2007-04-24 | Emc Corporation | Systems and methods for restoring data |
JP4808173B2 (ja) * | 2007-03-23 | 2011-11-02 | 株式会社日立製作所 | 分散システム、データ管理サーバ及びデータ流通方法 |
US8122497B2 (en) * | 2007-09-10 | 2012-02-21 | Redcloud, Inc. | Networked physical security access control system and method |
EP2408984B1 (en) | 2009-03-19 | 2019-11-27 | Honeywell International Inc. | Systems and methods for managing access control devices |
US20110153737A1 (en) | 2009-12-17 | 2011-06-23 | Chu Thomas P | Method and apparatus for decomposing a peer-to-peer network and using a decomposed peer-to-peer network |
WO2012042607A1 (ja) * | 2010-09-29 | 2012-04-05 | 株式会社トライテック | 分散コンピューティングシステム |
-
2013
- 2013-09-16 US US14/028,230 patent/US9619668B2/en active Active
- 2013-09-23 EP EP13185582.7A patent/EP2849063B1/en active Active
-
2014
- 2014-09-03 JP JP2014179412A patent/JP6400990B2/ja active Active
- 2014-09-15 KR KR1020140121847A patent/KR101908988B1/ko active IP Right Grant
- 2014-09-16 TW TW103132027A patent/TWI623839B/zh active
- 2014-09-16 CN CN201410472628.1A patent/CN104462172B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014669A (en) * | 1997-10-01 | 2000-01-11 | Sun Microsystems, Inc. | Highly-available distributed cluster configuration database |
US20020077996A1 (en) * | 1998-08-18 | 2002-06-20 | Michael Regelski | Access control system having automatic download and distribution of security information |
US20030014465A1 (en) * | 2001-07-16 | 2003-01-16 | Antonio Mugica | True distributed control |
CN1508728A (zh) * | 2002-12-18 | 2004-06-30 | �Ҵ���˾ | 使用元数据在关系数据库中创建多维数据集的方法和系统 |
US20050283644A1 (en) * | 2004-06-18 | 2005-12-22 | Microsoft Corporation | Efficient changing of replica sets in distributed fault-tolerant computing system |
US20090080443A1 (en) * | 2007-09-21 | 2009-03-26 | Honeywell International, Inc. | System and method for remotely administering and synchronizing a clustered group of access control panels |
JP2010122773A (ja) * | 2008-11-18 | 2010-06-03 | Hitachi Ltd | 分散処理システム、処理割当方法、および情報処理装置 |
CN102999561A (zh) * | 2011-10-28 | 2013-03-27 | 微软公司 | 数据集和数据服务的上下文趋向 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108369498A (zh) * | 2015-12-23 | 2018-08-03 | Git软件中心公司 | 具有有限同步锁定的分布式代码存储库 |
CN110088841A (zh) * | 2017-05-02 | 2019-08-02 | 永续医疗株式会社 | 安全系统和该安全系统中使用的节点装置 |
Also Published As
Publication number | Publication date |
---|---|
US9619668B2 (en) | 2017-04-11 |
KR20150032190A (ko) | 2015-03-25 |
EP2849063A1 (en) | 2015-03-18 |
JP2015057696A (ja) | 2015-03-26 |
TWI623839B (zh) | 2018-05-11 |
KR101908988B1 (ko) | 2018-10-17 |
EP2849063B1 (en) | 2020-08-12 |
US20150081737A1 (en) | 2015-03-19 |
TW201527999A (zh) | 2015-07-16 |
CN104462172B (zh) | 2019-05-17 |
JP6400990B2 (ja) | 2018-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6937764B2 (ja) | 物理空間へのアクセスを制御するためのシステムおよび方法 | |
EP2849066B1 (en) | Anonymous decisions in an access control system | |
CN109074693B (zh) | 用于访问控制系统的虚拟面板 | |
KR101940086B1 (ko) | 분산 이벤트를 처리하는 시스템, 디바이스 및 방법 | |
CN104468113A (zh) | 用户凭证的分布 | |
CN104462172A (zh) | 由分布式系统中的装置执行的方法及在分布式系统中的装置 | |
TWI598852B (zh) | 由分散系統中的裝置執行的方法及分散系統的裝置 | |
KR101757345B1 (ko) | 분산형 데이터베이스를 조인하는 디바이스 및 방법 |
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 |