CN113127419B - 文件检出方法、装置、计算机设备及存储介质 - Google Patents
文件检出方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113127419B CN113127419B CN201911397215.0A CN201911397215A CN113127419B CN 113127419 B CN113127419 B CN 113127419B CN 201911397215 A CN201911397215 A CN 201911397215A CN 113127419 B CN113127419 B CN 113127419B
- Authority
- CN
- China
- Prior art keywords
- file
- server
- working space
- target text
- target
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
Abstract
本申请公开了一种文件检出方法、装置、计算机设备及存储介质,属于计算机技术领域。所述方法由计算机设备执行,所述方法包括:检测当前目录下是否存在目标文本文件,响应于当前目录下未存在目标文本文件,获取计算机设备的唯一标识以及当前目录;将计算机设备的唯一标识以及当前目录进行组合,生成目标工作空间名称;根据目标工作空间名称,在当前目录下创建目标文本文件;根据目标文本文件,从服务器中将待检出文件检出至当前目录下。本申请通过在计算机设备按照自身的唯一标识以及当前目录生成目标工作空间名称,并创建目标文本文件,根据目标文本文件将服务器的待检出文件进行检出,实现了自动化生成目标工作空间名称,提高了文件检出效率。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种文件检出方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术领域的发展,服务器与计算机设备之间的交互越来越多,许多计算机设备需要从服务器中检出文件、导出文件等。
比如,对于版本控制的服务器来说,服务器中可以存储有不同软件的不同版本的源代码文件,与服务器相连的各个计算机设备可以从服务器中检出这些源代码文件。在相关技术中,计算机设备从服务器中检出源代码文件时,往往需要服务器给该计算机设备创建一个工作空间,通过该工作空间记录该计算机设备检出的文件状态的数据集合。其中,该工作空间的命名是由服务器随机分配的。
对于上述相关技术中的方案,随着计算机设备的增多,在各个计算机设备组成的集群环境下往往需要用户手动创建工作空间,造成文件检出的自动化效率低的问题。
发明内容
本申请实施例提供了一种文件检出方法、装置、计算机设备及存储介质,可以提高计算机设备从服务器中检出文件时的自动化率,使得对创建的工作空间进行维护的方式更加简洁。所述技术方案如下:
一方面,本申请实施例提供了一种文件检出方法,所述方法由计算机设备执行,所述方法包括:
检测当前目录下是否存在目标文本文件,所述当前目录是将所述文件从服务器中检出至所述计算机设备本地时的路径,所述目标文本文件中包含工作空间名称,所述工作空间名称是所述服务器对所述当前目录创建的记录所述当前目录下的本地文件状态的数据集合的名称;
响应于当前目录下未存在所述目标文本文件,获取所述计算机设备的唯一标识以及所述当前目录;
将所述计算机设备的唯一标识以及所述当前目录进行组合,生成目标工作空间名称;
根据所述目标工作空间名称,在所述当前目录下创建所述目标文本文件;
根据所述目标文本文件,从服务器中将待检出文件检出至所述当前目录下。
另一方面,本申请实施例提供了一种文件检出装置,所述装置用于计算机设备中,所述装置包括:
文件检测模块,用于检测当前目录下是否存在目标文本文件,所述当前目录是将所述文件从服务器中检出至所述计算机设备本地时的路径,所述目标文本文件中包含工作空间名称,所述工作空间是所述服务器对所述当前目录创建的用于记录所述当前目录下的本地文件状态的数据集合;
第一获取模块,用于响应于当前目录下未存在所述目标文本文件,获取所述计算机设备的唯一标识以及所述当前目录;
名称生成模块,用于将所述计算机设备的唯一标识以及所述当前目录进行组合,生成目标工作空间名称;
文件创建模块,用于根据所述目标工作空间名称,在所述当前目录下创建所述目标文本文件;
文件检出模块,用于根据所述目标文本文件,从服务器中将待检出文件检出至所述当前目录下。
可选的,所述装置还包括:
第一指令生成模块,用于响应于当前目录下未存在所述目标文本文件,生成删除指令,所述删除指令用于指示所述服务器删除第一工作空间,所述第一工作空间是所述服务器中存在的与所述当前目录有唯一对应关系的工作空间;
第一指令发送模块,用于向所述服务器发送所述删除指令;
第一消息接收模块,用于接收所述服务器发送的删除完成消息,所述删除完成消息用于指示所述服务器已经将所述第一工作空间删除。
可选的,所述装置还包括:
第一读取模块,用于在所述第一消息接收模块接收所述服务器发送的删除完成消息之后,读取所述目标文本文件中包含的所述目标工作空间名称;
第二指令生成模块,用于根据所述目标工作空间名称,生成创建指令,所述创建指令用于指示所述服务器根据所述目标工作空间名称创建第二工作空间;
第二指令发送模块,用于向所述服务器发送所述创建指令。
第二消息接收模块,用于接收所述服务器发送的创建完成消息,所述创建完成消息用于指示所述服务器创建了名称为所述目标工作空间名称的所述第二工作空间;
可选的,所述目标文本文件中还包含工作空间配置信息,所述工作空间配置信息用于描述所述文件从服务器中检出至所述当前目录下时的文件选项;
所述文件创建模块,用于根据所述目标工作空间名称以及所述工作空间配置信息,在所述当前目录下创建所述目标文本文件。
可选的,所述装置还包括:
第二读取模块,用于响应于当前目录下存在所述目标文本文件,读取所述目标文本文件中包含的所述工作空间的名称以及所述工作空间配置信息;
所述文件检出模块,用于按照所述工作空间的名称以及所述工作空间配置信息,从所述服务器中将所述待检出文件检出至所述当前目录下。
可选的,所述计算机设备在客户端中登录有第一账号,所述客户端是所述服务器对应的客户端,所述装置还包括:
时长检测模块,用于检测所述第一账号的登录所述服务器的时长与预设时长的大小关系;
重新登录模块,用于响应于所述时长大于所述预设时长,将所述第一账号注销并重新登录。
可选的,所述计算机设备的唯一标识是所述计算机设备的网际互连协议IP地址,所述计算机设备的媒体存取控制MAC地址或者所述计算机设备的主机名中的任意一种。
又一方面,本申请实施例还提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的文件检出方法。
又一方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的文件检出方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
计算机设备通过检测当前目录下是否存在目标文本文件;响应于当前目录下未存在目标文本文件,获取计算机设备的唯一标识以及当前目录;将计算机设备的唯一标识以及当前目录进行组合,生成目标工作空间名称;根据目标工作空间名称,在当前目录下创建目标文本文件;根据目标文本文件,从服务器中将待检出文件检出至当前目录下。本申请通过在计算机设备按照自身的唯一标识以及当前目录生成目标工作空间名称,并创建目标文本文件,根据目标文本文件将服务器的待检出文件进行检出,实现了自动化生成目标工作空间名称,提高了文件检出效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一示例性实施例提供的一种版本控制系统的结构示意图;
图2是本申请一示例性实施例提供的一种文件检出方法的方法流程图;
图3是本申请一示例性实施例提供的一种文件检出方法的方法流程图;
图4是本申请一示例性实施例提供的一种计算机设备进行文件检出的流程图;
图5是本申请一示例性实施例提供的一种文件检出装置的结构方框图;
图6是本申请一示例性实施例提供的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请提供的方案,可以用于在程序代码开发过程中对某个源代码文件生成测试用例的现实场景中。为了便于理解,下面首先对一些名词术语以及应用场景进行简单介绍。
1)计算机集群:简称集群,是一种计算机系统,通过一组松散集成的计算机软件或硬件连接起来高度紧密地协作完成计算工作。其也可以被看做是一个计算机设备。通常通过快速局域网进行连接,并且可以通过各个计算机设备的主机名来区分不同的计算机节点。
2)版本控制:是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。
3)版本控制系统:一种记录一个或者若干文件内容变化,以便查阅这些文件变化情况或者修订情况的系统。常见的有SVN(Subversion),Git(分布式版本控制系统),Perforce等。
3)Perforce:一种特定的版本控制系统软件,简称为P4。
4)P4工作空间:是Perforce系统中用于记录本地文件状态的数据集合。该数据集合描述了本地文件是否更新,远程仓库文件到本地路径,以及本地工作目录等属性。在使用P4时,必须先创建P4工作空间,然后才能与远程仓库进行文件同步。其中,不同的P4工作空间通过自身的工作空间名称来进行区分,从而保证唯一性。
5)3D(3Dimensions,三维)引擎:是将现实中的物质抽象为多边形或者各种曲线等表现形式,在计算机中进行相关计算并输出最终图像的算法实现的集合。
6)虚幻引擎4(Unreal Engine 4,UE4):3D引擎的一种,是一个面向三维游戏和个人电脑的完整的游戏开发平台,提供有游戏开发时需要的核心技术、数据生成工具和基础支持。
随着计算机领域的发展,大数据分析、处理等都离不开计算机设备,计算机设备除了可以提供大数据分析等功能之外,还可以将各个数据在显示屏中进行展示。
请参考图1,其示出了本申请一示例性实施例提供的一种计算机设备与服务器的交互示意图。如图1所示,其中包含了若干个计算机设备110,服务器120。
可选的,上述计算机设备100可以是安装服务器120对应的客户端的终端设备,比如,该计算机设备可以是手机、平板电脑、电子书阅读器、智能眼镜、智能手表、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑和台式计算机等等。可选的,上述若干个计算机设备也可以组成一个计算机集群。
可选的,服务器120可以是一台服务器,或者由若干台服务器,或者是一个虚拟化平台,或者是一个云计算服务中心。可选的,服务器120也可以是一个版本控制系统等。
可选的,计算机设备110还可以与服务器120通过通信网络相连。其中,该通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
计算机设备100也可以通过与服务器120之间的通信网络,将服务器120中的文件检出至计算机设备中。
为了提高计算机设备从服务器中检出文件时的自动化率,使得对创建的工作空间进行维护的方式更加简洁。,本申请实施例提供了一种文件检出方法。请参考图2,其示出了本申请一示例性实施例提供的一种文件检出方法的方法流程图,该方法可以应用于上述图1所示的版本控制系统中,由该版本控制系统中的计算机设备执行。如图2所示,该文件检出方法可以包括如下几个步骤。
步骤201,检测当前目录下是否存在目标文本文件,当前目录是将文件从服务器中检出至计算机设备本地时的路径,目标文本文件中包含工作空间的名称,工作空间是服务器针对当前目录创建的用于记录当前目录下的本地文件状态的数据集合。
步骤202,响应于当前目录下未存在目标文本文件,获取计算机设备的唯一标识以及当前目录。
步骤203,将计算机设备的唯一标识以及当前目录进行组合,生成目标工作空间名称。
步骤204,根据目标工作空间名称,在当前目录下创建目标文本文件。
步骤205,根据目标文本文件,将文件从服务器中检出至当前目录下。
综上所述,计算机设备通过检测当前目录下是否存在目标文本文件;响应于当前目录下未存在目标文本文件,获取计算机设备的唯一标识以及当前目录;将计算机设备的唯一标识以及当前目录进行组合,生成目标工作空间名称;根据目标工作空间名称,在当前目录下创建目标文本文件;根据目标文本文件,从服务器中将待检出文件检出至当前目录下。本申请通过在计算机设备按照自身的唯一标识以及当前目录生成目标工作空间名称,并创建目标文本文件,根据目标文本文件将服务器的待检出文件进行检出,实现了自动化生成目标工作空间名称,提高了文件检出效率。
在一种可能实现的方式中,上述目标文本文件中还需要包含有工作空间配置信息,该工作空间配置信息用于描述文件从服务器中检出至当前目录下时的文件选项。比如,该文件选项可以是在对检出文件进行修订时保留工作空间内的文件的可写性,或者,在对检出文件进行修订时覆盖工作空间中的可写文件,或者,在对检出文件进行修订或者提交修订时压缩文件来加快慢速连接,或者,将检出文件修改时间设置为提交者工作区中的文件修改时间,或者,检出文件内容为空时删除工作区目录等选项。
计算机设备在根据目标工作空间名称,在当前目录下创建目标文本文件时,可以读取计算机设备内预先设置的脚本文件,获取到这些配置信息,并将这些配置信息和上述得到的目标工作空间名称一起作为工作空间信息写在目标文本文件内。
请参考图3,其示出了本申请一示例性实施例提供的一种文件检出方法的方法流程图,该方法可以应用于上述图1所示的版本控制系统中,由该版本控制系统中的计算机设备执行。如图3所示,该文件检出方法可以包括如下几个步骤。
步骤301,检测当前目录下是否存在目标文本文件,当前目录是将待检出文件从服务器中检出至计算机设备本地时的路径,目标文本文件中包含工作空间的名称,工作空间是服务器针对当前目录创建的用于记录当前目录下的本地文件状态的数据集合。
可选的,本地文件状态可以是修订、删除、更新、同步等状态。待检出文件可以是服务器中存储的一个软件源代码,比如,一个软件的各个不同版本的源代码都可以作为计算机设备的待检出文件。
可选的,计算机设备在将待检出文件检出时,需要在计算机设备中定义待检出文件检出的本地路径,该本地路径是当前目录。其中,计算机设备从服务器中将某个文件进行检出时,服务器可以针对此次检出的路径在服务器侧生成一个工作空间,并以计算机设备的唯一标识以及当前目录的组合,作为该工作空间的名称。相应的,当前目录下可以通过目标文本文件记录该工作空间。
计算机设备在相同的当前目录下,从服务器检出文件时,如果计算机设备的当前目录下存在目标文本文件,说明服务器侧对应当前目录创建有工作空间,计算机设备可以利用该创建的工作空间执行待检出文件的检出。
如果计算机设备的当前目录下不存在目标文本文件,说明服务器侧尚未对应当前目录创建有工作空间,如果计算机设备需要执行文件的检出操作,需要在服务器侧针对当前目录创建一个工作空间。或者,如果计算机设备的当前目录下不存在目标文本文件,也可能说明计算机设备可能将之前检出的文件进行了删除,需要在服务器侧将之前创建的工作空间进行删除,并且对应当前目录重新创建工作空间,从而执行文件的检出。
比如,上述服务器是Perforce的服务器,当前目录下检测的目标文本文件可以是.Perforce\p4client.txt文件。
步骤302,响应于当前目录下未存在目标文本文件,获取计算机设备的唯一标识以及当前目录。
当计算机设备检测到自身的当前目录下没有该目标文本文件时,计算机设备可以获取自身的唯一标识以及当前目录。可选的,计算机设备的唯一标识是计算机设备的IP(Internet Protocol,网际互连协议)地址,计算机设备的MAC地址(Media Access ControlAddress,媒体存取控制位址)或者计算机设备的主机名中的任意一种。
比如,以计算机设备可以获取自身的唯一标识是计算机设备的主机名为例,在Windows平台下,计算机设备的主机名为:Test-PC1,当前目录为:C:\Users\Test\Desktop\TestProject。则计算机设备可以获取到自身的主机名和当前目录。
可选的,上述Windows平台下可以通过如下脚本实现获取自身的主机名和当前目录:
for/F"usebackq delims="%%i in(`hostname`)do set HOSTNAME=%%i//获取主机名;
set"CURRENT_PATH=%~dp0"//获取工程所在目录;
set"CURRENT_PATH=%CURRENT_PATH::=%"//获取工程所在目录;
set"CURRENT_PATH=%CURRENT_PATH:\=_%"//获取工程所在目录;
set"CURRENT_PATH=%CURRENT_PATH:~0,-1%"//获取工程所在目录。
步骤303,将计算机设备的唯一标识以及当前目录进行组合,生成目标工作空间名称。
可选的,计算机设备可以将获取到的计算机设备的唯一标识以及当前目录进行组合,并将组合的结果作为将要在服务器侧针对当前目录生成工作空间的名称。
可选的,以服务器是Perforce的服务器,上述创建的工作空间也可以称为P4工作空间。计算机设备可以按照P4工作空间的命名规则,将获取到的计算机设备的唯一标识以及当前目录进行组合,并生成合法的目标工作空间名称。
可选的,仍以计算机设备获取的计算机设备的主机名为:Test-PC1,当前目录为:C:\Users\Test\Desktop\TestProject举例,计算机设备生成的目标工作空间名称为:Test-PC1-C_User_Test_Desktop_TestProject。其中,计算机设备将当前目录中的“\”统一替换为“_”。可选的,计算机设备也可以将当前目录中的“\”统一替换为P4工作空间允许的其他合法的字符(比如,$,&,-等),本申请实施例对此并不加以限定。
可选的,上述生成目标工作空间名称的代码可以如下:
set"P4CLIENT=%HOSTNAME%-%CURRENT_PATH%"//将P4工作空间名称设置为主机名+当前目录。
在一种可能实现的方式中,计算机设备还可以响应于当前目录下未存在目标文本文件,生成删除指令,删除指令用于指示服务器删除第一工作空间,第一工作空间是服务器中存在的与当前目录有唯一对应关系的工作空间;并向服务器发送删除指令;然后接收服务器发送的删除完成消息,删除完成消息用于指示服务器已经将第一工作空间删除。
即,如果当前目录下未存在目标文本文件,表示当前目录对应的服务器中的工作空间的文件已经从计算机设备的本地删除,计算机设备可以尝试通知服务器,让服务器将当前目录下对应的工作空间也删除。在一种可能实现的方式中,上述删除指令中可以包含上述生成的目标工作空间名称,让服务器可以通过该目标工作空间名称,将服务器中具有与目标工作空间名称相同名称的工作空间删除,从而实现将服务器中存在的与当前目录有唯一对应关系的工作空间删除。相应的,服务器也可以在删除完成后,将删除完成消息告知计算机设备,计算机设备根据该删除完成消息得知服务器已经将第一工作空间删除。
在一种可能实现的方式中,服务器在接收到删除指令之前,已经将第一工作空间删除了,此时,服务器还可以通过删除指令中包含的当前目录,在服务器中查找是否存在第一工作空间,如果未查找到第一工作空间,服务器也可以向计算机设备返回删除完成消息,从而使得计算机设备得知服务器已经将第一工作空间删除。
步骤304,读取预先配置的脚本文件,脚本文件中包含工作空间配置信息。
可选的,计算机设备中可以提前编写脚本文件,将需要的工作空间配置信息以脚本的形式写好,在上述得到服务器发送的删除完成消息之后,计算机设备可以读取该脚本文件。
步骤305,获取脚本文件中的空间配置信息。
相应的,计算机设备通过读取上述脚本文件,获取其中的工作空间配置信息。
步骤306,根据目标工作空间名称以及工作空间配置信息,在当前目录下创建目标文本文件。
可选的,目标工作空间名称以及工作空间配置信息可以统称为工作空间信息。其中,本步骤相当于在当前目录下创建目标文本文件,将工作空间信息写入到该目标文本文件中。
可选的,仍以服务器是Perforce的服务器,计算机设备中在当前目录下创建目标文本文件的代码可以如下:
可选的,计算机设备还可以读取目标文本文件中包含的目标工作空间名称;根据目标工作空间名称,生成创建指令,创建指令用于指示服务器根据目标工作空间名称创建第二工作空间;并向服务器发送创建指令;接收服务器发送的创建完成消息,创建完成消息用于指示服务器创建了名称为目标工作空间名称的第二工作空间。
其中,计算机设备在创建上述目标文本文件后,可以读取目标文本文件,获取其中的目标工作空间名称,根据该目标工作空间名称,生成创建指令,该创建指令中可以包含目标工作空间名称,服务器可以通过解析该创建指令,从而得到计算机设备需要创建的工作空间的名称,在服务器中创建与该目标工作空间名称相同的工作空间。相应的,服务器也可以生成创建完成消息,并发送给计算机设备,从而使得计算机设备可以得知服务器已经完成创建。
步骤307,检测第一账号的登录服务器的时长与预设时长的大小关系。
其中,第一账号是计算机设备中登录的账号,计算机设备可以凭借该第一账号的身份信息访问服务器中的文件。即,计算机设备从服务器中检出文件时,需要通过计算机设备的客户端进行登录,从而有权限将服务器中的各个文件进行检出。
其中,由于服务器中往往存在会话时间限制,比如,对于一个账号,一次登录的会话时间的限制为12小时,那么,在12小时之后,服务器会主动将该账号登出。本申请实施例中,计算机设备可以通过计时器获取第一账号在服务器中的登录时长,并检测该时长与预设时长之间的大小关系。
步骤308,响应于时长大于预设时长,将第一账号注销并重新登录。
即,当计算机设备获取的时长大于预设时长时,可以将第一账号注销并重新登录。比如,该预设时长可以为11小时,在登录达到11小时时,计算机设备可以将第一账号注销并重新登录。在一种可能实现的方式中,计算机设备还可以展示提示信息,提示用户重新登录该账号。可选的,该预设时长可以根据不同的服务器的会话时间的限制设定,本申请实施例对此并不加以限定。
在一种可能实现的方式中,计算机设备也可以主动将上述步骤中已经登录的第一账号直接登出并登录,从而使得计算机设备在检出文件时可以达到服务器允许的最大会话时间。以上述访问的服务器是P4为例,示范代码如下:
步骤309,根据目标文本文件,从服务器中将待检出文件检出至当前目录下。
可选的,当用户确定对当前目录进行待检出文件检出操作时,计算机设备可以对目标文本文件进行读取,获取到目标文本文件中的工作空间信息,将获取到的工作空间信息发送给服务器,从而使得服务器根据该工作空间信息将需要检出的待检出文件检出至当前目录下。
仍以上述访问的服务器是P4为例,上述读取目标文本文件并将获取的工作空间信息发送给服务器的示范代码如下:
type%P4_CLIENT_SPEC%|p4 client–I//计算机设备读取工作空间信息,并将工作空间信息传递给服务器。
可选的,当上述步骤302中检测当前目录下存在目标文本文件时,计算机设备还可以响应于当前目录下存在目标文本文件,直接读取目标文本文件中包含的工作空间的名称以及工作空间配置信息;从而按照工作空间的名称以及工作空间配置信息,从服务器中将待检出文件检出至当前目录下。此处也可以按照上述读取目标文本文件的代码来读取。
综上所述,计算机设备通过检测当前目录下是否存在目标文本文件;响应于当前目录下未存在目标文本文件,获取计算机设备的唯一标识以及当前目录;将计算机设备的唯一标识以及当前目录进行组合,生成目标工作空间名称;根据目标工作空间名称,在当前目录下创建目标文本文件;根据目标文本文件,从服务器中将待检出文件检出至当前目录下。本申请通过在计算机设备按照自身的唯一标识以及当前目录生成目标工作空间名称,并创建目标文本文件,根据目标文本文件将服务器的待检出文件进行检出,实现了自动化生成目标工作空间名称,提高了文件检出效率。
另外,通过本申请提供的方案,可以保证一个集群环境(服务器)下,在服务器执行自动化创建和删除工作空间,并保证计算机设备的当前目录所属的工作空间具有唯一性。
而且,本申请中,计算机设备可以通过本地的目标文本文件直接获取当前目录所属的工作空间,不需要通过P4服务器进行查询,提高了查询效率。
另外,由于本申请中,服务器创建的工作空间的名称与本地的目标文本文件中的目标工作空间名称相同,使得计算机设备不需要维护额外的工作空间名称与当前目录的映射关系,使得维护变得简便。
在一种可能实现的方式中,以P4中存储有按采用UE4开发的某个软件的源代码文件为例,通过P4作为对该软件源代码的版本控制系统管理资源为例。请参考图4,其示出了本申请一示例性实施例提供的一种计算机设备进行文件检出的流程图。该流程可以由上述图2或者图3中的计算机设备执行,如图4所示,该流程包括如下步骤。
步骤401,计算机设备根据主机名和当前路径确定工作空间名称。
其中,当前路径可以与上述图2或图3所示实施例中的当前目录是相同含义。
步骤402,计算机设备检测当前路径下是否存在目标文本文件。
目标文本文件可以是.Perforce\p4client.txt文件。
其中,当前路径下不存在目标文本文件时,进入步骤403,当前路径下存在目标文本文件时,进入步骤406。
步骤403,向服务器发送旧工作空间的删除信息。
即,通知服务器如果已经建立有该当前路径对应的工作空间,则将已经建立的工作空间删除。
步骤404,计算机设备在当前路径下创建目标文本文件。
步骤405,计算机设备发送新工作空间的创建信息。
步骤406,计算机设备读取目标文本文件。
步骤407,计算机设备检出文件。
其中,上述步骤404至407的描述可以参照图3实施例中的步骤。
综上所述,计算机设备通过检测当前目录下是否存在目标文本文件;响应于当前目录下未存在目标文本文件,获取计算机设备的唯一标识以及当前目录;将计算机设备的唯一标识以及当前目录进行组合,生成目标工作空间名称;根据目标工作空间名称,在当前目录下创建目标文本文件;根据目标文本文件,从服务器中将待检出文件检出至当前目录下。本申请通过在计算机设备按照自身的唯一标识以及当前目录生成目标工作空间名称,并创建目标文本文件,根据目标文本文件将服务器的待检出文件进行检出,实现了自动化生成目标工作空间名称,提高了文件检出效率。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图5是本申请一示例性实施例提供的一种文件检出装置的结构方框图。该文件检出装置可以用于图1所示的计算机设备中,以执行图2、图3或图4对应实施例所示的方法中由计算机设备执行的全部或者部分步骤。该文件检出装置可以包括如下模块:
文件检测模块501,用于检测当前目录下是否存在目标文本文件,所述当前目录是将待检出文件从服务器中检出至所述计算机设备本地时的路径,所述目标文本文件中包含工作空间名称,所述工作空间是所述服务器对所述当前目录创建的用于记录所述当前目录下的本地文件状态的数据集合;
第一获取模块502,用于响应于当前目录下未存在所述目标文本文件,获取所述计算机设备的唯一标识以及所述当前目录;
名称生成模块503,用于将所述计算机设备的唯一标识以及所述当前目录进行组合,生成目标工作空间名称;
文件创建模块504,用于根据所述目标工作空间名称,在所述当前目录下创建所述目标文本文件;
文件检出模块505,用于根据所述目标文本文件,从所述服务器中将所述待检出文件检出至所述当前目录下。
可选的,所述装置还包括:
第一指令生成模块,用于响应于当前目录下未存在所述目标文本文件,生成删除指令,所述删除指令用于指示所述服务器删除第一工作空间,所述第一工作空间是所述服务器中存在的与所述当前目录有唯一对应关系的工作空间;
第一指令发送模块,用于向所述服务器发送所述删除指令;
第一消息接收模块,用于接收所述服务器发送的删除完成消息,所述删除完成消息用于指示所述服务器已经将所述第一工作空间删除。
可选的,所述装置还包括:
第一读取模块,用于在所述第一消息接收模块接收所述服务器发送的删除完成消息之后,读取所述目标文本文件中包含的所述目标工作空间名称;
第二指令生成模块,用于根据所述目标工作空间名称,生成创建指令,所述创建指令用于指示所述服务器根据所述目标工作空间名称创建第二工作空间;
第二指令发送模块,用于向所述服务器发送所述创建指令。
第二消息接收模块,用于接收所述服务器发送的创建完成消息,所述创建完成消息用于指示所述服务器创建了名称为所述目标工作空间名称的所述第二工作空间;
可选的,所述目标文本文件中还包含工作空间配置信息,所述工作空间配置信息用于描述所述文件从服务器中检出至所述当前目录下时的文件选项;
所述文件创建模块504,用于根据所述目标工作空间名称以及所述工作空间配置信息,在所述当前目录下创建所述目标文本文件。
可选的,所述装置还包括:
第二读取模块,用于响应于当前目录下存在所述目标文本文件,读取所述目标文本文件中包含的所述工作空间的名称以及所述工作空间配置信息;
所述文件检出模块505,用于按照所述工作空间的名称以及所述工作空间配置信息,从所述服务器中将所述待检出文件检出至所述当前目录下。
可选的,所述计算机设备在客户端中登录有第一账号,所述客户端是所述服务器对应的客户端,所述装置还包括:
时长检测模块,用于检测所述第一账号的登录所述服务器的时长与预设时长的大小关系;
重新登录模块,用于响应于所述时长大于所述预设时长,将所述第一账号注销并重新登录。
可选的,所述计算机设备的唯一标识是所述计算机设备的网际互连协议IP地址,所述计算机设备的媒体存取控制MAC地址或者所述计算机设备的主机名中的任意一种。
综上所述,计算机设备通过检测当前目录下是否存在目标文本文件;响应于当前目录下未存在目标文本文件,获取计算机设备的唯一标识以及当前目录;将计算机设备的唯一标识以及当前目录进行组合,生成目标工作空间名称;根据目标工作空间名称,在当前目录下创建目标文本文件;根据目标文本文件,从服务器中将待检出文件检出至当前目录下。本申请通过在计算机设备按照自身的唯一标识以及当前目录生成目标工作空间名称,并创建目标文本文件,根据目标文本文件将服务器的待检出文件进行检出,实现了自动化生成目标工作空间名称,提高了文件检出效率。
需要说明的是:上述实施例提供的装置在执行上述步骤时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与上述文件检出方法的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6是本申请一示例性实施例提供的一种计算机设备的结构示意图。如图6所示,计算机设备600包括中央处理单元(Central Processing Unit,CPU)601、包括随机存取存储器(Random Access Memory,RAM)602和只读存储器(Read Only Memory,ROM)603的系统存储器604,以及连接系统存储器604和中央处理单元601的系统总线605。所述计算机设备600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/OutputSystem,I/O系统)606,和用于存储操作系统612、应用程序613和其他程序模块614的大容量存储设备607。
所述基本输入/输出系统606包括有用于显示信息的显示器608和用于用户输入信息的诸如鼠标、键盘之类的输入设备609。其中所述显示器608和输入设备609都通过连接到系统总线605的输入输出控制器610连接到中央处理单元601。所述基本输入/输出系统606还可以包括输入输出控制器610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器610还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备607通过连接到系统总线605的大容量存储控制器(未示出)连接到中央处理单元601。所述大容量存储设备607及其相关联的计算机可读介质为计算机设备600提供非易失性存储。也就是说,所述大容量存储设备607可以包括诸如硬盘或者CD-ROM(Compact Disc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,带电可擦可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器604和大容量存储设备607可以统称为存储器。
计算机设备600可以通过连接在所述系统总线605上的网络接口单元611连接到互联网或者其它网络设备。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理单元601通过执行该一个或一个以上程序来实现本申请上述各个实施例提供的方法中,由服务器执行的全部或者部分步骤。
在一个示例性实施例中,还提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集可由计算机设备的处理器(也称为中央处理单元)加载并执行,以完成本申请各个实施例所示的方法的全部或者部分步骤。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (9)
1.一种文件检出方法,其特征在于,所述方法由计算机设备执行,所述方法包括:
检测当前目录下是否存在目标文本文件,所述当前目录是将待检出文件从服务器中检出至所述计算机设备本地时的路径,所述目标文本文件中包含工作空间的名称和工作空间配置信息,所述工作空间是所述服务器针对所述当前目录创建的用于记录所述当前目录下的本地文件状态的数据集合;所述工作空间配置信息用于描述所述文件从服务器中检出至所述当前目录下时的文件选项;
响应于所述当前目录下未存在所述目标文本文件,获取所述计算机设备的唯一标识以及所述当前目录;
将所述计算机设备的唯一标识以及所述当前目录进行组合,生成目标工作空间名称;
根据所述目标工作空间名称以及所述工作空间配置信息,在所述当前目录下创建所述目标文本文件,所述目标文本文件中写入有所述目标工作空间名称以及所述工作空间配置信息;
根据所述目标文本文件,从所述服务器中将所述待检出文件检出至所述当前目录下。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述当前目录下未存在所述目标文本文件,生成删除指令,所述删除指令用于指示所述服务器删除第一工作空间,所述第一工作空间是所述服务器中存在的与所述当前目录有唯一对应关系的工作空间;
向所述服务器发送所述删除指令;
接收所述服务器发送的删除完成消息,所述删除完成消息用于指示所述服务器已经将所述第一工作空间删除。
3.根据权利要求2所述的方法,其特征在于,在所述接收所述服务器发送的删除完成消息之后,还包括:
读取所述目标文本文件中包含的所述目标工作空间名称;
根据所述目标工作空间名称,生成创建指令,所述创建指令用于指示所述服务器根据所述目标工作空间名称创建第二工作空间;
向所述服务器发送所述创建指令;
接收所述服务器发送的创建完成消息,所述创建完成消息用于指示所述服务器创建了名称为所述目标工作空间名称的所述第二工作空间。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
响应于所述当前目录下存在所述目标文本文件,读取所述目标文本文件中包含的所述工作空间的名称以及所述工作空间配置信息;
所述根据所述目标文本文件,从服务器中将待检出文件检出至所述当前目录下,包括:
按照所述工作空间的名称以及所述工作空间配置信息,从所述服务器中将所述待检出文件检出至所述当前目录下。
5.根据权利要求1所述的方法,其特征在于,所述计算机设备在客户端中登录有第一账号,所述客户端是所述服务器对应的客户端,所述方法还包括:
检测所述第一账号的登录所述服务器的时长与预设时长的大小关系;
响应于所述时长大于所述预设时长,将所述第一账号注销并重新登录。
6.根据权利要求1至5任一所述的方法,其特征在于,所述计算机设备的唯一标识是所述计算机设备的网际互连协议IP地址,所述计算机设备的媒体存取控制MAC地址或者所述计算机设备的主机名中的任意一种。
7.一种文件检出装置,其特征在于,所述装置用于计算机设备中,所述装置包括:
文件检测模块,用于检测当前目录下是否存在目标文本文件,所述当前目录是将待检出文件从服务器中检出至所述计算机设备本地时的路径,所述目标文本文件中包含工作空间名称和工作空间配置信息,所述工作空间是所述服务器对所述当前目录创建的用于记录所述当前目录下的本地文件状态的数据集合;所述工作空间配置信息用于描述所述文件从服务器中检出至所述当前目录下时的文件选项;
第一获取模块,用于响应于所述当前目录下未存在所述目标文本文件,获取所述计算机设备的唯一标识以及所述当前目录;
名称生成模块,用于将所述计算机设备的唯一标识以及所述当前目录进行组合,生成目标工作空间名称;
文件创建模块,用于根据所述目标工作空间名称以及所述工作空间配置信息,在所述当前目录下创建所述目标文本文件,所述目标文本文件中写入有所述目标工作空间名称以及所述工作空间配置信息;
文件检出模块,用于根据所述目标文本文件,从所述服务器中将待检出文件检出至所述当前目录下。
8.一种计算机设备,其特征在于,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至6任一所述的文件检出方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至6任一所述的文件检出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911397215.0A CN113127419B (zh) | 2019-12-30 | 2019-12-30 | 文件检出方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911397215.0A CN113127419B (zh) | 2019-12-30 | 2019-12-30 | 文件检出方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113127419A CN113127419A (zh) | 2021-07-16 |
CN113127419B true CN113127419B (zh) | 2023-09-22 |
Family
ID=76767870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911397215.0A Active CN113127419B (zh) | 2019-12-30 | 2019-12-30 | 文件检出方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113127419B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393437B1 (en) * | 1998-01-27 | 2002-05-21 | Microsoft Corporation | Web developer isolation techniques |
CN101251808A (zh) * | 2006-12-13 | 2008-08-27 | 国际商业机器公司 | 用于在软件配置管理系统中引用文件的计算机方法和设备 |
CN103150394A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 面向高性能计算的分布式文件系统元数据管理方法 |
CN106537380A (zh) * | 2014-06-30 | 2017-03-22 | 谷歌公司 | 对用户产生的媒体文件自动归档 |
CN107608749A (zh) * | 2017-11-06 | 2018-01-19 | 中国银行股份有限公司 | 一种版本控制方法、开发工具插件和开发工具 |
CN107741846A (zh) * | 2017-09-22 | 2018-02-27 | 深圳航天科技创新研究院 | Fpga工程过程管理优化设计方法、系统及存储介质 |
CN108829430A (zh) * | 2018-06-19 | 2018-11-16 | 厦门海迈科技股份有限公司 | 基于Eclipse和Tomcat的Java Web项目更新方法及相关装置 |
CN110457040A (zh) * | 2018-05-08 | 2019-11-15 | 腾讯科技(深圳)有限公司 | 用于源代码分布式构建的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8738580B2 (en) * | 2008-07-23 | 2014-05-27 | Nvidia Corporation | Copying files from one directory to another |
-
2019
- 2019-12-30 CN CN201911397215.0A patent/CN113127419B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393437B1 (en) * | 1998-01-27 | 2002-05-21 | Microsoft Corporation | Web developer isolation techniques |
CN101251808A (zh) * | 2006-12-13 | 2008-08-27 | 国际商业机器公司 | 用于在软件配置管理系统中引用文件的计算机方法和设备 |
CN103150394A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 面向高性能计算的分布式文件系统元数据管理方法 |
CN106537380A (zh) * | 2014-06-30 | 2017-03-22 | 谷歌公司 | 对用户产生的媒体文件自动归档 |
CN107741846A (zh) * | 2017-09-22 | 2018-02-27 | 深圳航天科技创新研究院 | Fpga工程过程管理优化设计方法、系统及存储介质 |
CN107608749A (zh) * | 2017-11-06 | 2018-01-19 | 中国银行股份有限公司 | 一种版本控制方法、开发工具插件和开发工具 |
CN110457040A (zh) * | 2018-05-08 | 2019-11-15 | 腾讯科技(深圳)有限公司 | 用于源代码分布式构建的方法和装置 |
CN108829430A (zh) * | 2018-06-19 | 2018-11-16 | 厦门海迈科技股份有限公司 | 基于Eclipse和Tomcat的Java Web项目更新方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113127419A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109040252B (zh) | 文件传输方法、系统、计算机设备和存储介质 | |
JP6800184B2 (ja) | ドキュメント管理及びコラボレーション・システム | |
JP6621543B2 (ja) | ハイブリッドアプリケーションの自動更新 | |
CN107004032B (zh) | 镜像文件转换方法及装置 | |
US8914856B1 (en) | Synchronization of networked storage systems and third party systems | |
US9680763B2 (en) | Controlling distribution of resources in a network | |
US9864736B2 (en) | Information processing apparatus, control method, and recording medium | |
CN108287894B (zh) | 数据处理方法、装置、计算设备及存储介质 | |
CN110413595B (zh) | 一种应用于分布式数据库的数据迁移方法和相关装置 | |
CN112000741A (zh) | 内外网数据交换系统、方法、装置、计算机设备和介质 | |
CN105824932A (zh) | 一种基于阿里云对象存储oss的档案系统 | |
CN110555072A (zh) | 数据访问方法、装置、设备和介质 | |
CN111935110A (zh) | 一种对租户访问容器实例的权限的控制方法和装置 | |
CN112559463B (zh) | 压缩文件处理的方法及装置 | |
CN112036125A (zh) | 一种文档管理方法、装置及计算机设备 | |
CN113127419B (zh) | 文件检出方法、装置、计算机设备及存储介质 | |
CN106899630B (zh) | 网盘中图片的缩略图显示方法与装置 | |
CN111444542A (zh) | 一种针对版权文件的数据处理方法、装置及存储介质 | |
US10162488B1 (en) | Browser-based media scan | |
CN115658794A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN112347046B (zh) | 一种获取分布式系统中文件的创建时间的方法 | |
CN110968421A (zh) | 一种集群管理方法、装置和系统 | |
JP2019075611A (ja) | サーバ、カメラおよび方法 | |
CN113204427A (zh) | 资源管理方法、装置、计算机设备及存储介质 | |
CN116684282B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40049236 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |