用于图形数据结构的高效和低延迟同步的装置、系统及方法制造方法及图纸

技术编号:13674685 阅读:51 留言:0更新日期:2016-09-08 00:04
本发明专利技术涉及一种装置。该装置包括数据模型(110),其中数据模型(110)包括三个或更多个节点,其中ID被分配至数据模型(110)的三个或更多个节点中的一个或多个,其中所述一个或多个节点中的每个通过所述节点的ID能够明显地区分于数据模型(110)的其他节点,其中数据模型(110)的节点中的至少两个各自具有一个或多个属性,其中所述属性中的每个能够假定为存储于数据模型(110)中的值,其中路径说明被分配至所述至少两个节点中的每个节点,其中路径说明包括所述路径说明所被分配至的特定节点以及数据模型(110)的三个或更多个节点中的至少一个其他节点,且其中所述至少两个节点中的每个节点的路径说明不同于特定节点的ID。此外,该装置包括控制器,控制器包括用于数据模型(110)的三个或更多个节点中的具有属性的每个节点的每个属性的写函数,其中通过写函数能改变属性的值。此外,该装置包括同步器(130)。同步器(130)设计为接收指示数据模型(110)的节点中的一个的更新通知,其中更新通知还指示所述节点的属性,且其中更新通知指示所述属性的值将如何被更新,其中更新通知通过节点的ID指示节点。控制器(120)设计为通过所述属性的写函数依据更新通知对所述节点的所述属性的值进行更新。

