CN112040009A - 设计稿上传方法、系统、设备及存储介质 - Google Patents
设计稿上传方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN112040009A CN112040009A CN202011038889.4A CN202011038889A CN112040009A CN 112040009 A CN112040009 A CN 112040009A CN 202011038889 A CN202011038889 A CN 202011038889A CN 112040009 A CN112040009 A CN 112040009A
- Authority
- CN
- China
- Prior art keywords
- uploaded
- drawing board
- uploading
- screenshot
- creating
- 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
- 238000013461 design Methods 0.000 title claims abstract description 129
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000008859 change Effects 0.000 claims abstract description 30
- 238000012544 monitoring process Methods 0.000 claims abstract description 16
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 35
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种设计稿上传方法、系统、设备及存储介质,属于计算机技术领域,所述方法包括:监听用户在设计稿的每个画板中实施的操作,当解析出所监听到的操作为对所述画板中内容的变更操作时,对所述画板的当前版本标识进行更新;响应于所述用户的上传操作,根据所述上传操作确定所有待上传画板;对于每个待上传画板,根据所述待上传画板当前版本标识,判断所述待上传画板中的内容是否有变更,若所述待上传画板中的内容有变更,则将所述待上传画板加入到待上传画板集中;对所述待上传画板集中各个待上传画板进行解析并上传。本申请只对实际变更的画板进行上传,可以提升设计稿的上传速度,提高了用户体验和设计协作效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种设计稿上传方法、系统、设备及存储介质。
背景技术
在设计协作过程中,上传设计稿是进行设计协作的基础,设计稿的上传速度会影响协作效率和用户体验。通常一个设计稿中包含有很多画板,而现有技术中,对设计稿的每一次上传行为都是全量解析设计稿中所有的画板,严重影响设计稿的上传速度,用户需要等待很长时间才能获得设计稿预览连接,导致用户体验差以及协作效率低。
发明内容
本申请提供一种设计稿上传方法、系统、设备及存储介质,能够避免每一次上传时全量解析设计稿中所有的画板,提升用户体验和协作效率。
一方面,本申请提供了一种设计稿上传方法,所述方法包括:
监听用户在设计稿的每个画板中实施的操作,当解析出所监听到的操作为对所述画板中内容的变更操作时,对所述画板的当前版本标识进行更新;
响应于所述用户的上传操作,根据所述上传操作确定所有待上传画板;
对于每个待上传画板,根据所述待上传画板当前版本标识,判断所述待上传画板中的内容是否有变更,若所述待上传画板中的内容有变更,则将所述待上传画板加入到待上传画板集中;
对所述待上传画板集中各个待上传画板进行解析并上传。
另一方面提供了一种设计稿上传系统,所述系统包括上传客户端和设计稿管理服务端,其中,
所述设计稿管理服务端,用于监听用户在设计稿的每个画板中实施的操作,当解析出所监听到的操作为对所述画板中内容的变更操作时,对所述画板的当前版本标识进行更新;
所述上传客户端,用于将用户的上传操作发送至所述设计稿管理服务端;
所述设计稿管理服务端,用于响应于所述用户的上传操作,根据所述上传操作确定所有待上传画板;
所述设计稿管理服务端,还用于对于每个待上传画板,根据所述待上传画板当前版本标识,判断所述待上传画板中的内容是否有变更,并在所述待上传画板中的内容有变更的情况下,将所述待上传画板加入到待上传画板集中;
所述设计稿管理服务端,还用于对所述待上传画板集中各个待上传画板进行解析并上传。
另一方面提供了一种设计稿上传设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上所述的设计稿上传方法。
另一方面提供了一种计算机存储介质,其特征在于,所述计算机存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上所述的设计稿上传方法。
本申请提供的设计稿上传方法、系统、设备及存储介质,具有如下有益效果:
通过监听用户在每个画板中实施的操作,可以在画板内容有修改时,对画板的版本标识进行更新;在获取到待上传画板时,并不直接将待上传画板进行解析并上传,而是先通过版本标识判断待上传画板中的内容是否有变更,只有在待上传画板中的内容有变更的情况下,才对待上传画板进行解析并上传,解决了全量上传所导致的上传速度慢的问题,使用户等待的时间大幅减少,可以更快地获得设计稿的预览连接,提升了用户体验以及设计人员的设计协作效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种设计稿上传系统的结构示意图。
图2是本申请实施例提供的设计稿管理服务端的结构示意图。
图3是本申请实施例提供的一种设计稿上传方法的流程示意图。
图4是本申请实施例提供的另一种设计稿上传方法的流程示意图。
图5是本申请实施例提供的另一种设计稿上传方法的流程示意图。
图6是本申请实施例提供的对画板进行截图创建的流程示意图。
图7是本申请实施例提供的用户上传设计稿的界面示意图。
图8是本申请实施例提供的用户触发上传操作后的界面示意图。
图9是本申请实施例提供的设计稿上传方法的一个示例。
图10是本申请实施例提供的一种用于实现本申请实施例所提供的设计稿上传方法的设备的硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,其示出了本申请实施例提供的设计稿上传系统的结构示意图。如图1所示,该实施环境可以至少包括上传客户端110和设计稿管理服务端120,所述上传客户端110和所述设计稿管理服务端120可通过网络进行数据通信。
其中,
所述设计稿管理服务端120,用于监听用户在设计稿的每个画板中实施的操作,当解析出所监听到的操作为对所述画板中内容的变更操作时,对所述画板的当前版本标识进行更新;
所述上传客户端110,用于将用户的上传操作发送至所述设计稿管理服务端120;
所述设计稿管理服务端120,用于响应于所述用户的上传操作,根据所述上传操作确定所有待上传画板;
所述设计稿管理服务端120,还用于对于每个待上传画板,根据所述待上传画板当前版本标识,判断所述待上传画板中的内容是否有变更,并在所述待上传画板中的内容有变更的情况下,将所述待上传画板加入到待上传画板集中;
所述设计稿管理服务端120,还用于对所述待上传画板集中各个待上传画板进行解析并上传。
在本申请实施例中,上传客户端110可以为Sketch、PhotoShop或蓝湖等设计协作工具类似的协作工具,也可以为安装在Sketch、PhotoShop或蓝湖等设计协作工具中的插件,还可以为云工作台网页端等为设计人员提供设计协作的协作平台。
上传客户端110为用户提供图形用户界面,通过图形用户界面与设计人员进行交互,并基于画板实现设计,且上传客户端110支持对设计稿的上传操作的功能。上传客户端110将用户的上传操作发送至设计稿管理服务端120,以使设计稿管理服务端120基于用户的上传操作对需要上传的画板进行解析并存储。
在具体实施时,设计稿管理服务端120的结构可参照图2中所示。如图2所示,设计稿管理服务端120可以包括画板监听模块1201、第一更新模块1202、截图创建模块1203、待上传画板确定模块1204、画板变更确定模块1205、上传模块1206和第二更新模块1207。
设计稿管理服务端120通过画板监听模块1201监听用户在设计稿的每个画板中实施的操作,并对所监听到的操作进行解析,当解析出所监听到的操作为对画板中内容的变更操作时,向第一更新模块1202发送更新请求以及向截图创建模块1203发送截图创建请求。
第一更新模块1202接收到更新请求后,在本地存储文件中对画板的相关配置信息进行更新,例如当前版本标识。其中,本地存储文件是指上传客户端在初始化时所生成的,位于上传客户端本地目录中的文件,例如Sketch插件中的files、manifest.json等等。
截图创建模块1203接收到截图创建请求后,对画板进行截图创建操作,将画板对应的各类截图存储在本地存储文件中,并在截图完成后对画板的相关配置信息进行更新,例如截图创建标识。具体的,截图创建模块1203可通过获取画板的截图创建标识和当前版本标识,并根据截图创建标识和当前版本标识,判断画板是否满足截图创建条件;在画板满足截图创建条件的情况下,拼装截图任务,并将截图任务加入到任务队列中执行;在截图任务执行完成后,对画板的截图创建标识进行更新。
在具体实施时,若将最新更新时间作为当前版本标识,将截图创建时间作为已上传版本标识,则截图创建模块1203在根据截图创建标识和当前版本标识,判断画板是否满足截图创建条件时,可判断最新更新时间是否晚于截图创建时间,在最新更新时间晚于截图创建时间的情况下,判定该画板满足截图创建条件。
通常在上传设计稿时,需要对设计稿中各画板的相关截图进行存储,如果需要上传的画板过多,势必会影响上传速度。因而在画板的内容有变更的时就进行截图创建,并存储在本地存储文件中,在进行上传操作时可直接从本地存储文件中获取已创建的截图,可进一步提高上传速度。
用户在上传设计稿前,一般可以选择上传全部画板或上传所选画板,当用户选择需要上传的画板后,在上传客户端110中触发上传操作相应的功能。设计稿管理服务端120先基于用户的上传操作,通过待上传画板确定模块1204确定所有待上传画板;然后通过画板变更确定模块1205对每个待上传画板,根据该待上传画板当前版本标识,判断该待上传画板中的内容是否有变更,并在待上传画板中的内容有变更的情况下,将待上传画板加入到待上传画板集中;接着通过上传模块1206对待上传画板集中各个待上传画板进行解析并上传。
通过只对内容有变更的画板进行解析和上传,能够解决现有技术在对设计稿进行上传时,由于将所有待上传画板进行解析导致上传速度慢,从而影响用户体验和协作效率的问题。
在具体实施时,画板变更确定模块1205根据该待上传画板当前版本标识,判断该待上传画板中的内容是否有变更,可以通过将当前版本标识和已上传版本标识进行对比的方式,其中,已上传版本标识为该待上传画板最近一次已上传的版本标识。若将最新更新时间作为当前版本标识,将最后上传时间作为已上传版本标识,则画板变更确定模块1205在根据已上传版本标识和当前版本标识,判断待上传画板中的内容是否有变更时,可判断最新更新时间是否晚于最后上传时间,在最新更新时间晚于最后上传时间的情况下,判断待上传画板中的内容有变更。
在实际应用中,上传模块1206对待上传画板集中各个待上传画板进行解析并上传可以有多种方式,例如利用单线程以串行方式依次对待上传画板集中各个待上传画板执行解析并上传;或者,分别为待上传画板集中各个待上传画板配置线程,以并行方式为待上传画板集中各个待上传画板执行解析并上传。可以理解的,为了提升画板的上传速度,优选分别为各个待上传画板配置线程的方式。
为了确保本地存储文件中所存储的已上传画板对应的配置与线上存储文件一致,在上传模块1206完成对每个待上传画板的上传后,设计稿管理服务端120通过第二更新模块1207将已上传画板对应的配置信息进行更新,例如已上传版本标识、画板ID、画板尺寸等。其中,线上存储文件是指存储于存储设备中与画板对应的文件,存储设备可以是云存储设备,例如腾讯设计云。
本申请实施例提供的设计稿上传系统,通过监听用户在每个画板中实施的操作,可以在画板内容有修改时,对画板的版本标识进行更新;在获取到待上传画板时,并不直接将待上传画板进行解析并上传,而是先通过版本标识判断待上传画板中的内容是否有变更,只有在待上传画板中的内容有变更的情况下,才对待上传画板进行解析并上传,解决了全量上传所导致的上传速度慢的问题,进而提升了用户体验,以及提高了设计人员的设计协作效率。
以下介绍本申请的一种设计稿上传方法,图3是本申请实施例提供的一种设计稿上传方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图3所示,所述方法可以包括:
S301,监听用户在设计稿的每个画板中实施的操作,当解析出所监听到的操作为对所述画板中内容的变更操作时,对所述画板的当前版本标识进行更新。
设计稿中的每个画板都有其对应的版本标识,用以对画板的内容进行标记,版本标识是指对画板的版本进行标识的关键信息,例如版本标识可以是时间,也可以是按照预设规则设定的版本号等等。版本标识可以包括已上传版本标识和当前版本标识,已上传版本标识为画板最近一次已上传的版本标识,例如最后上传时间,即已上传版本标识指示画板的已上传版本;当前版本标识为画板最新的版本标识,例如最新更新时间,即当前版本标识指示对画板的最新版本。
为了使画板的当前版本标识能够指示画板中的内容是最新的,可以为设计稿中的每个画板创建一个监听任务,以监听用户在画板中实施的操作。当监听任务监听到用户在画板中进行操作时,对监听到的操作进行解析,以确定该操作是否是对画板中内容的变更操作,如果是,则对画板的当前版本标识进行更新。
在一些实施例中,响应于设计人员在上传客户端中增加新画板或删除画板的操作,设计稿管理服务端也可以为新画板创建监听任务或取消所删除画板对应的监听任务。
S302,响应于所述用户的上传操作,根据所述上传操作确定所有待上传画板。
上传操作是指用户选择上传全部画板或上传所选画板,以及触发上传功能等操作,设计稿管理服务端根据用户的上传操作确定出所有待上传画板。
S303,对于每个待上传画板,根据所述待上传画板当前版本标识,判断所述待上传画板中的内容是否有变更,若所述待上传画板中的内容有变更,则将所述待上传画板加入到待上传画板集中。
为了解决现有在对设计稿的上传时,由于将所有待上传画板进行解析导致上传速度慢,从而影响用户体验和协作效率的问题。设计稿管理服务端在确定出所有待上传画板后,并不直接将所有待上传画板进行解析,而先确定这些待上传画板中哪些画板的内容是否有变更,只针对内容有变更的画板进行解析。
本申请实施例中,设计稿管理服务端在完成画板的每一次上传操作后,将对画板的已上传版本标识进行更新;在检测到画板中的内容有变更时,将对画板的当前版本标识进行更新。从而,在判断待上传画板中的内容是否有变更时,可以根据已上传版本标识和当前版本标识进行判定。相应的,参照图4中所示,步骤S303可以包括:
S3031,对于每个待上传画板,获取所述待上传画板的已上传版本标识,根据所述已上传版本标识和所述当前版本标识,判断所述待上传画板中的内容是否有变更,若所述待上传画板中的内容有变更,则将所述待上传画板加入到待上传画板集中。
本申请实施例中,可以比较已上传版本标识与当前版本标识是否一致,如果不一致,则可判定待上传画板中的内容有变更。可以理解的,对于新增的画板,其对应的已上传版本标识可能是空值等无效值,设计稿管理服务端若获取到已上传版本标识是无效值,则判定待上传画板中的内容有变更。
在一些实施例中,若当前版本标识包括最新更新时间,已上传版本标识包括最后上传时间,则所述根据所述已上传版本标识和所述当前版本标识,判断所述待上传画板中的内容是否有变更,可以包括:判断所述最新更新时间是否晚于所述最后上传时间,在所述最新更新时间晚于所述最后上传时间的情况下,判定所述待上传画板中的内容有变更。
S304,对所述待上传画板集中各个待上传画板进行解析并上传。
本申请实施例中,设计稿管理服务端在对待上传画板集中各个待上传画板进行解析并上传时,可以包括两种方式:利用单线程以串行方式依次对待上传画板集中各个待上传画板执行解析并上传;或者,分别为待上传画板集中各个待上传画板配置线程,以并行方式为待上传画板集中各个待上传画板执行解析并上传。可以理解的,相比于串行方式,为各个待上传画板配置线程的并行方式,可以更迅速的响应用户的上传操作,从而具有更快的上传速度。
在线程执行完上传任务后,可以采用回调等方式对该线程对应画板的相关配置信息进行更新,以便于对画板的版本进行管理。其中,配置信息可以是画板的对象标识、上传时间、尺寸等信息。因而,参照图5中所示,在所述对所述待上传画板集中各个待上传画板进行解析并上传之后,所述方法还包括:
S305,在完成对每个待上传画板的上传之后,对所述待上传画板的已上传版本标识进行更新。
其中,所述已上传版本标识包括最后上传时间。
通常用户需要上传的画板数量很多,现有的上传方案在进行上传操作时将会对各个需要上传的画板进行截图创建,并将截图存储至画板相应目录。如果截图创建的步骤集中在上传时,势必会影响上传的速度。如果能够提前对画板进行截图创建,在进行上传操作时可直接获取已创建的截图,可以提高上传的速度。
鉴于此,在一些实施例中,在所述当解析出所监听到的操作为对所述画板中内容的变更操作时,还包括对所述画板进行截图创建操作的步骤。在画板中内容有变更时,才对画板进行截图创建,也可以避免对未变更的画板进行截图创建而导致资源浪费。具体如图6中,所述对所述画板进行截图创建操作,可以包括:
S601,获取所述画板的截图创建标识和当前版本标识。
其中,截图创建标识为最近一次对画板进行截图创建的标识,截图创建标识可以包括截图创建时间。
S602,根据所述截图创建标识和所述当前版本标识,判断所述画板是否满足截图创建条件。
本申请实施例中,为了防止重复截图等异常情况,不是一监听到画板中内容的变更就进行截图,而是先判定画板是否满足截图创建条件。具体实施时,可以将截图创建标识与当前版本标识进行对比,若当前版本标识和截图创建标识不一致,则可判定画板不满足截图创建条件。
在一些实施例中,若截图创建标识包括截图创建时间,当前版本标识包括最新更新时间,则所述根据所述截图创建标识和所述当前版本标识,判断所述画板是否满足截图创建条件,可以包括:判断所述最新更新时间是否晚于所述截图创建时间;若所述最新更新时间晚于所述截图创建时间,则所述画板满足所述截图创建条件。
S603,若所述画板满足所述截图创建条件,则拼装截图任务,并将所述截图任务加入到任务队列中执行。
每当画板中内容有变更时,设计稿管理服务端都会拼装截图任务,截图任务中包括画板的当前版本标识,例如最新更新时间。考虑到如果当前已有针对该画板的截图任务正在执行或待执行,为了避免重复截图,设计稿管理服务端可以对任务队列中的截图任务进行去重处理,以提升设计稿管理服务端的截图效率。具体的,当截图任务加入到任务队列中时,先将该截图任务与任务队列中待执行的截图任务或正在执行的截图任务进行对比,只执行当前版本标识指示最近一次对画板进行修改对应的截图任务。
以一个画板为例,新增的截图任务对应的当前版本标识为v5.0,任务队列中待执行的截图任务对应的当前版本标识也为v5.0,表明两次截图任务之间画板中内容并未变化,则不对新增的截图任务进行处理;若尚未执行的截图任务对应的当前版本标识为v4.0,则可以将尚未执行的截图任务从任务队列中剔除;或者,若任务队列中已有该画板的截图任务正在执行,但尚未执行完成,若该尚未执行完成的截图任务对应当前版本标识为v4.2,则可以停止执行该尚未执行完成的截图任务。
S604,在所述截图任务执行完成后,对所述画板的截图创建标识进行更新。
在对画板的截图任务执行完成后,设计稿管理服务端相应目录下就保存有与该画板最新内容一致的截图,在对待上传画板进行解析和上传时,可以直接获取对应的截图,而不需要对画板重新截图。其中,截图包括画板的缩略图、切图等,截图创建标识可以包括截图创建时间。
而为了确保待上传画板的截图是最新的,在获取所存储的截图时,可以先将截图创建标识与当前版本标识进行对比,例如可以将截图创建时间与最新更新时间进行比较,只获取截图创建时间晚于最新更新时间对应的截图。如果截图创建时间早于最新更新时间,说明该画板的截图创建任务执行出现异常,此时需要重新对该画板创建截图。
下面以上传客户端为Sketch插件、以最新更新时间作为当前版本标识、以截图创建时间作为截图创建标识,以及以最后上传时间作为已上传版本标识为例,对本申请实施例的设计稿上传方法进行详细阐述。
通常一个Sketch设计稿文件会比较大(常见的是几百兆),且设计稿中会有非常多画板(例如一个充值改版的设计稿文件就包含有几个百画板)。如图7所示,用户通过上传客户端上传设计稿时,可以选择上传选中的画板还是上传当前页中全部画板(图中示出当前页中包括253个画板);用户点击上传按钮后,设计稿管理服务端开始执行上传操作,同时设计稿管理服务端可以将上传的处理显示在上传客户端中,以告知用户上传的进度。如图8所示,上传设计稿时需要经历提取、标注等复杂过程才能生成设计稿的预览链接提供给用户。可以理解的,若全量解析选中画板或当前页中全部画板,用户需要等待很长时间才能获得预览连接,与用户协作的团队成员也需要很长时间才能预览设计稿,严重影响用户体验和协作效率。
Sketch插件启动时会初始化一个文件夹(files)和一个元信息文件(manifest.json)。manifest.json负责存储画板的关键元信息,例如主键ID,对象ID、画板ID,以及画板的最新更新时间、截图创建时间与最后上传时间等等;文件夹files内还包括artboards(存储画板的缩略图)、layers(存储导出的切图)、preview(存储sketch文件的缩略图)等多个截图文件夹分别用于存储各类截图。
如图9中所示,设计稿管理服务端在Stetch插件启动后,首先确保Sketch插件的目录结构是否正确,并加载manifest.json文件,以确保可以正确对manifest.json进行读写操作。通过读取manifest.json确认设计稿所包含的画板,为每个画板创建监听任务,通常可以通过画板ID、画板尺寸以及画板格式等确定一个画板。
画板的监听任务可以监听用户对画板实施的修改操作,一旦监听到画板的内容有修改,将对manifest.json中该画板的最新更新时间进行更新。同时拼装截图任务,将任务扔进队列以导出该画板最新的缩略图并存储于相应截图文件夹中。在截图完成后,对manifest.json中存储的该画板的截图创建时间进行更新。
截图文件夹是指files下面对应的子文件夹,例如artboards文件夹、layers文件夹以及preview文件夹。在执行截图时,不仅要导出面板的缩略图和切图,还可以导出整个sketch文件的缩略图,以确保preview中所存储的sketch文件的缩略图是最新的。
当用户触发上传功能时,设计稿管理服务端执行上传操作。在执行上传操作过程中,先根据上传操作确定待上传画板;然后针对每个待上传画板,将manifest.json中该待上传画板的最后上传时间和最新更新时间进行比较,若最新更新时间晚于最后上传时间,则对该画板进行解析和上传。在解析和上传时,直接从截图文件夹中获取预先的截图进行截图的存储。
通过对比本地版本与线上版本的版本标识等主要字段的对比,能够达到检测Sketch设计稿变更的画板的差量上传,提升sketch设计稿上传至云端的速度,特别是对于用户有多次上传操作,而这多次上传操作中,有的画板并未发生变更的情况下,上传速度的提升尤其明显。
为了说明本申请实施例所提供的设计稿上传方法在上传速度的提升,下面将用户在不同上传场景下,对使用本方案与不使用本方案时的上传速度进行测试。每种场景下均进行N(N大于等于2)次上传,相应的测试结果如表1至表4所示。其中,表1对应的场景为每次上传不更改画板,表2对应的场景为每次上传更改少量画板(例如小于画板总数1/4),表3对应的场景为每次上传更改一半左右数量画板,表4对应的场景为每次上传更改全部画板。
表1:每次上传不更改画板
场景A | 未使用本方案 | 使用本方案 |
第一次上传 | 2分36秒 | 2分35秒 |
第二次上传 | 2分39秒 | 12秒 |
··· | ··· | ··· |
第N次上传 | 约2分37秒 | 约12秒 |
表2:每次上传更改少量画板
场景A | 未使用本方案 | 使用本方案 |
第一次上传 | 2分37秒 | 2分36秒 |
第二次上传 | 2分35秒 | 42秒 |
··· | ··· | ··· |
第N次上传 | 约2分37秒 | 40秒 |
表3:每次上传更改一半左右数量画板
场景A | 未使用本方案 | 使用本方案 |
第一次上传 | 2分36秒 | 2分35秒 |
第二次上传 | 2分35秒 | 1分18秒 |
··· | ··· | ··· |
第N次上传 | 约2分37秒 | 约1分17秒 |
表4:每次上传更改全部画板
场景A | 未使用本方案 | 使用本方案 |
第一次上传 | 2分35秒 | 2分36秒 |
第二次上传 | 2分38秒 | 2分39秒 |
··· | ··· | ··· |
第N次上传 | 约2分37秒 | 约2分37秒 |
由上述测试结果可见,在第一次上传后有了基础的信息缓存后,后续的第N次上传就有了可对比方案,除每个画板都被修改的极端情况外,可以达到90%以上的速度提升。
上传速度的提升可以使用户更快地获得设计稿的预览连接,并将该预览连接快速的分项给需要进行协作的团队成员,如产品经理、开发工程师等。可理解的,这种差量上传设计稿的方式,不仅可以有效提升产品涉及协作上下游的各角色的工作效率,还可以避免由于等待时间过长而导致用户放弃使用该产品,进一步有助于设计产品(例如设计腾讯设计云)的发展。
本申请实施例还提供了一种设计稿上传设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现上述方法实施例所述的设计稿上传方法。
进一步地,图10示出了一种用于实现本申请实施例所提供的设计稿上传方法的设备的硬件结构示意图,所述设备可以参与构成或包含本申请实施例所提供的系统。如图10所示,设备10可以包括一个或多个(图中采用1002a、1002b,……,1002n来示出)处理器1002(处理器1002可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1004、以及用于通信功能的传输装置1006。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,设备10还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。
应当注意到的是上述一个或多个处理器1002和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到设备10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器1004可用于存储应用软件的软件程序以及模块,如本申请实施例中所述的方法对应的程序指令/数据存储装置,处理器1002通过运行存储在存储器1004内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种设计稿上传方法。存储器1004可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1004可进一步包括相对于处理器1002远程设置的存储器,这些远程存储器可以通过网络连接至设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括设备10的通信供应商提供的无线网络。在一个实例中,传输装置1006包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置1006可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与设备10(或移动设备)的用户界面进行交互。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有至少一条指令或至少一段程序,该至少一条指令或至少一段程序由处理器加载并执行以实现上述方法实施例提供的设计稿上传方法。
可选地,在本实施例中,上述计算机存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
由上述本申请实施例提供的设计稿上传方法、系统、设备及存储介质的实施例可见,本申请通过监听用户在每个画板中实施的操作,可以在画板内容有修改时,对画板的版本标识进行更新;在获取到待上传画板时,并不直接将待上传画板进行解析并上传,而是先通过版本标识判断待上传画板中的内容是否有变更,只有在待上传画板中的内容有变更的情况下,才对待上传画板进行解析并上传,解决了全量上传所导致的上传速度慢的问题,使用户等待的时间大幅减少,可以更快地获得设计稿的预览连接,提升了用户体验以及设计人员的设计协作效率。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述说明已经充分揭露了本申请的具体实施方式。需要指出的是,熟悉该领域的技术人员对本申请的具体实施方式所做的任何改动均不脱离本申请的权利要求书的范围。相应地,本申请的权利要求的范围也并不仅仅局限于前述具体实施方式。
Claims (10)
1.一种设计稿上传方法,其特征在于,所述方法包括:
监听用户在设计稿的每个画板中实施的操作,当解析出所监听到的操作为对所述画板中内容的变更操作时,对所述画板的当前版本标识进行更新;
响应于所述用户的上传操作,根据所述上传操作确定所有待上传画板;
对于每个待上传画板,根据所述待上传画板当前版本标识,判断所述待上传画板中的内容是否有变更,若所述待上传画板中的内容有变更,则将所述待上传画板加入到待上传画板集中;
对所述待上传画板集中各个待上传画板进行解析并上传。
2.根据权利要求1所述的设计稿上传方法,其特征在于,所述根据所述待上传画板的当前版本标识,判断所述待上传画板中的内容是否有变更,包括:
获取所述待上传画板的已上传版本标识,所述已上传版本标识为所述待上传画板最近一次已上传的版本标识;
根据所述已上传版本标识和所述当前版本标识,判断所述待上传画板中的内容是否有变更。
3.根据权利要求2所述的设计稿上传方法,其特征在于,所述当前版本标识包括最新更新时间,所述已上传版本标识包括最后上传时间;
所述根据所述已上传版本标识和所述当前版本标识,判断所述待上传画板中的内容是否有变更,包括:
判断所述最新更新时间是否晚于所述最后上传时间;
若所述最新更新时间晚于所述最后上传时间,则所述待上传画板中的内容有变更。
4.根据权利要求1所述的设计稿上传方法,其特征在于,在所述当解析出所监听到的操作为对所述画板中内容的变更操作时,还包括对所述画板进行截图创建操作的步骤;
所述对所述画板进行截图创建操作,包括:
获取所述画板的截图创建标识和当前版本标识;
根据所述截图创建标识和所述当前版本标识,判断所述画板是否满足截图创建条件;
若所述画板满足所述截图创建条件,则拼装截图任务,并将所述截图任务加入到任务队列中执行;
在所述截图任务执行完成后,对所述画板的截图创建标识进行更新。
5.根据权利要求4所述的设计稿上传方法,其特征在于,所述截图创建标识包括截图创建时间,所述当前版本标识包括最新更新时间;
所述根据所述截图创建标识和所述当前版本标识,判断所述画板是否满足截图创建条件,包括:
判断所述最新更新时间是否晚于所述截图创建时间;
若所述最新更新时间晚于所述截图创建时间,则所述画板满足所述截图创建条件。
6.根据权利要求1所述的方法,其特征在于,所述对所述待上传画板集中各个待上传画板进行解析并上传,包括:
利用单线程以串行方式依次对所述待上传画板集中各个待上传画板执行解析并上传;或
分别为所述待上传画板集中各个待上传画板配置线程,以并行方式为所述待上传画板集中各个待上传画板执行解析并上传。
7.根据权利要求1所述的设计稿上传方法,其特征在于,在所述对所述待上传画板集中各个待上传画板进行解析并上传之后,所述方法还包括:
在完成对每个待上传画板的上传之后,对所述待上传画板的已上传版本标识进行更新。
8.一种设计稿上传系统,其特征在于,所述系统包括上传客户端和设计稿管理服务端,其中,
所述设计稿管理服务端,用于监听用户在设计稿的每个画板中实施的操作,当解析出所监听到的操作为对所述画板中内容的变更操作时,对所述画板的当前版本标识进行更新;
所述上传客户端,用于将用户的上传操作发送至所述设计稿管理服务端;
所述设计稿管理服务端,用于响应于所述用户的上传操作,根据所述上传操作确定所有待上传画板;
所述设计稿管理服务端,还用于对于每个待上传画板,根据所述待上传画板当前版本标识,判断所述待上传画板中的内容是否有变更,并在所述待上传画板中的内容有变更的情况下,将所述待上传画板加入到待上传画板集中;
所述设计稿管理服务端,还用于对所述待上传画板集中各个待上传画板进行解析并上传。
9.一种设计稿上传设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1-7所述的设计稿上传方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-7所述的设计稿上传方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011038889.4A CN112040009B (zh) | 2020-09-28 | 2020-09-28 | 设计稿上传方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011038889.4A CN112040009B (zh) | 2020-09-28 | 2020-09-28 | 设计稿上传方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112040009A true CN112040009A (zh) | 2020-12-04 |
CN112040009B CN112040009B (zh) | 2024-01-09 |
Family
ID=73573917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011038889.4A Active CN112040009B (zh) | 2020-09-28 | 2020-09-28 | 设计稿上传方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112040009B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103457973A (zh) * | 2012-06-01 | 2013-12-18 | 深圳市腾讯计算机系统有限公司 | 一种图片上传方法、系统、图片上传客户端及网络服务器 |
CN105610878A (zh) * | 2014-10-30 | 2016-05-25 | 腾讯科技(深圳)有限公司 | 目录上传方法、数据发布方法、终端及服务器 |
CN106446026A (zh) * | 2016-08-30 | 2017-02-22 | 广联达科技股份有限公司 | 文件管理方法及文件管理系统 |
US20170161313A1 (en) * | 2015-12-08 | 2017-06-08 | Sap Se | Detection and Resolution of Conflicts in Data Synchronization |
CN108234554A (zh) * | 2016-12-15 | 2018-06-29 | 北京金山云网络技术有限公司 | 一种云文件编辑方法及装置 |
US10126927B1 (en) * | 2013-03-15 | 2018-11-13 | Study Social, Inc. | Collaborative, social online education and whiteboard techniques |
CN109840087A (zh) * | 2018-12-29 | 2019-06-04 | 北京三快在线科技有限公司 | 界面设计系统及方法、计算机可读存储介质 |
-
2020
- 2020-09-28 CN CN202011038889.4A patent/CN112040009B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103457973A (zh) * | 2012-06-01 | 2013-12-18 | 深圳市腾讯计算机系统有限公司 | 一种图片上传方法、系统、图片上传客户端及网络服务器 |
US10126927B1 (en) * | 2013-03-15 | 2018-11-13 | Study Social, Inc. | Collaborative, social online education and whiteboard techniques |
CN105610878A (zh) * | 2014-10-30 | 2016-05-25 | 腾讯科技(深圳)有限公司 | 目录上传方法、数据发布方法、终端及服务器 |
US20170161313A1 (en) * | 2015-12-08 | 2017-06-08 | Sap Se | Detection and Resolution of Conflicts in Data Synchronization |
CN106446026A (zh) * | 2016-08-30 | 2017-02-22 | 广联达科技股份有限公司 | 文件管理方法及文件管理系统 |
CN108234554A (zh) * | 2016-12-15 | 2018-06-29 | 北京金山云网络技术有限公司 | 一种云文件编辑方法及装置 |
CN109840087A (zh) * | 2018-12-29 | 2019-06-04 | 北京三快在线科技有限公司 | 界面设计系统及方法、计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
生拥宏;刘川意;鞠大鹏;汪东升;: "差量存储的集中式文件级连续数据保护方法", 计算机科学与探索, no. 04 * |
Also Published As
Publication number | Publication date |
---|---|
CN112040009B (zh) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112261118B (zh) | 多媒体数据的异常检测方法、终端及服务器 | |
EP3029566A1 (en) | Application packaging device and method | |
CN107807815B (zh) | 分布式处理任务的方法和装置 | |
CN111400186A (zh) | 性能测试方法及系统 | |
CN102663073A (zh) | 基于被下载文件进行推荐的方法及系统 | |
CN110716848A (zh) | 数据收集方法、装置、电子设备及存储介质 | |
CN111190823A (zh) | Ui自动化测试方法、电子装置及计算机可读存储介质 | |
CN109408361A (zh) | Monkey测试复原方法、装置、电子设备及计算机可读存储介质 | |
CN107203464B (zh) | 业务问题的定位方法以及装置 | |
CN110532559B (zh) | 规则的处理方法及装置 | |
CN105550179A (zh) | 一种网页收藏方法和浏览器插件 | |
CN115617780A (zh) | 数据导入方法、装置、设备及存储介质 | |
CN111813377A (zh) | 一种自动生成应用程序的方法及装置 | |
CN115392501A (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN115268964A (zh) | 一种数据回注方法、系统、电子设备及可读存储介质 | |
CN113190286B (zh) | 动态远程加载功能插件的mes系统、加载方法、终端及介质 | |
JP2017016507A (ja) | テスト管理システムおよびプログラム | |
CN110737458A (zh) | 一种代码更新方法和相关装置 | |
CN104216820A (zh) | 一种浏览器性能测试方法、装置及服务器 | |
CN111435329A (zh) | 一种自动化测试方法和装置 | |
CN112040009A (zh) | 设计稿上传方法、系统、设备及存储介质 | |
CN114466387B (zh) | 基站的配置文件的更新方法、装置、存储介质和电子装置 | |
CN114757157B (zh) | 用于生成航空器工包的方法、装置、设备和介质 | |
CN111428117A (zh) | 应用程序的数据获取方法和装置 | |
CN112787839B (zh) | 端口描述的修改方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |