在通信中断期间访问数据的客户端装置

申请号 CN201580024173.X 申请日 2015-03-10 公开(公告)号 CN106464678A 公开(公告)日 2017-02-22
申请人 三坦国际软件公司; 发明人 A·L·卡里卡特; S·莫赖姆; J·M·桑切斯;
摘要 提供了一种用于将获取自多个数据源的数据进行存储的方法及系统,所述本地通信装置与本地 服务器 通信,所述本地服务器与局域网关联,所述本地服务器还与外部网络以及至少一个客户端装置关联,所述客户端装置通过内部网络与本地服务器通信,所述本地服务器通过外部网络与一组至少一个或多个的远程服务器同步。
权利要求

1.一种本地通信装置,所述本地通信装置本地存储获取自多个资源的数据,所述本地通信装置与本地服务器通信,所述本地服务器与局域网关联,所述本地服务器还与外部网络和至少一个客户端装置关联,所述至少一个客户端装置通过内部网络与本地服务器通信,所述本地服务器通过外部网络与一组至少一个或多个的远程服务器同步,所述本地通信装置包括:
软件代理,所述软件代理与本地服务器、一组至少一个或多个的远程服务器以及至少一个客户端装置通信以收集来自本地服务器、一组至少一个或多个的远程服务器以及至少一个客户端装置的数据,其中当在至少一个客户端装置与本地装置之间的,或本地装置与一组至少一个或多个的远程服务器之间的数据连接中断时,所述本地通信装置能够访问数据,而与地理位置或时间周期无关;
存储模,所述存储模块适用于将获取的数据存储到至少一个存储器装置;
转换模块,所述转换模块产生用于收集的数据的预定格式;以及
同步模块,所述同步模块采用基于事务的、加密/解密的同步算法,于预定义阶段处,在本地服务器、一组至少一个或多个的远程服务器以及至少一个客户端装置中的至少两个之间传输数据。
2.根据权利要求1所述的本地通信装置,其中所述数据传输是无处不在的。
3.根据权利要求1所述的本地通信装置,其中所述数据传输是选择性的。
4.根据权利要求1所述的本地通信装置,其中所述至少一个客户端装置位于移动装置上。
5.根据权利要求4所述的本地通信装置,其中所述移动装置位于移动工具上。
6.根据权利要求1所述的本地通信装置,进一步包括生物特征数据收集装置,所述生物特征数据收集装置配置为用于收集生物特征数据、财物数据或医疗数据中的一种或多种。
7.根据权利要求6所述的本地通信装置,其中所述生物特征数据存储在至少一个客户端装置上。
8.根据权利要求6所述的本地通信装置,其中所述生物特征数据存储在本地服务器上。
9.根据权利要求1所述的本地通信装置,其中所述同步模块进一步包括冲突解决机制,所述冲突解决机制配置为用于跨所述一组至少一个或多个的远程服务器来将多个事务合并成单个事务。
10.一种设置至少一个客户端装置与中央数据库离线连接的方法,所述方法包括:
将在已选资源与至少一个客户端装置之间进行传输的数据存储;
监视所述至少一个客户端装置是否与已选资源保持通信;
当所述至少一个客户端装置与已选资源断开时,建立与所述至少一个客户端装置连接的数据连接;
传输数据到所述至少一个客户端装置;
采用基于事务的、加密/解密的同步算法,于预定义阶段处,在已选资源之间传输数据;
监视是否在所述至少一个客户端装置与已选资源之间重建数据连接;以及当所述至少一个客户端装置连接至已选资源时,重新建立在至少一个客户端装置与已选资源之间的数据连接。
11.根据权利要求10所述的方法,其中传输数据到所述至少一个客户端装置是一种无处不在的数据传输。
12.根据权利要求10所述的方法,其中传输到数据所述至少一个客户端装置是一种选择性数据传输。
13.根据权利要求10所述的方法,其中所述至少一个客户端装置位于移动装置上。
14.根据权利要求13所述的方法,其中所述移动装置位于移动工具上。
15.根据权利要求10所述的方法,进一步包括收集生物特征数据和将生物特征数据存储在所述至少一个客户端装置中。
16.根据权利要求10所述的方法,进一步包括跨所述已选资源将多个事务合并成单个事务,以解决冲突。
17.根据权利要求10所述的方法,进一步包括设置预定义调度,用于将在所述已选资源与客户端装置之间传输的数据进行存储。
18.根据权利要求17所述的方法,其中设置预定义调度包括基于周期间隔、随机间隔或系统触发的间隔中的至少一个来存储数据。
19.根据权利要求10所述的方法,其中自动完成重建所述客户端装置与已选资源之间的数据连接。
20.根据权利要求10所述的方法,进一步包括将一个或多个特定的客户端装置配置为相比其它客户端装置具有优先级,使得在将数据传输到其它客户端装置之前,能够将选择性数据从已选资源传输到所述一个或多个特定的客户端装置。
21.根据权利要求1所述的本地通信装置,进一步包括报警模块,所述报警模块配置为实时产生一个或多个报警,所述一个或多个报警配置为用于通知用户数据连接的状态。
22.根据权利要求1所述的本地通信装置,其中所述一个或多个报警包括发送至本地服务器以自动禁用同步的请求,以便防止复制错误。