【技术实现步骤摘要】
【国外来华专利技术】
本专利申请涉及低延迟同步,且尤其涉及用于图形(如树形)数据结构的高效低延迟同步的装置、系统及方法。
技术介绍
大量软件应用内部使用图形数据结构,如以树的形状组织的数据结构。在如此以树的形状组织的数据结构中,可以在如此的数据结构中保持应用的状态。如果数据结构的部分改变,应用将对此作反应且例如,将改变屏幕显示,或将控制连接的外部设备。底层设计模式被称为MVC(模型视图控制器)。如果希望执行如此的应用,则在服务器设备上同时地,以图形(如树形)数据结构保持该应用的状态,例如,以允许多个用户与应用协作地(联合地/合作地)工作;或如果用户出于改进的可操作性而想将应用的不同显示分布在不同终端设备上,如平板PC和移动电话上,则以下情况将要发生:一方面,必须以付出大量努力的方式提供并实施用于对同时运行于不同终端设备上的应用进行同步的通信协议。所述实施通常为高代价并耗时的且因此也容易引起错误。另一方面,所述协议必须为快速高效的。第一设备上的用户输入与另一设备上的应用的更新之间必须不能发生可注意到的延迟。特别地,对于控制音频系统,同步必须不得长于数毫秒。现有技术中已存在已知装置,利用该已知装置,可以通过使用多个移动设备同时地控制系统,如用于桌面混音的Mackie-控制或各种iPad控制。当前,借助于作为规则的数据库,影响应用的不同客户端(客户端、客户端应用)的通信。通过数据库协议,在数据库内设置依次被传输至不同客户端的状态。对此,存在两种方法:第一种方法为所谓的键值方法,例如,参见Redis数据库。键具有随其存储的数据集。通过键可以快速地访问数据集。此方法的优点在于高水平的性能。然而,基于键值方法的复杂的应用的开发是不可计算的且因此为高代价的并容易引起错误。第二种方法为所谓的面向文档的方法,例如,参见CouchDb、MongoDb。以图的形状构造数据,且可通过地址路径访问数据。此方法能够实现良好结构的数据,且因此应用易
于处理。因此可以快速地并以简单明了的方式开发应用。缺点在于,数据的访问是高代价的。然而,对于控制以高频率改变且具有低延时的数据,如此的方法并非是很合适的。然而,如果提供这样的概念,则它是值得想望的:该概念一方面以低延迟同步以及以数据更新实施高水平的性能,另一方面在数据访问期间实施高度的直观性。
技术实现思路
提供如权利要求1中所述的装置,如权利要求14中所述的服务器、如权利要求21中所述的客户端、如权利要求25中所述的系统、如权利要求26中所述的方法以及如权利要求27中所述的计算机程序。提供一种装置。该装置包括数据模型,数据模型包括三个或更多个节点,数据模型的三个或更多个节点中的一个或多个具有与其相关联的ID,所述一个或多个节点中的每个通过其ID明确地可区分于数据模型的其他节点,数据模型的节点中的至少两个各自具有一个或多个属性,对所述属性中的每个可以采用存储于数据模型内的值,所述至少两个节点中的每个节点具有分配至其的路径指示,路径指示包括所述路径指示所被分配至的各个节点以及数据模型的三个或更多个节点中的至少一个其他节点,且所述至少两个节点中的每个节点的路径指示不同于各个节点的ID。在一个实施例中,例如,数据模型的节点中的每个可以具有分配至其的ID,数据模型的节点中的每个通过其ID明确地可区分于数据模型的其他节点。此外,该装置包括控制器,控制器包括用于数据模型的三个或更多个节点中的具有属性的每一个节点的每个属性的写函数,通过写函数属性的值为可变的。此外,该装置包括同步器。同步器用于接收指明数据模型的节点中的一个的更新通知,所述更新通知还指明所述节点的属性,且更新通知指示此属性的值将如何被更新,更新通知通过节点的ID指明节点。控制器用于通过此属性的写函数依据更新通知更新此节点的此属性的值。在实施例中,写函数不仅承担设置数据模型内的值的责任,还承担通知同步器和/或通知其他观察者以及其他可能的功能例如为了之后的再现或撤销而记录随时间的改变的责任。根据实施例,同步器用于发送更新通知。本专利技术的实施例相较于现有技术包括许多优点,例如同步协议的显然更容易的可扩展性,对应用开发者的透明同步的完全基于网络的实施,和/或新部件的简单集成。而在现有技术中,提供者仅定义协议而不定义客户端内及服务器内的持续的数据表示,根据实施例,持续的数据表示被定义且从中导出协议。实施例提供其他工具。根据一个实施例,提供一种服务器。该服务器为如上所述的装置。此外,服务器用于
从一个或多个客户端接收注册(登录)。此外,服务器用于基于一个或多个客户端的注册将关于数据模型的信息传输至一个或多个客户端,关于数据模型的所述信息包括数据模型的具有属性的节点中的所有节点或两个或更多个节点的属性的值,且关于数据模型的信息还为数据模型的每个节点或为数据模型的至少两个节点指示数据模型的节点中的哪个或哪些紧跟在所述节点之后和/或数据模型的哪个或哪些节点紧挨在所述节点之前。在一个实施例中,服务器可以用于,例如,基于一个或多个客户端的注册将服务器的数据模型的节点中的两个或更多个的ID传递至一个或多个客户端。根据进一步的实施例,提供一种客户端。服务器为如上所述的装置。此外,客户端用于向上述服务器进行注册。客户端用于基于向服务器的注册接收关于服务器的数据模型的信息,关于服务器的数据模型的所述信息包括服务器的数据模型的具有属性的节点中的所有节点或两个或更多个节点的属性的值,且关于服务器的数据模型的信息还为服务器的数据模型的每个节点或为服务器的数据模型的两个或更多个节点指示服务器的数据模型的节点中的哪些紧跟在所述节点之后和/或服务器的数据模型的哪些节点紧挨在所述节点之前。此外,客户端用于依据关于服务器的数据模型的信息更新其数据模型。此外,提供一种系统。该系统包括上述服务器以及上述客户端。客户端用于将更新通知发送至服务器。服务器的同步器用于接收更新通知,更新通知指明数据模型的节点中的一个,还指明所述节点的属性,并指示所述属性的值将如何被更新。服务器的控制器用于在更新通知指明节点的ID时依据更新通知更新所述节点的所述属性的值。此外,提供一种方法。该方法包括:-接收通过节点的ID指明数据模型的节点的更新通知,所述更新通知还指明所述节点的属性,且所述更新通知指示此属性的值将如何被更新,所述数据模型包括三个或更多个节点,数据模型的三个或更多个节点中的一个或多个具有分配至其的ID,所述一个或多个节点中的每个通过其ID明确地可区分于数据模型的其他节点,数据模型的节点中的至少两个各自包括一个或多个属性,所述属性中的每个能够采用存储于数据模型内的值,所述至少两个节点中的每个节点具有分配至其的路径指示,路径指示包括所述路径指示所被分配至的各个节点以及数据模型的三个或更多个节点中的至少一个其他节点,所述至少两个节点中的每个节点的路径指示不同于各个节点的ID;以及-通过属性的写函数,依据更新通知更新该更新通知中指明的此属性的值。在实施例中,方法可以包括,如,其他一个步骤或其他多个步骤,例如:-生成ID和/或-在客户端与服务器之间更新-在服务器与客户端之间匹配数据模型和/或-指定写函数/存储函数。此外,提供一种计算机程序,该计算程序具有用于执行上述方法的程序代码本文档来自技高网
...

【技术保护点】
一种装置(160,170;300,350,360),包括:数据模型(110;310,351,361),所述数据模型(110;310,351,361)包括三个或更多个节点,所述数据模型(110;310,351,361)的所述三个或更多个节点中的一个或多个具有分配至其的ID,所述一个或多个节点中的每个通过其ID明确地可区分于所述数据模型(110;310,351,361)的其他节点,所述数据模型(110;310,351,361)的节点中的至少两个各自包括一个或多个属性,所述属性中的每个能够采用存储于所述数据模型(110;310,351,361)内的值,所述至少两个节点中的每个节点具有分配至其的路径指示,所述路径指示包括所述路径指示所被分配至的各个节点以及所述数据模型(110;310,351,361)的所述三个或更多个节点中的至少一个其他节点,且所述至少两个节点中的每个节点的所述路径指示不同于所述各个节点的ID;控制器(120;320,352,362),包括用于所述数据模型(110;310,351,361)的所述三个或更多个节点中的具有属性的每一个节点的每个属性的写函数,且通过所述写函数所述属性的值为可变的;以及同步器(130;340,354,364),所述同步器(130;340,354,364)用于接收指明所述数据模型(110;310,351,361)的节点中的一个的更新通知,所述更新通知还指明所述节点的属性,且所述更新通知指示所述属性的值将如何被更新,所述更新通知通过所述节点的ID指明所述节点;且所述控制器(120;320,352,362)用于通过所述属性的写函数依据所述更新通知更新所述节点的所述属性的值。...

