CN111026724B - 一种基于分布式系统的文件同步方法、装置、设备及介质 - Google Patents

一种基于分布式系统的文件同步方法、装置、设备及介质 Download PDF

Info

Publication number
CN111026724B
CN111026724B CN201911161193.8A CN201911161193A CN111026724B CN 111026724 B CN111026724 B CN 111026724B CN 201911161193 A CN201911161193 A CN 201911161193A CN 111026724 B CN111026724 B CN 111026724B
Authority
CN
China
Prior art keywords
target
file
identification code
synchronization
temporary file
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
Application number
CN201911161193.8A
Other languages
English (en)
Other versions
CN111026724A (zh
Inventor
王立建
高隆林
韩锋
孔凤囡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Civic Se Commercial Middleware Co ltd
Original Assignee
Shandong Civic Se Commercial Middleware Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Civic Se Commercial Middleware Co ltd filed Critical Shandong Civic Se Commercial Middleware Co ltd
Priority to CN201911161193.8A priority Critical patent/CN111026724B/zh
Publication of CN111026724A publication Critical patent/CN111026724A/zh
Application granted granted Critical
Publication of CN111026724B publication Critical patent/CN111026724B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了一种基于分布式系统的文件同步方法、装置、设备及计算机可读存储介质,方法包括:当接收到同步目标源文件的同步指令时,获取与同步指令对应的处理进程的进程ID;获取与目标源文件对应的目标临时文件的目标处理线程的线程ID;利用目标处理线程调用标识码生成程序,通过标识码生成程序根据时间戳和秒内递增数生成当前进程标识码;利用进程ID、线程ID和当前进程标识码为目标临时文件设置文件名称,并将目标临时文件同步至目标同步主机。本方法保障了目标临时文件的文件名称的唯一性,因此,能够避免各临时文件由于文件名称重复而导致文件丢失和不完整的情况,从而提高基于分布式系统的文件同步方法的可靠性。

Description

一种基于分布式系统的文件同步方法、装置、设备及介质
技术领域
本发明涉及分布式系统领域,特别涉及一种基于分布式系统的文件同步方法、装置、设备及计算机可读存储介质。
背景技术
如图1所示的一种分布式系统的文件同步的系统架构图,在分布式系统中,存在文件同步分发的业务需求,即,同步服务器将目标源文件同步至分布式系统中的其他各同步主机。同步服务器中的多种文件同步业务(自动同步、手动快速同步、手动完全同步、定时同步等)将产生大量的与目标源文件对应的将要发送到同步主机的临时文件,同步主机设置了远端临时文件夹,用于存放同步的临时文件。为了避免大量临时文件在远端临时文件夹中偶发重名造成的文件丢失和不完整,因此需要为各临时文件设置唯一对应的临时文件名称。
现有技术中,是通过“时间戳+MAC地址+随机码”的方式生成UUID,利用生成的UUID作为各临时文件设置文件名称。但是,由于各同步主机分布在世界的不同位置,一般通过各同步主机根据自身所在位置获取对应的时间戳,而若同步主机自身的时钟有误,那么在被校准之后,将出现时间戳相同的情况;对MAC地址而言,可能由于制造商的生产误差,或者MAC地址可被更改等因素,导致MAC地址相同;以及利用伪随机函数生成的随机码也可能相同;因此,现有技术中根据“时间戳+MAC地址+随机码”的方式生成的UUID,很可能存在相同的情况,进而使得临时文件由于文件名称重复而导致文件丢失和不完整,使得基于分布式系统的文件同步方法的可靠性低。
因此,如何提高基于分布式系统的文件同步的可靠性,是本领域技术人员目前需要解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种基于分布式系统的文件同步方法,能够提高基于分布式系统的文件同步的可靠性;本发明的另一目的是提供一种基于分布式系统的文件同步装置、设备及计算机可读存储介质,均具有上述有益效果。
为解决上述技术问题,本发明提供一种基于分布式系统的文件同步方法,包括:
当接收到同步目标源文件的同步指令时,获取与所述同步指令对应的处理进程的进程ID;
获取与所述目标源文件对应的目标临时文件的目标处理线程的线程ID;
利用所述目标处理线程调用标识码生成程序,通过所述标识码生成程序根据时间戳和秒内递增数生成当前进程标识码;
利用所述进程ID、所述线程ID和所述当前进程标识码为所述目标临时文件设置文件名称,并将所述目标临时文件同步至目标同步主机。
优选地,在所述当接收到同步目标源文件的同步指令时,获取与所述同步指令对应的处理进程的进程ID之后,进一步包括:
判断所述目标处理线程是否对所述标识码生成程序设置有程序锁;
若是,则进入所述利用所述目标处理线程调用标识码生成程序,通过所述标识码生成程序根据时间戳和秒内递增数生成当前进程标识码的步骤;
对应的,所述利用所述进程ID、所述线程ID和所述当前进程标识码为所述目标临时文件设置文件名称,并将所述目标临时文件同步至目标同步主机的过程,具体为:
利用所述进程ID和所述当前进程标识码为所述目标临时文件设置文件名称,并将所述目标临时文件同步至所述目标同步主机。
优选地,所述利用所述目标处理线程调用标识码生成程序,通过所述标识码生成程序根据时间戳和秒内递增数生成当前进程标识码的过程,具体包括:
利用所述目标处理线程调用所述标识码生成程序,获取当前时间的时间戳;
将所述时间戳转换为二进制时间,并将所述二进制时间存储于第一预设位;
依据所述标识码生成程序在当前时间的总被调用次数设置第二预设位的秒内递增数;
利用所述第一预设位和所述第二预设位生成所述当前进程标识码。
优选地,在所述利用所述进程ID、所述线程ID和所述当前进程标识码为所述目标临时文件设置文件名称,并将所述目标临时文件同步至目标同步主机之前,进一步包括:
对所述目标同步主机进行安全性验证。
优选地,所述利用所述进程ID、所述线程ID和所述当前进程标识码为所述目标临时文件设置文件名称,并将所述目标临时文件同步至目标同步主机的过程,具体包括:
根据所述目标源文件的文件属性设置对应的文件标识;
利用所述进程ID、所述线程ID、所述当前进程标识码和所述文件标识为所述目标临时文件设置文件名称,并将所述目标临时文件同步至所述目标同步主机。
优选地,在所述利用所述进程ID、所述线程ID和所述当前进程标识码为所述目标临时文件设置文件名称,并将所述目标临时文件同步至目标同步主机之后,进一步包括:
接收由所述目标同步主机对所述目标临时文件进行准确性校验之后的校验结果。
为解决上述技术问题,本发明还提供一种基于分布式系统的文件同步装置,包括:
第一获取模块,用于当接收到同步目标源文件的同步指令时,获取与所述同步指令对应的处理进程的进程ID;
第二获取模块,用于获取与所述目标源文件对应的目标临时文件的目标处理线程的线程ID;
第三获取模块,用于利用所述目标处理线程调用标识码生成程序,通过所述标识码生成程序根据时间戳和秒内递增数生成当前进程标识码;
设置模块,用于利用所述进程ID、所述线程ID和所述当前进程标识码为所述目标临时文件设置文件名称,并将所述目标临时文件同步至目标同步主机。
优选地,进一步包括:
判断模块,用于判断所述目标处理线程是否对所述标识码生成程序设置有程序锁;若是,则调用所述第三获取模块;
对应的,设置模块具体为:
第一设置模块,用于利用所述进程ID和所述当前进程标识码为所述目标临时文件设置文件名称,并将所述目标临时文件同步至所述目标同步主机。
优选地,进一步包括:
安全性验证模块,用于对所述目标同步主机进行安全性验证。
优选地,进一步包括:
准确性校验模块,用于接收由所述目标同步主机对所述目标临时文件进行准确性校验之后的校验结果。
为解决上述技术问题,本发明还提供一种基于分布式系统的文件同步设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一种基于分布式系统的文件同步方法的步骤。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种基于分布式系统的文件同步方法的步骤。
本发明实施例提供的一种基于分布式系统的文件同步方法,是通过“进程ID+线程ID+当前进程标识码”的方式为目标临时文件设置文件名称,并且,当前进程标识码是利用目标处理线程调用标识码生成程序,通过标识码生成程序根据时间戳和秒内递增数生成的,保障了目标临时文件的文件名称的唯一性,因此,能够避免各临时文件由于文件名称重复而导致文件丢失和不完整的情况,从而提高基于分布式系统的文件同步方法的可靠性。
为解决上述技术问题,本发明还提供了一种基于分布式系统的文件同步装置、设备及计算机可读存储介质,均具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为一种分布式系统的文件同步的系统架构图;
图2为本发明实施例提供的一种基于分布式系统的文件同步方法的流程图;
图3为本发明实施例提供的一种基于分布式系统的文件同步装置的结构图;
图4为本发明实施例提供的一种基于分布式系统的文件同步设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的核心是提供一种基于分布式系统的文件同步方法,能够*提高基于分布式系统的文件同步的可靠性;本发明的另一核心是提供一种基于分布式系统的文件同步装置、设备及计算机可读存储介质,均具有上述有益效果。
为了使本领域技术人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
图2为本发明实施例提供的一种基于分布式系统的文件同步方法的流程图。如图2所示,一种基于分布式系统的文件同步方法包括:
S10:当接收到同步目标源文件的同步指令时,获取与同步指令对应的处理进程的进程ID。
本实施例是通过同步服务器向其他各同步主机同步与目标源文件对应的临时文件。并且,在分布式系统中,同步服务器指的是目标源文件所在的服务器,通过部署在同步服务器上的程序,实现向分布式系统中的其他多台同步主机分发与目标源文件对应的临时文件的目的。
在本步骤中,通过同步服务器接收需要对目标源文件进行文件同步的同步指令,并获取与该同步指令对应的处理进程的进程ID。进程ID是大多数操作系统的内核用于唯一标识进程的一个数值,用于区分在一台同步服务器上启动的多个同步业务程序,获取进程ID的方法是本领域技术人员的公知常识,例如,C++语言在windows环境下通过GetCurrentProcessId()方法就可以获得,具体根据不同的操作环境设置,本实施例对此不做赘述。
S20:获取与目标源文件对应的目标临时文件的目标处理线程的线程ID;
S30:利用目标处理线程调用标识码生成程序,通过标识码生成程序根据时间戳和秒内递增数生成当前进程标识码。
可以理解的是,一个处理进程可以对应多个处理线程,也就是说,一项同步业务进程可以分给多个处理线程分别执行相应的任务,以提高同步业务的效率。目标临时文件指的是多个临时文件中的一个,要为各临时文件分别设置不同的文件名称,也就是分别针对各目标临时文件设置唯一对应的文件名称。对于目标临时文件而言,需要获取处理该目标临时文件的目标处理线程的线程ID以及获取利用目标处理线程调用标识码生成程序生成的当前进程标识码,该当前进程标识码与目标临时文件是相对应的。
具体的,获取目标处理线程的线程ID的方式为本领域技术人员的公知常识,此处不做赘述,例如,C++语言在windows环境下通过GetCurrentThreadId()方法就可以获得,具体根据不同的操作环境设置。
各处理线程通过调用标识码生成程序,生成当前进程标识码。需要说明的是,标识码生成程序是根据时间戳和秒内递增数生成当前进程标识码,时间戳指的是目标处理线程调用标识码生成程序的时间,秒内递增数指的是在相同时间戳对应的时间内,调用标识码生成程序的次数所对应的数值。
S40:利用进程ID、线程ID和当前进程标识码为目标临时文件设置文件名称,并将目标临时文件同步至目标同步主机。
在实际操作中,可能存在多个处理线程同时调用标识码生成程序的情况,因此,本实施例通过获取与目标临时文件对应的目标处理线程的线程ID,以便在目标线程ID调用标识码生成程序生成对应的当前进程标识码之后,可以根据进程ID、线程ID和当前进程标识码确定出唯一对应的UUID,本实施例是将该UUID作为该目标临时文件的文件名称。也就是说,在获取到与目标临时文件对应的进程ID、线程ID以及当前进行标识码之后,利用进程ID、线程ID和当前进程标识码为目标临时文件设置文件名称,因此,该文件名称是与目标临时文件唯一对应的。需要说明的是,本实施例对这三者的组合排序不做限定,根据实际需求设置即可。
需要说明的是,在为目标临时文件设置好唯一对应的文件名称之后,便可以将目标临时文件同步至目标同步主机,本实施例中,将目标临时文件同步至目标同步主机的过程为本领域技术人员的公知常识,因此此处不做赘述。
本发明实施例提供的一种基于分布式系统的文件同步方法,是当接收到同步目标源文件的同步指令时,获取与同步指令对应的处理进程的进程ID以及获取与目标源文件对应的目标临时文件的目标处理线程的线程ID;利用目标处理线程调用标识码生成程序,通过标识码生成程序根据时间戳和秒内递增数生成当前进程标识码;利用进程ID、线程ID和当前进程标识码为目标临时文件设置文件名称,并将目标临时文件同步至目标同步主机。可见,本发明实施例中,是通过“进程ID+线程ID+当前进程标识码”的方式为目标临时文件设置文件名称,并且,当前进程标识码是利用目标处理线程调用标识码生成程序,通过标识码生成程序根据时间戳和秒内递增数生成的,保障了目标临时文件的文件名称的唯一性,因此,能够避免各临时文件由于文件名称重复而导致文件丢失和不完整的情况,从而提高基于分布式系统的文件同步方法的可靠性。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例在当接收到同步目标源文件的同步指令时,获取与同步指令对应的处理进程的进程ID之后,进一步包括:
判断目标处理线程是否对标识码生成程序设置有程序锁;
若是,则进入利用目标处理线程调用标识码生成程序,通过标识码生成程序根据时间戳和秒内递增数生成当前进程标识码的步骤;
对应的,利用进程ID、线程ID和当前进程标识码为目标临时文件设置文件名称,并将目标临时文件同步至目标同步主机的过程,具体为:
利用进程ID和当前进程标识码为目标临时文件设置文件名称,并将目标临时文件同步至目标同步主机。
具体的,在本实施例中,在获取与同步指令对应的处理进程的进程ID之后,进一步判断与目标临时文件对应的目标处理线程是否对标识码生成程序设置有程序锁。若目标处理线程对标识码生成程序设置有程序锁,也就是限制了其他处理线程不能同时调用标识码生成程序,因此,避免了不同的处理线程同时调用标识码生成程序导致生成的当前进程标识码相同的情况。因此,本实施例在判断出目标处理线程在调用标识码生成程序时对标识码生成程序设置有程序锁的情况下,直接利用标识码生成程序基于时间戳和秒内递增数生成当前进程标识码,并直接利用进程ID和当前进程标识码为目标临时文件设置文件名称,并将目标临时文件同步至目标同步主机。也就是说,若目标处理线程对标识码生成程序设置有程序锁,则可以省去获取目标处理线程的线程ID的步骤,因此,本实施例中的文件名称是根据进程ID和当前进程标识码设置的。
可见,本实施例通过进一步判断目标处理线程是否对标识码生成程序设置有程序锁,当判断出标识码生成程序设置有程序锁时,直接通过标识码生成程序根据时间戳和秒内递增数生成当前进程标识码,利用进程ID和当前进程标识码为目标临时文件设置文件名称,因此本方法能够在保障为目标临时文件设置的文件名称唯一的情况下,省略掉获取线程ID的步骤,能够进一步提高基于分布式系统的文件同步方法的便捷度。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,利用目标处理线程调用标识码生成程序,通过标识码生成程序根据时间戳和秒内递增数生成当前进程标识码的过程,具体包括:
利用目标处理线程调用标识码生成程序,获取当前时间的时间戳;
将时间戳转换为二进制时间,并将二进制时间存储于第一预设位;
依据标识码生成程序在当前时间的总被调用次数设置第二预设位的秒内递增数;
利用第一预设位和第二预设位生成当前进程标识码。
具体的,利用标识码生成程序生成当前进程标识码的过程,首先获取目标处理线程调用标识码生成程序的当前时间的时间戳,时间戳的最小单位一般为秒;然后,将该时间戳转换为二进制时间,并将二进制时间存储于第一预设位,例如将时间戳转换为32位二进制,并将该32位二进制左移32位,即,将当前时间对应的时间戳的二进制时间放在高32位存储,这样左移32位后,低位32位全部为0。然后在时间戳对应的时间内,根据标识码生成程序的总被调用次数设置第二预设位的秒内递增数,也就是说,在每次调用标识码生成程序时,在原本累计调用次数的基础上增加1,将更新的值作为秒内递增数,保证每次生成的秒内递增数不同,并将秒内递增数设置于第二预设位,再利用第一预设位与和第二预设位组成当前进程标识码。可以理解的是,第一预设位和第二预设位可以分别对应高32位和低32位,因此,在1秒内,可以提供232个当前进程标识码,能够满足临时文件数量的需求。
在具体实施中,一种标识码生成程序可以如下所示:
需要说明的是,若目标处理线程对标识码生成程序设置有程序锁,则可以对longlong int GetTempFileSerialNo()方法设置程序锁,这样每个处理线程调用标识码生成程序时生成的当前进程标识码都将是不同的。
可见,本实施例提供的基于分布式系统的文件同步方法,能够便捷地利用标识码生成程序生成当前进程标识码,以更便捷地为目标临时文件设置文件名称。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例在利用进程ID、线程ID和当前进程标识码为目标临时文件设置文件名称,并将目标临时文件同步至目标同步主机之前,进一步包括:
对目标同步主机进行安全性验证。
本实施例中,是在同步服务器向目标同步主机同步目标临时文件之前,进一步先对目标同步主机进行安全性验证。具体的,安全性验证可以是目标同步主机向同步服务器发送的包括预设密钥的验证口令,同步服务器通过校验验证口令中的预设密钥是否与自身预设的密钥一致,来确定目标同步主机是否安全。
另外,还可以从验证口令中获取目标同步主机的远端临时文件夹的名称和位置信息进行校验,来进一步保证将目标临时文件发送给目标同步主机时的准确性和可靠性。
可见,本实施例通过进一步对目标同步主机进行安全性验证,能够进一步提高对目标临时文件进行同步的安全性和可靠性。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,利用进程ID、线程ID和当前进程标识码为目标临时文件设置文件名称,并将目标临时文件同步至目标同步主机的过程,具体包括:
根据目标源文件的文件属性设置对应的文件标识;
利用进程ID、线程ID、当前进程标识码和文件标识为目标临时文件设置文件名称,并将目标临时文件同步至目标同步主机。
具体的,在本实施例中,进一步考虑到目标源文件的属性不同,因此可以进一步根据目标源文件的文件属性设置对应的文件标识;然后,在利用进程ID、线程ID、当前进程标识码和文件标识为目标临时文件设置文件名称时,进一步在文件名称中增加文件标识,即,利用进程ID、线程ID、当前进程标识码和文件标识为目标临时文件设置文件名称。需要说明的是,本实施例对文件标识的具体类型不做限定,例如可以是文件属性的简称,或者是用不同的符号表示各不同的文件属性。
因此,按照本实施例为目标临时文件设置文件名称的方法,能够在后续根据文件名称中的文件标识更直观地获取到目标临时文件的文件属性。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例在利用进程ID、线程ID和当前进程标识码为目标临时文件设置文件名称,并将目标临时文件同步至目标同步主机之后,进一步包括:
接收由目标同步主机对目标临时文件进行准确性校验之后的校验结果。
需要说明的是,在本步骤中,是在同步服务器将目标临时文件同步至目标同步主机之后,目标同步主机按照预设规则对目标临时文件进行准确性校验,并且目标同步主机将校验结果反馈给同步服务器,以便同步服务器能够根据校验结果知晓对目标临时文件的同步情况,进而可以在同步有误的情况下,再次对目标临时文件进行同步。准确性校验的方式包括验证时间戳的准确性,或者通过判断目标临时文件的哈希值是否与目标源文件的哈希值是否相同,本实施例对准确性校验的具体方式不做限定。
可见,本实施例通过进一步接收由目标同步主机对目标临时文件进行准确性校验之后的校验结果,能够进一步保障文件同步的准确性和可靠性。
上文对于本发明提供的一种基于分布式系统的文件同步方法的实施例进行了详细的描述,本发明还提供了一种与该方法对应的基于分布式系统的文件同步装置、设备及计算机可读存储介质,由于装置、设备及计算机可读存储介质部分的实施例与方法部分的实施例相互照应,因此装置、设备及计算机可读存储介质部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图3为本发明实施例提供的一种基于分布式系统的文件同步装置的结构图,如图3所示,一种基于分布式系统的文件同步装置包括:
第一获取模块31,用于当接收到同步目标源文件的同步指令时,获取与同步指令对应的处理进程的进程ID;
第二获取模块32,用于获取与目标源文件对应的目标临时文件的目标处理线程的线程ID;
第三获取模块33,用于利用目标处理线程调用标识码生成程序,通过标识码生成程序根据时间戳和秒内递增数生成当前进程标识码;
设置模块34,用于利用进程ID、线程ID和当前进程标识码为目标临时文件设置文件名称,并将目标临时文件同步至目标同步主机。
本发明实施例提供的基于分布式系统的文件同步装置,具有上述基于分布式系统的文件同步方法的有益效果。
作为优选的实施方式,进一步包括:
判断模块,用于判断目标处理线程是否对标识码生成程序设置有程序锁;若是,则调用第三获取模块;
对应的,设置模块具体为:
第一设置模块,用于利用进程ID和当前进程标识码为目标临时文件设置文件名称,并将目标临时文件同步至目标同步主机。
作为优选的实施方式,进一步包括:
安全性验证模块,用于对目标同步主机进行安全性验证。
作为优选的实施方式,进一步包括:
准确性校验模块,用于接收由目标同步主机对目标临时文件进行准确性校验之后的校验结果。
图4为本发明实施例提供的一种基于分布式系统的文件同步设备的结构图,如图4所示,一种基于分布式系统的文件同步设备包括:
存储器41,用于存储计算机程序;
处理器42,用于执行计算机程序时实现如上述基于分布式系统的文件同步方法的步骤。
本发明实施例提供的基于分布式系统的文件同步设备,具有上述基于分布式系统的文件同步方法的有益效果。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述基于分布式系统的文件同步方法的步骤。
本发明实施例提供的计算机可读存储介质,具有上述基于分布式系统的文件同步方法的有益效果。
以上对本发明所提供的基于分布式系统的文件同步方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

Claims (8)

1.一种基于分布式系统的文件同步方法,其特征在于,包括:
当接收到同步目标源文件的同步指令时,获取与所述同步指令对应的处理进程的进程ID;
判断目标处理线程是否对标识码生成程序设置有程序锁;
若是,则利用所述目标处理线程调用所述标识码生成程序,通过所述标识码生成程序根据时间戳和秒内递增数生成当前进程标识码;
利用所述进程ID和所述当前进程标识码为目标临时文件设置文件名称,并将所述目标临时文件同步至目标同步主机。
2.根据权利要求1所述的方法,其特征在于,所述利用所述目标处理线程调用所述标识码生成程序,通过所述标识码生成程序根据时间戳和秒内递增数生成当前进程标识码的过程,具体包括:
利用所述目标处理线程调用所述标识码生成程序,获取当前时间的时间戳;
将所述时间戳转换为二进制时间,并将所述二进制时间存储于第一预设位;
依据所述标识码生成程序在当前时间的总被调用次数设置第二预设位的秒内递增数;
利用所述第一预设位和所述第二预设位生成所述当前进程标识码。
3.根据权利要求1所述的方法,其特征在于,在所述利用所述进程ID和所述当前进程标识码为目标临时文件设置文件名称,并将所述目标临时文件同步至目标同步主机之前,进一步包括:
对所述目标同步主机进行安全性验证。
4.根据权利要求1所述的方法,其特征在于,所述利用所述进程ID和所述当前进程标识码为目标临时文件设置文件名称,并将所述目标临时文件同步至目标同步主机的过程,具体包括:
根据所述目标源文件的文件属性设置对应的文件标识;
利用所述进程ID、所述当前进程标识码和所述文件标识为所述目标临时文件设置文件名称,并将所述目标临时文件同步至所述目标同步主机。
5.根据权利要求1至4任一项所述的方法,其特征在于,在所述利用所述进程ID和所述当前进程标识码为所述目标临时文件设置文件名称,并将所述目标临时文件同步至目标同步主机之后,进一步包括:
接收由所述目标同步主机对所述目标临时文件进行准确性校验之后的校验结果。
6.一种基于分布式系统的文件同步装置,其特征在于,包括:
第一获取模块,用于当接收到同步目标源文件的同步指令时,获取与所述同步指令对应的处理进程的进程ID;
第二获取模块,用于获取与所述目标源文件对应的目标临时文件的目标处理线程的线程ID;
判断模块,用于判断目标处理线程是否对标识码生成程序设置有程序锁;若是,则调用第三获取模块;
所述第三获取模块,用于利用所述目标处理线程调用所述标识码生成程序,通过所述标识码生成程序根据时间戳和秒内递增数生成当前进程标识码;
第一设置模块,用于利用所述进程ID和所述当前进程标识码为目标临时文件设置文件名称,并将所述目标临时文件同步至目标同步主机。
7.一种基于分布式系统的文件同步设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述基于分布式系统的文件同步方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的基于分布式系统的文件同步方法的步骤。
CN201911161193.8A 2019-11-24 2019-11-24 一种基于分布式系统的文件同步方法、装置、设备及介质 Active CN111026724B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911161193.8A CN111026724B (zh) 2019-11-24 2019-11-24 一种基于分布式系统的文件同步方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911161193.8A CN111026724B (zh) 2019-11-24 2019-11-24 一种基于分布式系统的文件同步方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN111026724A CN111026724A (zh) 2020-04-17
CN111026724B true CN111026724B (zh) 2023-09-01

Family

ID=70203396

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911161193.8A Active CN111026724B (zh) 2019-11-24 2019-11-24 一种基于分布式系统的文件同步方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN111026724B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111723062A (zh) * 2020-06-28 2020-09-29 天津联想协同科技有限公司 一种文件同步方法、装置及存储介质
CN112015818B (zh) * 2020-08-31 2024-01-30 杭州欧若数网科技有限公司 分布式图数据库uuid生成方法、装置、设备及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8181247B1 (en) * 2011-08-29 2012-05-15 Kaspersky Lab Zao System and method for protecting a computer system from the activity of malicious objects
CN102495982A (zh) * 2011-11-30 2012-06-13 成都七巧软件有限责任公司 一种基于进程线程的防拷贝系统和防拷贝存储介质
CN105335186A (zh) * 2014-08-11 2016-02-17 腾讯科技(深圳)有限公司 数据下载管理方法及系统
CN105786628A (zh) * 2016-02-24 2016-07-20 浪潮通用软件有限公司 一种分布式系统线程同步的处理方法
CN109101341A (zh) * 2017-06-21 2018-12-28 阿里巴巴集团控股有限公司 分布式锁的分配方法及设备
CN109324952A (zh) * 2018-09-30 2019-02-12 武汉斗鱼网络科技有限公司 一种基于内存映射文件检测进程实例个数的方法及装置
CN109783463A (zh) * 2018-12-13 2019-05-21 杭州数梦工场科技有限公司 文件同步方法、装置及计算机可读存储介质
CN110096528A (zh) * 2019-04-12 2019-08-06 中国银行股份有限公司 一种分布式系统中生成序列的方法、装置及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8181247B1 (en) * 2011-08-29 2012-05-15 Kaspersky Lab Zao System and method for protecting a computer system from the activity of malicious objects
CN102495982A (zh) * 2011-11-30 2012-06-13 成都七巧软件有限责任公司 一种基于进程线程的防拷贝系统和防拷贝存储介质
CN105335186A (zh) * 2014-08-11 2016-02-17 腾讯科技(深圳)有限公司 数据下载管理方法及系统
CN105786628A (zh) * 2016-02-24 2016-07-20 浪潮通用软件有限公司 一种分布式系统线程同步的处理方法
CN109101341A (zh) * 2017-06-21 2018-12-28 阿里巴巴集团控股有限公司 分布式锁的分配方法及设备
CN109324952A (zh) * 2018-09-30 2019-02-12 武汉斗鱼网络科技有限公司 一种基于内存映射文件检测进程实例个数的方法及装置
CN109783463A (zh) * 2018-12-13 2019-05-21 杭州数梦工场科技有限公司 文件同步方法、装置及计算机可读存储介质
CN110096528A (zh) * 2019-04-12 2019-08-06 中国银行股份有限公司 一种分布式系统中生成序列的方法、装置及系统

Also Published As

Publication number Publication date
CN111026724A (zh) 2020-04-17

Similar Documents

Publication Publication Date Title
CN110309161B (zh) 一种数据同步方法、装置及服务器
CN111026724B (zh) 一种基于分布式系统的文件同步方法、装置、设备及介质
CN112463144B (zh) 分布式存储的命令行服务方法、系统、终端及存储介质
CN112380093A (zh) 运维处理方法、装置及计算机设备
CN110602165B (zh) 政务数据同步方法、装置、系统、计算机设备和存储介质
CN111460356A (zh) 一种自动登录方法、装置、介质和设备
JP2018510430A (ja) データベースのための遠隔データ同期方法及び装置
CN112100078A (zh) 一种生成接口测试用例的方法、装置及设备
CN109299116B (zh) 一种数据同步方法、装置、设备及可读存储介质
CN111327680B (zh) 认证数据同步方法、装置、系统、计算机设备和存储介质
CN112653911B (zh) 一种秘钥更新方法及设备
CN112887451A (zh) 域名解析方法、装置及计算机设备
CN112835916A (zh) 基于api接口的业务处理方法、设备及计算机可读存储介质
CN106598690A (zh) 一种用于代码的管理方法及装置
CN110912743B (zh) 一种执行配置指令的方法及装置
CN113868146A (zh) 一种测试任务生成方法、装置、电子设备及存储介质
CN110659030B (zh) Unity项目编译方法、系统、计算机设备及存储介质
CN113111127A (zh) 数据存储的方法、装置、电子设备和可读介质
CN112349003A (zh) 门锁密码的传输方法、锁体、服务器及可读存储介质
CN111158794A (zh) 一种面向OpenStack的API接口组合优化方法及装置
CN112364049B (zh) 数据同步脚本生成方法、系统、终端及存储介质
CN113254539B (zh) 一种基于区块链的数据记录溯源系统及方法
CN116366609B (zh) 全局唯一标识生成方法、系统、计算机和可读存储介质
CN115065380B (zh) 伪码同步方法、装置、电子设备和存储介质
CN116560722B (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