CN1741022A - 一种图案协同设计中的复杂加锁方法 - Google Patents
一种图案协同设计中的复杂加锁方法 Download PDFInfo
- Publication number
- CN1741022A CN1741022A CN 200510060796 CN200510060796A CN1741022A CN 1741022 A CN1741022 A CN 1741022A CN 200510060796 CN200510060796 CN 200510060796 CN 200510060796 A CN200510060796 A CN 200510060796A CN 1741022 A CN1741022 A CN 1741022A
- Authority
- CN
- China
- Prior art keywords
- lock
- zone
- user
- locking
- locked
- 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
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种图案协同设计中的复杂加锁方法。在分布式协同编辑系统中,为了防止并行操作中出现冲突,常常用到加锁的机制。本发明是一种不但能够给对象加锁,而且能够给区域加锁的加锁方法。在这种加锁方法下,用户可以自由的选择给一个图案对象加锁或者给一个工作区域加锁。这是一种细粒度和粗粒度的结合,既有利于减少加锁时系统的负载,又有利于方便用户的操作。
Description
技术领域
本发明涉及基于因特网的分布式图案协同设计技术,特别是涉及一种图案协同设计中对象锁和区域锁同时存在的复杂加锁方法。
背景技术
随着社会分工的深化,人们的协同行为也必然会越来越广泛,而计算机与信息技术的发展,为这些协同提供了交互的平台,这个平台的作用是使得一个群体可以通过互联网在异地协同完成一项共同的任务。它要给这个群体一种在同一个会议室工作的感觉,它的目标是传输各种明显或不明显的参与者的动作,例如:声音,手势等等。
基于Internet的分布式实时协同编辑系统,可以允许一组用户通过Internet同时观看和编辑同一份文档/图形/图像/多媒体文档。
基于Internet的分布式协同编辑系统中,解决并行冲突的方式有些采用了锁,有些不需要用户申请锁。在分布式协同图案编辑系统中,由于图形图像本身的特殊性,为了防止并行操作中出现冲突,锁被广泛的应用。加锁的目的是为了更好的协同,所以加锁必须从用户的角度考虑操作的方便性和实用性。
锁的类型由不同的分类标准可以有不同的划分。其中一种划分方式是对象锁与区域锁。
在一个图案设计过程中,用户感兴趣的是本用户的任务部分,用户不期望其他用户更改的也只是自己认为敏感的图形对象,用户将选择关心的图形对象进行加锁。对象锁是用来锁定图案中的图形对象的锁机制。采用对象锁使得加锁的粒度细化。提高了系统的响应,并且,使得协同用户的聚焦度增强。
如果用户需要同时编辑的对象比较多,或者,用户感兴趣的是一个图案的区域,并且不期望其他用户涉及到这些对象或者区域,用户将选择关心的区域加锁。区域锁是用户对其指定的图案区域加锁,在一个基于图形对象的图案中,锁定一个区域意味着同时锁定了区域包含的对象。其他用户不能进入该区域进行操作,也不能操作区域包含的对象。
发明内容
本发明的目的在于提供一种图案协同设计中的复杂加锁方法。
本发明解决其技术问题采用的技术方案如下:
1)用户设计图案过程中,图形对象与设计区域存在以下关系:
定义1:半包围锁定
给定一个图形对象和一个区域锁,当区域锁的轮廓包围对象的一部分时,图形对象与区域锁二者共同所处的状态称作半包围锁定;
定义2:全包围锁定
给定一个图形对象和一个区域锁,当区域锁的轮廓包围对象的全部时,图形对象与区域锁二者共同所处的状态称作全包围锁定;
定义3:相关包围锁定
当用户锁定一个区域时,用户不但同时锁定处于全包围锁定状态的对象,并且也同时锁定处于半包围锁定状态的对象,而不是只锁定其一部分;这样的锁定称作相关包围锁定;
定义4:相关包围对象集合REOS
给定一个用户的区域锁,所有与该区域锁处于相关包围锁定状态的图形对象都属于REOS;
2)图案设计用户User K拥有的锁权限是一个二元组{LockSetk region,LockSetk object},其中
LockSetk region是User k拥有的区域锁集合,该集合中的每一个元素由两部分组成,其一是User k拥有的区域本身,其二是该区域的相关包围对象集合REOS;LockSetk region的表示形式如下:
每一项的上标表示这个区域或对象的所有者;
LockSetk object是User k拥有的独立对象锁集合,这里的独立对象锁所指的是这个对象锁不属于任何一个区域锁;
3)重复锁定的处理方法
a.当用户锁定一个对象之后又锁定一个区域,而这个区域全包围或半包围这个锁定的对象:系统将提示用户是否把该对象的锁权限加入该区域;
b.当用户锁定一个区域之后又锁定另一个区域,而这两个区域是有重叠的部分:允许同一用户锁定重叠的区域;
c.当用户锁定一个区域及其对象,之后用户释放了其中一些对象,一段时间后用户又试图对它们加锁:系统将提示用户或者把该对象的锁权限加入该区域,或者独立为一个对象锁;
d.当用户锁定一个对象之后又锁定该对象:忽略第二次锁定;
e.当用户锁定一个区域之后又锁定该区域:忽略第二次锁定;
4)限制用户操作的处理方法
a.当一用户锁定一个对象:其他用户不可以对该对象进行编辑操作;
b.当一用户锁定一个区域:其他用户不可以移动对象进入该区域,其他用户新建的对象与该区域不能处于的半包围锁定或全包围锁定状态;其他用户不可以对区域锁定的对象进行编辑操作;其他用户锁定的区域不可以与该区域有相交的部分;
5)特殊情况的处理方法
存在这样一种情况,用户A的区域锁锁定一系列对象,用户B此时试图编辑这一系列对象中的单个对象Objecta;A可以只释放Objecta的权限;
存在另一种情况,用户A的区域锁已经锁定一系列对象(包括Objecta),用户B此时试图锁定另一个区域,而这个区域与Objecta处于相关包围锁定状态,采取处理是:Objecta的锁权限归属于A,允许A操作Objecta在B中移动的方式;加入B对Objecta的可等待机制。
本发明与背景技术相比,具有的有益的效果是:
本发明采用对象锁和区域锁并行的方式。这样细粒度与粗粒度的结合使得用户的选择更为多样,尽管由这种设计增加了系统设计的复杂度,但有效的缓解了锁的独占性与协同的共享性之间的矛盾,以及用户使用的方便灵活操作与系统的高负载之间的矛盾。
附图说明
图1是半包围锁定的示意图;
图2是全包围锁定的示意图;
图3是相关包围对象集合的示意图;
图4是User k拥有的锁权限的示意图;
图5是特殊情况的示意图。
具体实施方式
在实施基于internet(因特网)的分布式图案协同设计的复杂加锁方法时,
具体方式如下:
1)用户设计图案过程中,对象与设计区域存在以下关系:
定义1:半包围锁定
给定一个对象和一个区域锁,当区域锁的轮廓包围对象的一部分时(如图1所示),对象与区域锁二者共同所处的状态称作半包围锁定;
定义2:全包围锁定
给定一个对象和一个区域锁,当区域锁的轮廓包围对象的全部时(如图2),对象与区域锁二者共同所处的状态称作全包围锁定;
定义3:相关包围锁定
当用户锁定一个区域时,用户不但同时锁定处于全包围锁定状态的对象,并且也同时锁定处于半包围锁定状态的对象,而不是只锁定其一部分;这样的锁定称作相关包围锁定;
定义4:相关包围对象集合REOS
给定一个用户的区域锁,所有与该区域锁处于相关包围锁定状态的对象都属于REOS;
例如,图3中区域锁Lockregion1的相关包围对象集合是:
{Objecta,Objectb,Objectc},其中Objecta是处于全包围锁定状态的对象,Objectb,Objectc是处于半包围锁定状态的对象。
2)图案设计用户User K拥有的锁权限是一个二元组{LockSetk region,LockSetk object},其中
LockSetk region是User k拥有的区域锁集合,该集合中的每一个元素由两部分组成,其一是User k拥有的区域本身,其二是该区域的相关包围对象集合REOS;LockSetk region的表示形式如下:
每一项的上标表示这个区域或对象的所有者;
LockSetk object是用户可k(User k)拥有的独立对象锁集合,这里的独立对象锁所指的是这个对象锁不属于任何一个区域锁;
例如,在图4中,用户A(User A)拥有以下对象和区域的锁权限,其中LockSetA region是
{[Region1 A,REOSregion1 A(Objecta A,Objectb A,Objectc A)]},LockSetA object是{Objectd A}。
3)重复锁定的处理方法
a.当用户锁定一个对象之后又锁定一个区域,而这个区域全包围或半包围这个锁定的对象:系统将提示用户是否把该对象的锁权限加入该区域;
b.当用户锁定一个区域之后又锁定另一个区域,而这两个区域是有重叠的部分:允许同一用户锁定重叠的区域;
c.当用户锁定一个区域及其对象,之后用户释放了其中一些对象,一段时间后用户又试图对它们加锁:系统将提示用户或者把该对象的锁权限加入该区域,或者独立为一个对象锁;
d.当用户锁定一个对象之后又锁定该对象:忽略锁定;
e.当用户锁定一个区域之后又锁定该区域:忽略锁定;
4)限制用户操作的处理方法
a.当一用户锁定一个对象:其他用户不可以对该对象进行编辑操作;
b.当一用户锁定一个区域:其他用户不可以移动对象进入该区域,其他用户新建的对象与该区域不能处于的半包围锁定或全包围锁定状态;其他用户不可以对区域锁定的对象进行编辑操作;其他用户锁定的区域不可以与该区域有相交的部分;
5)特殊情况的处理方法
用户锁定一个区域,不但锁定了区域本身,也锁定了区域中的对象。这是一种整体锁定的形式。但这种整体锁定会给其他用户带来不必要的阻碍,如果在区域锁中可以释放对象的锁权限,将有效的融通不同用户之间的请求。
a)存在这样一种情况,如图4,用户A的区域锁锁定一系列对象,用户B此时试图编辑这一系列对象中的单个对象Objecta;A可以只释放Objecta的权限。
释放后,用户A的LockSetA region是{[Region1 A,REOSregion1 A(Objectb A,Objectc A)]},A的LockSetA object是{Objectb A}。
假设用户B在此之前没有拥有任何锁权限,此时用户B的LockSetB region是{},B的LockSetB object是{Objecta B},Objecta的上标由A变为B表示Objecta的所有者以及由A变成B。
但是,当B真正操作(如:改变大小,移动)Objecta的时候,根据限制用户操作的处理方法,无论B是否对Objecta加锁,B的操作由于入侵A的区域将被限制操作。
针对这种情况,采用:
伙伴协议I:使Objecta成为A的伙伴,允许Objecta在A的区域里自由出入。在A的区域锁的属性里面存放一张伙伴列表BuddyList,当Objecta的权限从A移交到B的时候,把Objecta加入BuddyList。B操作Objecta的时候,当检测到操作与现存的区域锁冲突,就在区域锁的BuddyList里查找是否有Objecta,如果有,操作被允许。
b)存在另一种情况,用户A的区域锁已经锁定一系列对象(包括Objecta),用户B此时试图锁定另一个区域,而这个区域与Objecta处于相关包围锁定状态,如图5。
处理方式是:Objecta的锁权限归属于A。但当A操作Objecta移动时,根据限制用户操作的处理方法,必然会触犯到B的区域,被限制操作。但由于A是当前对Objecta加锁的用户,采取允许A操作Objecta在B中移动的方式。
针对这种情况,采用:
伙伴协议II:在伙伴协议I的基础上(即令Objecta成为B的Buddy)加入对Objecta的可等待机制。由于其他用户对于被A锁定的Objecta是处于等待锁定状态,当A释放锁的时候,有必要把Objecta的锁权限交给下一个申请Objecta的锁权限的用户。
Claims (1)
1.一种图案协同设计中的复杂加锁方法,其特征在于:
1)用户设计图案过程中,图形对象与设计区域存在以下关系:
定义1:半包围锁定
给定一个图形对象和一个区域锁,当区域锁的轮廓包围对象的一部分时,图形对象与区域锁二者共同所处的状态称作半包围锁定;
定义2:全包围锁定
给定一个图形对象和一个区域锁,当区域锁的轮廓包围对象的全部时,图形对象与区域锁二者共同所处的状态称作全包围锁定;
定义3:相关包围锁定
当用户锁定一个区域时,用户不但同时锁定处于全包围锁定状态的对象,并且也同时锁定处于半包围锁定状态的对象,而不是只锁定其一部分;这样的锁定称作相关包围锁定;
定义4:相关包围对象集合REOS
给定一个用户的区域锁,所有与该区域锁处于相关包围锁定状态的图形对象都属于REOS;
2)图案设计用户User K拥有的锁权限是一个二元组{LockSetk region,LockSetk object},其中
LockSetk region是User k拥有的区域锁集合,该集合中的每一个元素由两部分组成,其一是User k拥有的区域本身,其二是该区域的相关包围对象集合REOS;LockSetk region的表示形式如下:
{[Region1 k,REOSregion1 k(Object11 k,Object12 k,Object13 k...)],[Region2 k,REOSregion2 k(Object21 k,Object22 k,Object23 k...)]...}
每一项的上标表示这个区域或对象的所有者;
LockSetk object是User k拥有的独立对象锁集合,这里的独立对象锁所指的是这个对象锁不属于任何一个区域锁;
3)重复锁定的处理方法
a.当用户锁定一个对象之后又锁定一个区域,而这个区域全包围或半包围这个锁定的对象:系统将提示用户是否把该对象的锁权限加入该区域;
b.当用户锁定一个区域之后又锁定另一个区域,而这两个区域是有重叠的部分:允许同一用户锁定重叠的区域;
c.当用户锁定一个区域及其对象,之后用户释放了其中一些对象,一段时间后用户又试图对它们加锁:系统将提示用户或者把该对象的锁权限加入该区域,或者独立为一个对象锁;
d.当用户锁定一个对象之后又锁定该对象:忽略第二次锁定;
e.当用户锁定一个区域之后又锁定该区域:忽略第二次锁定;
4)限制用户操作的处理方法
a.当一用户锁定一个对象:其他用户不可以对该对象进行编辑操作;
b.当一用户锁定一个区域:其他用户不可以移动对象进入该区域,其他用户新建的对象与该区域不能处于的半包围锁定或全包围锁定状态;其他用户不可以对区域锁定的对象进行编辑操作;其他用户锁定的区域不可以与该区域有相交的部分;
5)特殊情况的处理方法
存在这样一种情况,用户A的区域锁锁定一系列对象,用户B此时试图编辑这一系列对象中的单个对象Objecta;A可以只释放Objecta的权限;
存在另一种情况,用户A的区域锁已经锁定一系列对象(包括Objecta),用户B此时试图锁定另一个区域,而这个区域与Objecta处于相关包围锁定状态,采取处理是:Objecta的锁权限归属于A,允许A操作Objecta在B中移动的方式;加入B对Objecta的可等待机制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100607960A CN100346341C (zh) | 2005-09-16 | 2005-09-16 | 一种图案协同设计中的复杂加锁方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100607960A CN100346341C (zh) | 2005-09-16 | 2005-09-16 | 一种图案协同设计中的复杂加锁方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1741022A true CN1741022A (zh) | 2006-03-01 |
CN100346341C CN100346341C (zh) | 2007-10-31 |
Family
ID=36093409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100607960A Expired - Fee Related CN100346341C (zh) | 2005-09-16 | 2005-09-16 | 一种图案协同设计中的复杂加锁方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100346341C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100405360C (zh) * | 2006-06-23 | 2008-07-23 | 浙江大学 | 普适环境下协同设计中图形图像的自适应显示方法 |
CN100416552C (zh) * | 2006-06-23 | 2008-09-03 | 浙江大学 | 普适环境下图案协同设计中关注区域的预测方法 |
CN107864358A (zh) * | 2017-11-28 | 2018-03-30 | 上海掌门科技有限公司 | 一种视频通话中的共享对象操作方法 |
CN108304197A (zh) * | 2018-03-13 | 2018-07-20 | 广州市冰海网络技术有限公司 | 一种图案设计的加锁方法 |
CN110163555A (zh) * | 2019-04-11 | 2019-08-23 | 厦门亿力吉奥信息科技有限公司 | 协同制图管理方法、存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5339389A (en) * | 1991-12-31 | 1994-08-16 | International Business Machines Corporation | User selectable lock regions |
CN1300691C (zh) * | 2005-01-10 | 2007-02-14 | 浙江大学 | 图案协同设计中的系统锁的预测方法 |
CN1300682C (zh) * | 2005-01-27 | 2007-02-14 | 浙江大学 | 基于语义锁实现图案协同设计中的语义保持方法 |
-
2005
- 2005-09-16 CN CNB2005100607960A patent/CN100346341C/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100405360C (zh) * | 2006-06-23 | 2008-07-23 | 浙江大学 | 普适环境下协同设计中图形图像的自适应显示方法 |
CN100416552C (zh) * | 2006-06-23 | 2008-09-03 | 浙江大学 | 普适环境下图案协同设计中关注区域的预测方法 |
CN107864358A (zh) * | 2017-11-28 | 2018-03-30 | 上海掌门科技有限公司 | 一种视频通话中的共享对象操作方法 |
CN108304197A (zh) * | 2018-03-13 | 2018-07-20 | 广州市冰海网络技术有限公司 | 一种图案设计的加锁方法 |
CN110163555A (zh) * | 2019-04-11 | 2019-08-23 | 厦门亿力吉奥信息科技有限公司 | 协同制图管理方法、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100346341C (zh) | 2007-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100346341C (zh) | 一种图案协同设计中的复杂加锁方法 | |
Ginga et al. | Circular economy on construction and demolition waste: A literature review on material recovery and production | |
CN1027119C (zh) | 运动信号处理器 | |
CN1885948A (zh) | 视频编码的运动矢量空间预测方法 | |
CN101059870A (zh) | 一种基于属性直方图的图像分割方法 | |
CN1691068A (zh) | 用于重构三维图形数据的装置和方法 | |
CN1700238A (zh) | 在彩色数字图像和视频中分割出人体皮肤区域的方法 | |
CN101063969A (zh) | 构造布局平衡的带标记映像树的方法和系统 | |
CN101042698A (zh) | 一种关联规则及元规则的综合挖掘方法 | |
CN1967536A (zh) | 基于区域的多特征融合及多级反馈的潜伏语义图像检索方法 | |
CN1680978A (zh) | 确定对应于图像影像范围的运动矢量的方法和装置 | |
CN1240968A (zh) | 可预选扫描范围的推进式网络图像扫描控制装置 | |
Li et al. | Identifying technological competition situations for artificial intelligence technology-a patent landscape analysis | |
CN1797301A (zh) | 数字化信息搜索方法及其系统 | |
CN101075843A (zh) | 一种用于联合检测的同频相邻小区选择的方法及装置 | |
CN1105137A (zh) | 含处理器和计算机接口的存贮器区域组成的处理器系统 | |
CN1300683C (zh) | 图案协同设计中的语义一致性维护的方法 | |
CN1295635C (zh) | 信号处理方法及设备 | |
CN1300691C (zh) | 图案协同设计中的系统锁的预测方法 | |
CN108304197A (zh) | 一种图案设计的加锁方法 | |
CN1300682C (zh) | 基于语义锁实现图案协同设计中的语义保持方法 | |
CN100347709C (zh) | 基于最小自由度优先原则的非线性规划布局方法 | |
CN1604089A (zh) | 基于边的倒序树扫描线算法优化层次版图验证技术 | |
CN1176438C (zh) | 网络化制造协同支持工具 | |
CN101048560A (zh) | 具有分时段式专用空间的智能型建筑物 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071031 Termination date: 20150916 |
|
EXPY | Termination of patent right or utility model |