说明书全文

在通信中断期间访问数据的客户端装置

[0001] 相关申请的交叉引用
[0002] 本申请要求于2014年3月10提交的美国非临时专利申请14/203,265的优先权,该美国非临时专利申请14/203,265为于2009年10月19日提交的美国非临时专利申请12/581,533的部分继续申请,其通过引用以全文并入于此。

技术领域

[0003] 本发明涉及在局域网上提供集中式客户端数据存储和检索的系统及方法。更具体地,本发明涉及将具有多种格式的数据转化为预定格式以及对转换的数据提供集中式客户端数据存储和检索的系统及方法。

背景技术

[0004] 公知的客户端具有对存储在远程服务器上的数据进行访问的软件应用程序。客户端访问因特网或其它远程网络以获取存储在远程服务器上的基于web的应用程序数据。在通信中断期间,客户端不能访问对基于Web的数据进行托管的远程服务器。因此,通信中断可以导致客户端用户经历生产损失、数据损失或其它损失。
[0005] 客户端包括应用程序,该应用程序存储相应客户端装置上的数据和提供对存储数据的离线访问。公知的客户端装置存储一格式的数据,该格式由产生数据的应用程序来定义。公知系统需要每一应用程序在客户端上的独立数据库中产生和存储数据。每一独立数据库为分布式的并且仅供产生数据的应用程序来访问。换句话说,对于在客户端装置上运行的不产生该数据的其它应用程序,公知系统没有授权其对该数据进行访问。多种其它的缺点存在于这些公知系统以及现有技术中存在的其它系统。

发明内容

[0006] 本发明的多个方面克服了至少一部分现有系统中的这些和其它缺点。本发明有利地公开了一种设置多个客户端装置以在离线期间与中央装置连接的方法和系统。
[0007] 在一个实施例中,本发明提供一种本地通信装置,所述通信装置本地存储来自多个资源的数据,包括远程服务器、本地服务器和客户端装置。所述远程服务器是与一外部网络关联,而所述本地服务器是与一内部网络关联。所述客户端装置通过外部网络与远程服务器进行通信,以及通过内部网络与本地服务器进行通信。所述本地通信装置包括一软件代理,所述软件代理与本地服务器、远程服务器以及客户端装置进行通信,以收集来所述本地服务器、远程服务器以及客户端装置的数据,并且当在客户端装置与本地服务器或远程服务器之间的数据连接中断时,所述代理提供对数据的访问。所述本地通信装置进一步包括一存储模,所述存储模块适用于将收集的数据存储到至少一个存储器装置和转换模块上,所述转换模块产生用于收集的数据的预定义格式。
[0008] 在本发明的另一实施例中,本发明提供一种本地通信装置,所述本地通信装置本地存储来自多个资源的数据,包括远程服务器、本地服务器和客户端装置。所述远程服务器是与一外部网络关联,而所述本地服务是与一内部网络关联。客户端装置通过外部网络与远程服务器进行通信,以及通过内部网络与本地服务器进行通信。所述本地通信装置包括一软件代理,所述软件代理与本地服务器、远程服务器以及客户端装置进行通信,以收集来所述本地服务器、远程服务器以及客户端装置的数据,并且当在客户端装置与本地服务器或远程服务器之间的数据连接中断时,所述代理提供对数据的访问。所述本地通信装置进一步包括产生和管理至少一个数据库的数据库模块、适用于将存储的数据存储到至少一个数据库的存储模块、产生用于收集的数据的预定义格式的转换模块以及为存储在至少一个数据库中的数据保持数据版本标签的同步模块。
[0009] 在本发明的另一实施例中,提供了一种便于与中央数据库离线连接的方法。本地通信装置将在已选资源和客户端装置之间传输的数据进行存储,并监视所述客户端装置是否在与已选资源进行通信。当所述客户端装置与已选资源断开时,本地通信装置建立与客户端装置的数据连接、传输数据到客户端装置、分配同步启动识别符、一个或多个同步中间识别符和同步完成识别符,以便于与已选资源的数据传输。所述本地通信装置监视数据连接是否在客户端装置与已选资源之间重新建立,并且当客户端装置连接到已选资源上时,在客户端装置与已选资源之间重新建立数据连接。
[0010] 数据在已选资源与客户端装置之间传输,且数据存储在本地通信装置上。如果在客户端装置与已选资源之间的通信通道中断,则在客户端装置与本地通信装置之间建立数据连接。网络中断期间,数据在本地通信装置与客户终端装置之间进行传输。本地通信装置和已选资源将存储的数据进行同步以提供最新的检索数据。当客户端装置与已选资源之间的数据连接重建得到确认时,将客户端装置连接到已选资源,且离线操作期间输入的任何数据将与已选数据资源同步。
[0011] 相比传统系统的多个缺点,本发明提供众多优点,和/或本发明避免传统系统的许多缺点。通过具体实施例及附图,本发明的这些及其它特征和优点将是明显的。同样应当理解的是,前述一般性的描述和以下的详细说明是示例性的,并不限定本发明的保护范围。当结合附图(下文包括其简要说明)阅读以下详细说明,本发明的多个其它特征和优点将变得明显。