【技术特征摘要】
【国外来华专利技术】2013.12.05 DE 102013225058.41.一种装置(160,170;300,350,360),包括:数据模型(110;310,351,361),所述数据模型(110;310,351,361)包括三个或更多个节点,所述数据模型(110;310,351,361)的所述三个或更多个节点中的一个或多个具有分配至其的ID,所述一个或多个节点中的每个通过其ID明确地可区分于所述数据模型(110;310,351,361)的其他节点,所述数据模型(110;310,351,361)的节点中的至少两个各自包括一个或多个属性,所述属性中的每个能够采用存储于所述数据模型(110;310,351,361)内的值,所述至少两个节点中的每个节点具有分配至其的路径指示,所述路径指示包括所述路径指示所被分配至的各个节点以及所述数据模型(110;310,351,361)的所述三个或更多个节点中的至少一个其他节点,且所述至少两个节点中的每个节点的所述路径指示不同于所述各个节点的ID;控制器(120;320,352,362),包括用于所述数据模型(110;310,351,361)的所述三个或更多个节点中的具有属性的每一个节点的每个属性的写函数,且通过所述写函数所述属性的值为可变的;以及同步器(130;340,354,364),所述同步器(130;340,354,364)用于接收指明所述数据模型(110;310,351,361)的节点中的一个的更新通知,所述更新通知还指明所述节点的属性,且所述更新通知指示所述属性的值将如何被更新,所述更新通知通过所述节点的ID指明所述节点;且所述控制器(120;320,352,362)用于通过所述属性的写函数依据所述更新通知更新所述节点的所述属性的值。2.如权利要求1所述的装置(160,170;300,350,360),所述数据模型(110;310,351,361)的节点中的每个具有分配至其的ID,且所述数据模型的节点中的每个通过其ID明确地可区分于所述数据模型(110;310,351,361)的其他节点。3.如权利要求1或2所述的装置(160,170;300,350,360),其中所述控制器(120;320,352,362)包括用于所述数据模型(110;310,351,361)的所述三个或更多个节点中的具有属性的每一个节点的每个属性的读函数,且通过所述读函数所述属性的值为可读的。4.如前述权利要求中任一项所述的装置(160,170;300,350,360),所述数据模型的所述三个或更多个节点中的每个的ID为数字、字符串或哈希值。5.如前述权利要求中任一项所述的装置(160,170;300,350,360),其中所述数据
\t模型(110;310,351,361)的所述三个或更多个节点包括图形结构,以便所述数据模型(110;310,351,361)的每个节点之后紧跟着所述图形结构内所述数据模型(110;310,351,361)的节点中的至少一个和/或之前紧接着所述图形结构内所述数据模型(110;310,351,361)的节点中的一个,所述数据模型(110;310,351,361)的节点中的至少一个之后紧跟着所述图形结构内所述数据模型(110;310,351,361)的两个节点。6.如前述权利要求中任一项所述的装置(160,170;300,350,360),所述装置(160,170;300,350,360)还包括接口,所述接口用于接收关于所述数据模型(110;310,351,361)的改变的信息,所述改变将一个或多个属性添加至所述数据模型的节点中的一个,所述装置(160,170;300,350,360)用于自动地生成用于添加的所述一个或多个属性中的每个的读函数和写函数,通过所述读函数所述属性的值为可读的,通过所述写函数所述属性的值为可变的。7.如权利要求1-5中任一项所述的装置(160,170;300,350,360),所述装置(160,170;300,350,360)还包括接口,所述接口用于接收关于所述数据模型(110;310,351,361)的改变的信息,所述改变将一个或多个属性添加至所述数据模型的节点中的一个,所述装置(160,170;300,350,360)用于自动地生成用于添加的所述一个或多个属性中的每个的写函数,通过所述写函数所述属性的值为可变的,所述写函数用于在所述属性的值改变时通知所述同步器(130;340,354,364)和/或视图(213;330,353,363)。8.如权利要求1-5中任一项或权利要求7所述的装置(160,170;300,350,360),所述装置(160,170;300,350,360)还包括接口,所述接口用于接收关于所述数据模型(110;310,351,361)的改变的信息,所述改变将一个或多个属性添加至所述数据模型的节点中的一个,所述装置(160,170;300,350,360)用于自动地生成用于添加的所述一个或多个属性中的每个的写函数,通过所述写函数所述属性的值为可变的,所述写函数用于为了之后的再现或撤销而记录所述属性的值随时间的改变。9.如前述权利要求中任一项所述的装置(160,170;300,350,360),所述装置(160,170;300,350,360)用于通过网络应用提供用于所述数据模型(110;310,351,361)的节点中的具有属性的每一个节点的属性中的每个的读函数和写函数,以便能够通过所述网络应用使用所述读函数和所述写函数。10.如权利要求9所述的装置(160,170;300,350,360),其中以JavaScript和/或HTML实施所述网络应用。11.如前述权利要求中任一项所述的装置(160,170;300,350,360),所述装置(160,170;300,350,360)用于基于用户输入为所述数据模型(110;310,351,361)的节点
\t中的一个的属性中的一个安装改变监视。12.如权利要求11所述的装置(160,170;300,350,360),所述装置(160,170;300,350,360)用于在为其安装了改变监视的所述属性中的一个的值改变时输出告警。13.如前述权利要求中任一项所述的装置(160,170;300,350,360),所述装置(160,170;300,350,360)用于记录对所述数据模型(110;310,351,361)的节点中的一个的属性所作的改变。14.一种服务器(170;300),所述服务器(170;300)为如权利要求1-13中任一项所述的装置(160;310);所述服务器(170;300)用于从一个或多个客户端(160;350,360)接收注册;所述服务器(170;300)用于基于所述一个或多个客户端(160;350,360)的注册将关于所述数据模型(310)的信息传输至所述一个或多个客户端(160;350,360),关于所述数据模型(310)的信息包括所述数据模型(310)的具有属性的节点中的所有节点或两个或更多个节点的属性的值,且关于所述数据模型(310)的信息还为所述数据模型(310)的每个节点或为所述数据模型(310)的至少两个节点指示所述数据模型(310)的节点中的哪些紧跟在所述节点之后和/...

【专利技术属性】
技术研发人员:加布里埃尔·戈采托拜厄斯·格尔哈尔托马斯·斯波尔马克西米兰·黑勒马里奥·赛德内克
申请(专利权)人:弗朗霍夫应用科学研究促进协会
类型:发明
国别省市:德国;DE

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1