附图说明

[0012] 通过参考结合附图考虑的以下详细说明,能够更加容易且完整地理解本发明及其伴随的优点及特征,其中:
[0013] 图1示出了本发明一实施例的系统原理图;
[0014] 图2示出了图1系统工作在一环境下的一实施例,在该环境中,外部通信路径连接本地装置及外部网络装置;
[0015] 图3示出了图1系统工作在一环境下的一实施例,在该环境中,在本地装置和外部网络装置之间的外部通信路径断开,且内部通信路径将本地装置与本地通信装置连接;
[0016] 图4示出了本发明一实施例的系统,该系统用于在远程服务器与本地通信装置之间传输数据;
[0017] 图5示出了流程图,该流程图提供了多个具有与中央数据库离线连接的客户端装置。

具体实施方式

[0018] 本发明提供采用本地通信装置的系统及方法,该通信装置执行集中式客户端数据存储与检索。本地通信装置可连接到多个资源,包括外部网络、内部网络和客户端装置以及其它资源。本地通信装置从多个资源中接收数据以及传输数据到多个资源,并且在存储之前将该数据转换为预选格式。例如,本地通信装置可接收任何格式的数据,包括MS Word格式、MS Excel格式、PDF格式或任何其它格式。存储前,本地通信装置可将接收的数据转换为预选格式,包括卫生信息传输标准(HL7)、可扩展标记语言(XML)、美国国家标准协会(ANSI)标准、通过MEDIOS专用应用程序的可视格式或其它预选格式。
[0019] 相反,公知系统采用分布式架构,该架构包括具有各自应用程序的客户端装置,这些应用程序在对应的客户端装置产生分布式数据库。分布式数据库存储在客户端装置,并且仅可供产生分布式数据库的各自应用程序访问。因此,至少因为存储在分布式数据库的数据是分段的、非集中式的、非便携式的,并且仅可供对应的各自应用程序使用,所以公知系统是有缺陷的。
[0020] 尽管在此讨论及附图中说明本发明的特定实施例,但是本发明涵盖的范围比描述和说明的特定主题更宽。如本领域技术人员将理解的,这里描述的实施例仅提供本发明的宽范围的一些示例。这里无意将本发明的保护范围限制到所述实施例。
[0021] 计算机网络提供了自动信息检索与存储的极大潜力。图1示出了根据本发明一个实施例的系统架构100的例子。可通过有线网络、无线网络、前述网络和/或其它网络(如本地区域网络106和外部网络125)的组合,将客户端102a-102n(以下统称为102)连接到一个或多个本地服务器104a-104n(以下统称为104)和/或一个或多个远程服务器130a-130n(以下统称为130)。本地通信装置110可设置为用于获取和存储客户端装置101、本地服务器104以及远程服务器130及其它组件之间的数据通信。
[0022] 本地通信装置110具有模块结构,以便于进行增加、删除、更新和/或修改其中的模块和/或模块内的特征。模块包括软件代理112、存储模块114、调度模块116、数据库模块118、切换模块120、同步模块121、转换模块122、报警模块123或其它模块。应当容易理解的是,可使用数量更多或更少的模块。本领域技术人员将轻易理解的是,可使用个体模块、包含两个或两个以上分开描述的模块中的特征的单一模块、个体软件应用程序、和/或单一软件应用程序来实现本发明。
[0023] 在终端用户知道或不知道的数据请求的情况下,软件代理112从多个资源请求数据。例如,软件代理112获取在客户端装置102和远程服务器130之间的通信期间发生的数据交换,其中数据交换通过外网125(如因特网)进行路由。软件代理112可以基本实时的方式或以预定间隔来获取数据交换。可选地,基于系统资源(如带宽或其它系统资源)的可用性,软件代理112可触发对数据交换的获取。存储模块114可设置为用于将获取的数据引导到期望的存储器装置以进行存储。
[0024] 软件代理112可包括应用程序,该应用程序在连接到本地通信装置110的资源上执行数据获取。资源可包括客户端装置102、本地服务器104和远程服务器130,及其它资源。对于在授权访问数据之前请求安全证书(如,密码、数字证书等)的资源来说,在请求将数据传输至本地通信装置110之前,软件代理112执行认证。可选地,在请求数据传输到本地通信110之前,软件代理112可等待用户利用安全证书进行登陆。当在客户端装置102与本地通信装置110之间或本地通信装置110与远程服务器之间的数据连接中断时,本地通信装置110提供与地理位置或时间周期无关的数据访问。
[0025] 如果用户未被认证,则可邀请用户提交请求的信息或采取其它的操作。如果用户被认证,则已选资源可执行其它处理。例如,已选资源可加载数据或其它信息(如,下载)到允许已认证的用户访问的客户端装置102,但还没从已选的资源中接收。
[0026] 关于用户认证,可采用本领域技术人员理解的数个不同认证方案中的一个进行认证。例如,要求用户输入字母数字代码。可选地,要求用户提供生物信息(如,通过指纹扫描器的拇指印)或其它适合的识别信息。本领域技术人员很容易地认识到,其它的认证方案也可以采用。
[0027] 本地通信装置110可以作为冗余装置工作,该冗余装置存储访问的数据或者寻求供多个资源访问的数据。图2示出了图1所示的系统在以下工作条件下的典型实施例,在该工作条件下,外部通信路径202将远程服务器130连接到客户端装置102、本地服务器104和/或本地通信装置110。工作期间,客户端装置102和本地服务器104传输和接收来自远程服务器130的数据。本地通信装置110可与远程服务器130进行通信,以复制和本地存储接收自远程服务器130的数据。
[0028] 参考图1,软件代理112可命令本地通信装置110连续地存储所请求的数据。可选地,软件代理112可命令本地通信装置110,当可用时按预定调度或自动更新所请求的数据。调度模块116设置在本地通信装置110中,以建立预定调度,其包括周期调度、随机调度、基于系统资源的调度或其它预定调度。
[0029] 本地通信装置110可包括产生和管理中央数据库124的数据库模块118。中央数据库124可由一个或多个资源访问,包括客户端装置102、本地服务器104和远程服务器130。中央数据库124可构造为,镜像已选资源的数据结构,已选资源包括客户端装置102、本地服务器104和远程服务器130。
[0030] 根据一个实施例,本地通信装置110可包括切换模块120,该切换模块120操作来在已选资源和中央数据库124之间切换客户端装置102的数据连接。在已选资源和中央数据库124之间对客户端装置102的数据连接进行切换的操作,对客户端装置102的用户来说可以是透明的。可选地,在已选资源和中央数据库124之间对客户端装置102的数据连接进行切换的操作,可由客户端装置的用户来初始化。
[0031] 切换模块120包括一特征,该特征确定客户端装置102的通信状态。该特征检测客户端装置102相对于外部网络125是否在线或离线操作。另外,切换模块120可检测客户端装置102的网络连接类型,比如有线连接、无线连接或其它网络连接。如果客户端装置102确定为相对于外部网络125离线操作,则可将客户端装置102连接到相应的本地通信装置110。
[0032] 图3示出了图1所示的系统工作在以下环境的典型实施例,在该工作环境下,在本地装置与外部网络之间的外部通信路径202断开。在此条件下,内部通信路径302设置为使本地通信装置110与客户端装置102和本地服务器104相连接。由于本地通信装置110本地存储存储在远程服务器130的数据副本,当外部通信路径202断开时,访问客户端装置102和本地服务器104的用户不会经历服务中断。
[0033] 关于透明的切换,图1所示的切换模块120可检测触发事件,以自动初始化切换在已选资源与中央数据库124之间的数据连接。触发事件可包括检测当至可选资源的通信通道不可用时的时间周期,及其它触发事件。
[0034] 关于由用户初始化的切换,切换模块120可响应手动初始化触发,以切换在已选资源与中央数据库124之间的数据连接。手动初始化触发可包括当至已选资源的通信通道不可用时能使用户激活客户端装置102的命令,及其它手动初始化触发。
[0035] 本地通信装置110包括同步模块121,该同步模块121保持数据版本标签,该标签用于存储在已选资源和中央数据库124上的数据。数据版本标签可用在已选资源和中央数据库124上,以识别最新的存储数据。根据一个实施例,同步模块121可分析数据版本标签,及确定是否从已选资源复制数据到中央数据库124上或从中央数据库124复制数据到已选资源上。通过这种方式,同步模块121避免客户端装置102访问过期数据。根据一个实施例,通过分析已选资源或中央数据库124中哪一个执行最近的保存功能,同步模块121确定已选资源或中央数据库124是否保持最新的数据版本标签。此外,远程服务器130可配置为与多个本地通信装置110同步,这些本地通信装置110分布在多个网络。同步模块121可采用成功/失败事务协议,该协议保证数据在无任何连接损失的情况下成功地传输。
[0036] 根据一个实施例,同步模块121采用可基于事务的、加密和解密的同步算法以在预定义阶段处执行数据传输。预定义阶段可包括起点、断点、确认点。通过利用阶段执行数据传输,即使数据传输通信在传输过程中中断,仍然可以完成初始数据传输。同步模块121识别至已选数据开始传输的起点。识别起点后,同步模块121可分配中间断点至传输数据。断点设置为,如果数据传输完成之前发生中断,来恢复数据传输操作。例如,数据传输中断后,数据传输操作从先前识别的成功的断点开始数据传输。换句话说,同步模块121使数据传输操作从断点或中间传输点恢复,而不是从起点或数据传输的开始进行恢复。当上一个断点成功遍历时,同步模块121分配数据传输一识别码。另外,同步模块121将数据传输划分为真实的和完整的。
[0037] 在另一实施例中,同步模块121用于监视广播系统,该系统通过网络装置操作,并通过预定协议进入外部网络。通过一系列算法,预定义逻辑端口自动解决数据冲突,且从本地网络和一组一个或多个外部服务器中自动重建同步。
[0038] 图4示出了执行数据传输的系统。利用多个中间断点或同步中间识别符(403a-403n),通过通信通道402,远程服务器130和本地通信装置110开始同步处理。根据一个实施例,断点1(403a)和断点2(403b)建立在远程服务器130和本地通信装置110之间。在数据传输过程中,通过通信通道404,远程服务器130和本地通信装置110传输状态信息。
[0039] 根据一个实施例,数据传输可发生在无数据中断的情况下。就远程服务器130与本地通信装置110之间的同步传输来说,同步模块121识别起点1或初始识别符(服务器时间为:01/01/Yrl,03:00:00),且数据传输可通过通信通道402开始。数据传输可通过断点1(403a)(服务器时间为:01/01/Yrl,03:03:00)和通过断点2(服务器时间为:01/01/Yrl,03:06:00的),并且成功完成数据传输。当数据传输成功完成时,同步模块121建立确认点,分配同步完成的识别码ID:0001:服务器时间为01/01/Yrl,03:06:00。当分配识别码ID:0001时,数据传输可认为完整真实。
[0040] 可选地,数据传输可发生在数据传输中断的情况下。就在远程服务器130与本地通信装置110之间的同步传输来说,同步模块121可识别起点1(服务器时间为:01/01/Yrl,03:00:00),并且通过通信通道402开始数据传输。数据传输可通过断点1(403a)(服务器时间
01/01/Yrl,03:03:00),例如,如果服务器发生带宽损失时,可能在服务器时间01/01/Yrl,
03:04:30处发生中断。同步模块121回滚到断点1(服务器时间01/01/Yrl,03:04:35)。当在服务器时间01/01/Yrl,03:20:30处重建带宽时,同步模块121在断点1(01/01/Yrl,03:20:
35)开始数据传输,并且可通过断点2(服务器时间为:01/01/Yrl,03:23:35),从而成功完成数据传输。当成功完成数据传输时,同步模块121可建立确认点,分配识别码ID:0002:服务器时间为01/01/Yrl,3:23:35。当分配识别码ID:0002时,数据传输可认为完整且真实。
[0041] 参考如图1,本地通信装置110包括转换模块122,该转换模块将接收到的数据在存储之前转换成预选格式,包括卫生信息交换标准(HL7)、可扩展标记语言(XML)、美国国家标准协会(ANSI)标准或预选格式。其它实现互操作的标准也可采用,例如但不限于CCD、DICOM、HIPAA和HITSP。ANSI兼容性文件可以表示为容器数据转换(Vessel Data Exchange,VDE)文件。
[0042] 可利用不同的技术搜索存储在中央数据库124的数据。根据一个实施例,可用结构化查询语言(SQL)进行搜索,该结构化查询语言利用SQL语句执行数据库124上的任务,如从数据库124中检索数据。
[0043] 本地通信装置110包括一报警模块123,该报警模块123产生实时通知和/或报警。产生的通知和/或报警可实时传输来通知用户网络连接状态。
[0044] 客户端装置102包括任何数目的不同类型的客户端装置,如医疗装置、医疗设备、个人电脑、笔记本、智能终端、掌上电脑(PDA)、移动装置、手机、网络电视系统、视频游戏控制台和综合以上所述功能中的一个或多个的装置或其它客户端装置。客户端装置102可包括处理器、RAM、USB接口、电话接口、卫星接口、麦克、扩音器、光笔、电脑鼠标、广域网接口、局域网接口、硬盘、无线通信接口、DVD/CD读取器/烧录器、键盘、平面触屏显示器、显示器和其它组件。
[0045] 根据一个实施例,客户端装置102包括触敏显示屏、听筒、扩音器和输入按键及其它特征。通过将指示符定位在已选图标上方并且操作输入接收装置,如触敏显示屏、鼠标、键盘、语音识别系统或其它输入接收装置,可以在客户端装置102上进行功能选择。客户端装置102包括视频输入装置以允许与其它客户端装置102进行视听通信,如允许医疗人员口述输入。客户端装置102与远程服务器130、本地服务器104及其它客户端装置102和/或其它系统进行通信。
[0046] 用户可访问客户端装置102以与已选资源进行通信,已选资源包括客户端装置102、本地服务器104和远程服务器130。如果客户端装置102连接到网络106、125时,则源自客户端装置102的数据请求可基本上实时地广播到已选资源和本地通信装置110。可选地,例如,如果已选客户端装置102未与局域网106连接,则自客户端装置102的通信会延迟一段时间。例如,由于大的延迟、延迟连接或切断连接及其它中断,客户端装置102与本地服务器
104或远程服务器130之间的数据连接中断。
[0047] 根据本发明的一个实施例,当已选资源、本地通信装置110和目标客户端装置102重新连接到网络106/125上时,在客户端装置102未连接到局域网106时发出的任何请求被存储和传播,其中该请求来自离线客户端装置102/至离线客户端装置102上。例如,如果目标客户端装置102未连接到网络106,则请求保持在相应的客户端装置102中,以当目标客户端装置102重新连接到网络106/125时,分发到本地通信装置110或已选资源。
[0048] 图5示出了一方法500,该方法提供了多个具有与中央数据库离线连接的客户端装置。在操作501中,数据在已选资源与客户端装置102之间进行传输,其中数据通信通过网络106/125来完成。例如,网络125可包括因特网。如果客户端装置102连接到网络106/125,则在客户端装置120与已选资源之间的数据通信基本上实时发生。在操作503中,数据在已选资源与本地通信装置110之间进行传输,其中数据通信通过网络106/125来完成。本领域技术人员将理解的是,通信可以不同方式或在其它不同装置中进行。
[0049] 在操作505中,判断客户端装置202是否与已选资源保持通信。如果客户端装置102和已选资源保持通信,则系统返回到操作501。如果客户端装置102和已选资源不再通信,则如操作507中所示,客户端装置102连接到本地通信装置110。在操作509中,数据在客户端装置102与本地通信装置110之间进行传输,其中数据通信通过网络106来完成。本领域技术人员将理解的是,通信可以不同方式或在其它不同装置中进行。
[0050] 在操作511中,判断客户端装置102与已选资源之间的连接是否恢复。如果客户端装置102和已选资源之间的连接未恢复,则系统返回到操作507。如果客户端装置102与已选资源之间的连接已恢复,则如操作513所示,系统同步本地通信装置与已选资源之间的数据,并返回至操作501。
[0051] 在另一实施例中,本技术包括一分布式系统,该系统具有一个或多个位置,其具有可选的已定义的中心集线器。网络中的每个节点信息供用户本地访问,且并不受限于至任一其它节点的连接。通过确定如何同步的算法,根据基于连续或调度的需要,能够容易地从所有节点上获取信息。同步可以无处不在(如完整的),使得每一节点具有相同的信息,或同步具有可选性,在这种情况下,它仅传输操作所需的最少数据,加上任何选择的附加数据。节点可以设置在移动装置上,如遍布移动手机或移动工具(mobile vessel),例如且不限于卡车、坦克、船舶、飞机。除了数据库以外,作为数据传输的第二层,文件系统也默认以选择性模式传输(如,它仅传输操作所需的最少数据)。该系统是自我维护的并且具备更新机制。
它也具有允许自己完全恢复灾难的恢复机制,其中具有很短的恢复时间目标(RTO)和恢复点目标(RPO)。
[0052] 传输技术
[0053] 从或到节点的通信可以通过利用TCP和用户数据协议(UDP)传输协议的传输控制/网际协议(TCP/IP)来进行。可以在设置时配置具体的端口号。例如,可用利用DEFLATE算法的压缩软件(ZLib filter)进行压缩打包。
[0054] 无处不在(ubiquitous)的数据传输
[0055] 数据库数据可以存储在任何标准的相关数据库中,包括但不限于,MySQL、PostgresSQL Lite和MICROSOFT SQL。数据库配置成给预定义的本地位置报告二进制日志。后台程序读取每一个二进制日志条目,并广播到每个激活的节点。二进制日志被分配全局唯一的ID,且每一节点试图一次执行已选二进制日志条目。每一个二进制日志条目包含一个或多个SQL语句。语句可实时执行,在两个语句试图影响同一行的情形中,以最新插入的为准。每一个节点通过利用预定义时间设置设定网络时间协议(NTP)来管理时间。
[0056] 执行与纠错
[0057] 系统可配置成以多种方式处理错误。例如,以最新的条目为准(Latest Entry Prevails)的方法默认通过执行所有请求和以影响同一行的最新请求为准来处理错误。因此,如果发生冲突,插入每个事务并且以最新插入的出现为准。在优先级节点方法中,一节点可配置为比其他节点具有优先级。因此,如果两个语句在预先配置的时间内影响同一行,则以优先级节点为准。
[0058] 错误处理
[0059] 基于冲突解决策略,可以多种方法处理结果。例如:
[0060] -停止执行:如果检测到有错误语句,则系统不能同步直到手动干预。这样可以确保跨节点的全部数据的完整性。
[0061] -无操作:忽略产生错误的条目,并继续到下一条语句。
[0062] 可以使用冲突解决机制,其中将事务跨一个或多个远程服务器130合并。
[0063] 选择性数据库(DB)传输
[0064] 选择性DB的使用可以使用任何相关的数据库来完成,例如,包括MySQL、Postgres、SQLite以及MSSQL和其它任何非SQL协议,如Elastic、MongoDB、CouchDB或Cassandra。本公开不限于特定类型的相关数据库。首先将原子记录(atomic record)定义为业务操作所需的系统中的核心条目,然后将连接的所有从属条目自动封装在原子记录内。记录可以通过TCP/IP传送至一个或所有节点。记录可以通过序列化对象传输。序列化对象可以使用基于DEFLATE策略的ZLib压缩软件进行压缩。接收端解压序列化字符串和序列化对象,并利用最新版的条目和从属条目进行重新填充。因此,因为它是基于以最新的条目为准的,所以在插入每个条目时,不需要解决冲突。传输控制保证可以配置为,确认对对象的接收,或者如果接收失败则尝试重新发送。为了不期望一接收确认以减小数据包的大小,可以禁用这个选项。
[0065] 选择性文件传输
[0066] 独立于DB数据,通过使用其创建位置来标记每个文件,操作业务逻辑需要的文件由运行的应用程序来识别。以任意预选间隔来扫描所有文件,(例如,每一分钟扫描一次)以检测任何变化。如果另一节点请求使用文件,则这个文件标记在请求节点。通过DB复制,将标记传输到所有节点。接着,将该文件传输到任意请求节点。虽然也可使用其他压缩协议,但是文件可使用基于DEFLATE策略的ZLib压缩软件进行压缩。在未如业务应用程序所要求的标记文档的任意节点处,也可以将文件从该任意节点删除。
[0067] 自我维护与自动更新机制
[0068] 利用基于LINUX的先进包装工具(APT)包管理器,系统能够安装所有中央服务器标记的必需的更新。这包括所有操作系统(OS)层的更新和其它必需的包,该包用于由中央服务器上的配置所标记的操作。通过远程控制脚本更新应用程序层,该远程控制脚本可以使用如BASH、PERL和PYTHON来写,且可以检索所有应用程序所需的必需文件,并传输至节点。当完成这个过程后,利用DB复制和自停止复制,每个节点给所有其它节点发送通知。通过备份当前应用程序并用新文件代替所有文件进行更新。接着重新存储该复制并发送通知至其它节点。在发生错误的情况下,系统保持维护模式并等待手动干预。所有其它节点继续正常操作。
[0069] 灾难恢复机制策略
[0070] 在发生灾难的情况下,重新安装系统并标记为“新”DB。当完成复制时,从其它节点传输操作所需的数据使系统更新到最新数据。
[0071] 恢复点对象(RPO)
[0072] RPO由发生灾难时所能用的带宽决定。从该节点传播到其它节点的最后序列成为恢复点目标。
[0073] 恢复时间目标
[0074] 恢复时间目标由灾难发生后可用的带宽决定。连接越快,RPO到达越快。
[0075] 破玻璃机制(Break-Glass Mechanism)
[0076] 在发生灾难的情况下,或对于任何先前由业务应用程序配置的触发,通过简单网络管理协议(Simple Network Management Protocol,SNMP)或任何其他预定义的机制,系统可以发出服务质量(Quality of Service,QoS)升级请求来提高QoS,因此加快数据传输。
[0077] 可以将一组装置及外围装置连接到任何终端装置102来收集生物特征数据、财务数据和/或医疗数据。该数据能够本地存储在终端装置102中、传输至本地服务器104和/或复制至每个节点。从装置到终端的连接可以是任意标准连接协议,比如,USB、串行、蓝牙、Wi-Fi或TCP/IP网络。能够利用一个或多个不同格式传输数据,如HL7、CSV或XML。通过使用一种或多种传统的数据收集方法,可以收集生物特征数据,包括但不限于指纹、手掌扫描、视网膜扫描和/或面部识别方法。可以使用一种或多种扫描技术收集财务数据,例如但不限于磁性卡片、智能芯片卡、蓝牙识别符和/或条形码ID。可以使用各种医疗装置收集医疗数据,包括但不限于EKG装置、脉冲探测器、血压监测仪、血传感器、体重和身高仪,X射线装置(包括数字和基于薄膜的)、血液分析仪、尿液分析仪、粪便分析仪、声波装置和多普勒装置等等。
[0078] 本发明能够以硬件、软件或硬件和软件的结合来实现。任何一种计算系统、或其他适用于实施本文所述方法的装置,适合于完成所述功能。
[0079] 典型的硬件和软件的结合为专用计算机系统,该专用计算机系统具有一个或多个处理元件和存储在存储介质的计算机程序,当加载和执行该计算机程序时,其控制计算机系统,使其执行本文所述方法。本发明还可以嵌入在计算机程序产品中,该计算机程序产品包括所有能实现本文所述方法的特征,并且当将该计算机程序产品加载在计算机系统中时,其能够执行这些方法。存储介质指任何易失性或非易失性存储装置。
[0080] 上下文中的计算机程序或应用程序是指具有一组指令的任何表达式(使用任何语言、代码或符号),这些指令旨使系统具有信息处理能力,以直接执行特定功能或在执行以下步骤中的一个或两个后来执行特定功能:a)转换成另一种语言、代码或符号;b)以不同的实物形式再现。
[0081] 本领域技术人员将理解的是,本发明不局限于上面已经具体示出和描述的内容。此外,除非与以上论述相反,否则应该注意的是,所有附图都没有按照比例绘制。根据以上的教导,在没有脱离仅由以下权利要求所限定的本发明的范围和精神的情况下,能够进行各种修改和变化。
QQ群二维码
意见反馈