文件提交方法和装置与流程

文档序号:11276745阅读:378来源:国知局
文件提交方法和装置与流程

本申请涉及计算机技术领域,具体涉及一种文件提交方法和装置。



背景技术:

随着信息技术、网络技术、通讯技术、数据库技术的不断发展,文件管理越来越受到企业的重视,例如,在信息技术公司一般都设有用于管理源代码文件的系统。

以分布式版本控制系统git为例,git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。git一般分为git服务端和git客户端,git服务端主要托管代码仓库,一般搭建在公网或内网服务器。git中包含每个参与的开发者的代码提交记录。然而,虽然git中有代码提交记录,但是git的记录可能被篡改,且git整个仓库都有可能被物理删除,这样会导致源代码丢失。



技术实现要素:

本申请的目的在于提出一种改进的文件提交方法和装置,来解决以上背景技术部分提到的技术问题。

第一方面,本申请实施例提供了一种文件提交方法,该方法包括:获取待提交文件;确定与目标网络中的终端上一次提交的文件相关联的哈希值;在目标网络内广播哈希值,其中,目标网络中的终端响应于接收到哈希值,根据哈希值确定与待提交文件相关联的哈希值,并返回与待提交文件相关联的哈希值;响应于接收到与待提交文件相关联的哈希值,提交待提交文件和与待提交文件相关联的哈希值。

在本实施例中,确定与目标网络中的终端上一次提交的文件相关联的哈希值,包括:获取本地记录的与上一次提交的文件相关联的第一哈希值;在目标网络内广播第一哈希值,其中,目标网络中的终端响应于接收到第一哈希值,比较第一哈希值和本地记录的与上一次提交的文件相关联的第二哈希值是否相同,若是,则返回确认信息;响应于接收到的确认信息的个数大于预设个数,确定第一哈希值为与上一次提交的文件相关联的哈希值。

在本实施例中,与待提交文件相关联的哈希值经由以下步骤确定:目标网络中的终端分别穷举随机数,直到有终端穷举出目标随机数,其中,目标随机数和与上一次提交的文件相关联的哈希值拼接而成的值,经映射得到了符合预设条件的哈希值;穷举出目标随机数的终端向目标网络中除自身外的其他终端发送符合预设条件的哈希值,其他终端响应于获取到穷举出目标随机数的终端发送的哈希值,校验获取到的哈希值是否符合预设条件,响应于校验结果为符合的数量大于预设数量,确定获取到的哈希值为与待提交文件相关联的哈希值。

在本实施例中,在目标网络内广播所述哈希值之前,还包括:确定本地存储的目标网络中的终端上一次提交的文件的第一编码信息;在目标网络内广播第一编码信息,其中,目标网络中的终端响应于接收到第一编码信息,比较第一编码信息和本地存储的目标网络中的终端上一次提交的文件的第二编码信息是否相同,若是,则返回确定信息;响应于接收到的确定信息的数目大于预设数目,确定本地存储的目标网络中的终端上一次提交的文件为目标网络中的终端上一次提交的文件。

在本实施例中,提交待提交文件和与待提交文件相关联的哈希值,包括:提交待提交文件和与待提交文件相关联的哈希值,目标网络中的终端响应于获取到待提交文件和与待提交文件相关联的哈希值,返回用于表示已获取到待提交文件和与待提交文件相关联的哈希值的消息;响应于接收到的消息的数量小于预设数量,重新向目标网络中未返回消息的终端发送待提交文件和与待提交文件相关联的哈希值。

第二方面,本申请实施例提供了一种文件提交装置,该装置包括:获取单元,用于获取待提交文件;哈希值确定单元,用于确定与目标网络中的终端上一次提交的文件相关联的哈希值;哈希值广播单元,用于在目标网络内广播哈希值,其中,目标网络中的终端响应于接收到哈希值,根据哈希值确定与待提交文件相关联的哈希值,并返回与待提交文件相关联的哈希值;提交单元,用于响应于接收到与待提交文件相关联的哈希值,提交待提交文件和与待提交文件相关联的哈希值。

在本实施例中,哈希值确定单元,包括:获取子单元,用于获取本地记录的与上一次提交的文件相关联的第一哈希值;广播子单元,用于在目标网络内广播第一哈希值,其中,目标网络中的终端响应于接收到第一哈希值,比较第一哈希值和本地记录的与上一次提交的文件相关联的第二哈希值是否相同,若是,则返回确认信息;确定子单元,用于响应于接收到的确认信息的个数大于预设个数,确定第一哈希值为与上一次提交的文件相关联的哈希值。

在本实施例中,与待提交文件相关联的哈希值经由以下步骤确定:目标网络中的终端分别穷举随机数,直到有终端穷举出目标随机数,其中,目标随机数和与上一次提交的文件相关联的哈希值拼接而成的值,经映射得到了符合预设条件的哈希值;穷举出目标随机数的终端向目标网络中除自身外的其他终端发送符合预设条件的哈希值,其他终端响应于获取到穷举出目标随机数的终端发送的哈希值,校验获取到的哈希值是否符合预设条件,响应于校验结果为符合的数量大于预设数量,确定获取到的哈希值为与待提交文件相关联的哈希值。

在本实施例中,装置还包括:编码信息确定单元,用于确定本地存储的目标网络中的终端上一次提交的文件的第一编码信息;编码信息广播单元,用于在目标网络内广播第一编码信息,其中,目标网络中的终端响应于接收到第一编码信息,比较第一编码信息和本地存储的目标网络中的终端上一次提交的文件的第二编码信息是否相同,若是,则返回确定信息;文件确定单元,用于响应于接收到的确定信息的数目大于预设数目,确定本地存储的目标网络中的终端上一次提交的文件为目标网络中的终端上一次提交的文件。

在本实施例中,提交单元,包括:提交子单元,用于提交待提交文件和与待提交文件相关联的哈希值,目标网络中的终端响应于获取到待提交文件和与待提交文件相关联的哈希值,返回用于表示已获取到待提交文件和与待提交文件相关联的哈希值的消息;发送子单元,用于响应于接收到的消息的数量小于预设数量,重新向目标网络中未返回消息的终端发送待提交文件和与待提交文件相关联的哈希值。

第三方面,本申请实施例提供了一种设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行,使得上述一个或多个处理器实现如第一方面上述的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如第一方面上述的方法。

本申请实施例提供的文件提交方法和装置,通过获取待提交文件,而后确定与目标网络中的终端上一次提交的文件相关联的哈希值,并在目标网络内广播哈希值,最后响应于接收到与待提交文件相关联的哈希值,提交待提交文件和与待提交文件相关联的哈希值,提高了文件管理系统的安全性。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本申请可以应用于其中的示例性系统架构图;

图2是根据本申请的文件提交方法的一个实施例的示意性流程图;

图3是根据本申请的文件提交方法的又一个实施例的示意性流程图;

图4是根据本申请的文件提交方法的再一个实施例的示意性流程图;

图5是根据本申请的文件提交装置的一个实施例的示例性结构图;

图6是适于用来实现本申请实施例的设备的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请的文件提交方法或文件提交装置的实施例的示例性系统架构100。

如图1所示,系统架构100可以包括设备101、设备102、设备103和网络104。网络104用以在设备101、设备102和设备103之间提供传输链路的介质。网络104可以包括各种连接类型,例如有线、无线传输链路或者光纤电缆等等。网络104可以是一个p2p网络(对等网络,peer-to-peernetworking),即设备101、设备102和设备103之间都处于对等的地位,无主从之分,一台设备既可作为服务器,设定共享资源供网络中其他计算机所使用,又可以作为工作站,整个网络一般来说不依赖专用的集中服务器,也没有专用的工作站。

用户可以使用设备101、设备102或设备103通过网络104提交文件。设备101、设备102和设备103上可以安装有各种应用,例如,文件管理类应用、信息资讯类应用,可以获取待提交文件,而后确定与目标网络中的终端上一次提交的文件相关联的哈希值,并在目标网络内广播哈希值,最后响应于接收到与待提交文件相关联的哈希值,提交待提交文件和与待提交文件相关联的哈希值。设备101、设备102、设备103包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

需要说明的是,本申请实施例所提供的文件提交方法可以由设备101、设备102、设备103执行,相应地,文件提交装置可以设置于设备101、设备102、设备103中。

应该理解,图1中的设备和网络的数目仅仅是示意性的。根据实现需要,可以具有任意数目的设备和网络。

继续参考图2,示出了根据本申请的文件提交方法的一个实施例的流程200。该文件提交方法,包括以下步骤:

步骤201,获取待提交文件。

在本实施例中,文件提交方法运行于其上的电子设备(例如图1所示的设备)可以首先获取待提交文件。待提交文件可以是用户确定的。以git为例,需要进行版本控制的文件目录为仓库(repository),可分为本地仓库和远程仓库,本地仓库是指设备本地的文件目录,远程仓库是指托管在因特网或其他网络中的文件目录;用户改动本地内容后准备提交时,使用commit(提交)命令以实际提交改动,commit命令用于将改动提交到本地仓库中,但是还未提交至远端仓库。此时,与commit命令关联的文件可视为待提交文件。

步骤202,确定与目标网络中的终端上一次提交的文件相关联的哈希值。

在本实施例中,上述电子设备可以确定与目标网络中的终端上一次提交的文件相关联的哈希值。目标网络可以是一个分布式的无中心网络系统,目标网络中的各个终端每一次提交的文件及与其相关联的哈希值可以同时保存在目标网络中的多个终端内。以git为例,目标网络中的各个终端拥有文件的提交记录,在git中,文件可以是代码文件。哈希值是通过将单向数学函数(有时称为“哈希算法”)应用到任意数量的数据所得到的固定大小的结果,例如,可以通过sha(securehashalgorithm,安全散列算法)及其变体或ripemd(raceintegrityprimitivesevaluationmessagedigest,race,原始完整性校验消息摘要)算法进行运算得到。

上述电子设备可以将本地的提交记录中记载的与目标网络中的终端上一次提交的文件相关联的哈希值,确定为与目标网络中的终端上一次提交的文件相关联的哈希值。也可以通过与目标网络中的除自身外的其他终端交互,获取与目标网络中的终端上一次提交的文件相关联的哈希值,或通过与存储有与上一次提交的文件相关联的哈希值的终端相互通信以验证本地的提交记录中记载的与目标网络中的终端上一次提交的文件相关联的哈希值是否正确。

步骤203,在目标网络内广播哈希值。

在本实施例中,上述电子设备可以在目标网络内广播步骤202中确定的哈希值。目标网络中的终端响应于接收到上述电子设备广播的哈希值,可以根据接收到的哈希值确定与待提交文件相关联的哈希值,并返回与待提交文件相关联的哈希值。与待提交文件相关联的哈希值可以是将与上一次提交的文件相关联的哈希值和随机数拼接得到的值经映射得到的哈希值,也可以是将与是上一次提交的文件相关联的哈希值、随机数以及待提交文件的编码信息或其他编码信息(例如上述电子设备的标识的编码信息)拼接得到的值经映射得到的哈希值。目标网络中的终端可以根据接收到的哈希值,按照预先设置的哈希算法确定与待提交文件相关联的哈希值。

与目标网络中每一次提交文件相关联的哈希值之间的关系,可以通过哈希链来理解,哈希链即将所得哈希值再次传递给哈希函数得到其哈希值,例如,h0=hash(a);h1=hash(b||h0);h2=hash(c||h1),其中,“||”表示拼接,a、b、c为顺序产生的数据块。h0、h1、h2构成了一条哈希链,因为h2的值依赖于之前一系列数据的内容和计算顺序,若已知h2,无论修改a、b、c的内容还是a、b、c的出现顺序,都无法再次计算出正确的h2。此外,可以进一步添加一个随机数(nonce),即h0=hash(a||nonce);h1=hash(b||h0||nonce);h2=hash(c||h1||nonce)。通过设置哈希值需满足的条件,例如,h0、h1、h2的前5位为0,即h0、h1、h2的形式均为“00000*****************”,可以增加h0、h1、h2计算的难度,因为不能根据输出的形式来反推输入是什么,而a、b、c又是给定的,只能不断更改nonce来穷举计算,最终找到一个可以满足要求的nonce值,使得h0、h1、h2满足上述条件(也即,h0、h1和h2的前5位为0的条件)。

步骤204,响应于接收到与待提交文件相关联的哈希值,提交待提交文件和与待提交文件相关联的哈希值。

在本实施例中,上述电子设备可以响应于接收到与待提交文件相关联的哈希值,提交待提交文件和与待提交文件相关联的哈希值。提交待提交文件即将待提交文件提交至目标网络中的其他终端,使得目标网络中的其他终端可获得该待提交文件和与其相关联的哈希值。上述电子设备在提交待提交文件和与待提交文件相关联的哈希值后,还可以验证目标网络中的其他终端中记录的最近一次提交的文件和与其相关联的哈希值,是否是本次提交的文件和与其相关联的哈希值。

本申请的上述实施例提供的方法通过获取待提交文件,而后确定与目标网络中的终端上一次提交的文件相关联的哈希值,并在目标网络内广播哈希值,最后响应于接收到与待提交文件相关联的哈希值,提交待提交文件和与待提交文件相关联的哈希值,提高了文件管理系统的安全性。

在本实施例的一些可选实现方式中,与待提交文件相关联的哈希值经由以下步骤确定:目标网络中的终端分别穷举随机数,直到有终端穷举出目标随机数,其中,目标随机数和与上一次提交的文件相关联的哈希值拼接而成的值,经映射得到了符合预设条件的哈希值;穷举出目标随机数的终端向目标网络中除自身外的其他终端发送符合预设条件的哈希值,其他终端响应于接收到穷举出目标随机数的终端发送的哈希值,校验接收到的哈希值是否符合预设条件,响应于校验出接收到的哈希值符合预设条件的终端的数量大于预设数量,确定获取到的哈希值为与待提交文件相关联的哈希值。

在本实现方式中,以目标网络为p2p网络为例,上述电子设备在通过广播机制通知所有p2p网络中的终端与上一次提交的文件相关联的哈希值后,产生了一个新的确定与待提交文件相关联的哈希值的任务,上述任务由p2p网络中多个终端共同完成。预设条件可以是哈希值的前几位需为特定值,例如前5位均为0,通过预设条件的设置,增加了计算出符合预设条件的哈希值的难度,使得单个设备得到符合预设条件的哈希值的可能性较小,而p2p网络中的多台终端都在反复计算,直到计算出符合预设条件的哈希值的终端通知p2p网络中其他终端其计算的哈希值,其他终端可进一步校验计算出的哈希值是否符合预设条件,校验结果为符合或不符合,p2p网络中的终端包括上述电子设备可以对校验结果进行统计,响应于校验结果为符合的数量大于预设数量,确定计算出的哈希值为与待提交文件相关联的哈希值。

在本实施例的一些可选实现方式中,步骤204中的提交待提交文件和与待提交文件相关联的哈希值,还可以进一步包括:提交待提交文件和与待提交文件相关联的哈希值,目标网络中的终端响应于获取到待提交文件和与待提交文件相关联的哈希值,返回用于表示已获取到待提交文件和与待提交文件相关联的哈希值的消息;响应于接收到的消息的数量小于预设数量,重新向目标网络中未返回消息的终端发送待提交文件和与待提交文件相关联的哈希值。预设数量可以根据实际需要设置,例如,目标网络中终端数量的一半。

在本实现方式中,预设数量可根据计算出符合预设条件的哈希值需要消耗的计算资源确定,例如,需要消耗目标网络中一半的计算资源,那么预设数量可以是目标网络中终端数量的一半。本实现方式防止了目标网络中的终端设备伪造哈希值,进一步提高了文件管理系统的安全性。本实现方式实现了每一次提交都至少有预设数量的终端拥有本次的提交记录。如果目标网络中存在想篡改提交记录的非法终端,其必须篡改多个终端的哈希值,而篡改多个终端的哈希值的计算难度很大。并且目标网络中超过预设数量的终端同时拥有文件,非法终端同时删除目标网络中超过预设数量的终端保存的文件同样难度很大。

请参考图3,图3是根据本实施例的文件提交方法的又一个实施例的流程示意图。

在图3中,该文件提交方法的流程300,包括以下步骤:

步骤301,获取待提交文件。

在本实施例中,文件提交方法运行于其上的电子设备(例如图1所示的设备)可以首先获取待提交文件。

步骤302,获取本地记录的与上一次提交的文件相关联的第一哈希值。

在本实施例中,上述电子设备可以获取本地记录的与上一次提交的文件相关联的第一哈希值。上述电子设备本地记录的与上一次提交的文件相关联的第一哈希值可能由于网络等原因更新不及时,或者遭到了非法篡改,可能并不是真正的上一次提交的文件相关联的哈希值,所以需要后续步骤进行确定。

步骤303,在目标网络内广播第一哈希值。

在本实施例中,上述电子设备可以在目标网络内广播第一哈希值。目标网络中的终端响应于接收到第一哈希值,比较第一哈希值和本地记录的与上一次提交的文件相关联的第二哈希值是否相同,若是,则返回确认信息。

步骤304,响应于接收到的确认信息的个数大于预设个数,确定第一哈希值为与上一次提交的文件相关联的哈希值。

在本实施例中,上述电子设备可以响应于接收到的确认信息的个数大于预设个数,确定第一哈希值为与上一次提交的文件相关联的哈希值。预设个数可以根据实际需要设置,例如,目标网络中终端数量的一半。接收到的确认信息的个数大于预设个数,可以确定第一哈希值,与大于预设个数的终端中记录的与上一次提交的文件相关联的第二哈希值相同,进一步可以确定第一哈希值是真正的上一次提交的文件相关联的哈希值。若接收到的确认信息的个数不大于预设个数,则可以根据目标网络中其他终端中保存的提交记录更新本地的提交记录。

步骤305,在目标网络内广播哈希值。

在本实施例中,上述电子设备可以在目标网络内广播步骤304中确定的哈希值。目标网络中的终端响应于接收到上述电子设备广播的哈希值,可以根据接收到的哈希值确定与待提交文件相关联的哈希值,并返回与待提交文件相关联的哈希值。

步骤306,响应于接收到与待提交文件相关联的哈希值,提交待提交文件和与待提交文件相关联的哈希值。

在本实施例中,上述电子设备可以响应于接收到与待提交文件相关联的哈希值,提交待提交文件和与待提交文件相关联的哈希值。

步骤301、步骤305、步骤306的实现细节和技术效果可以参考步骤201、步骤203、步骤204中的说明,在此不再赘述。

从图3中可以看出,与图2对应的实施例相比,本实施例中的文件提交方法的流程300突出了确定与目标网络中的终端上一次提交的文件相关联的哈希值的步骤。由此,本实施例描述的方案进一步提高提高了文件系统的安全性。

请参考图4,图4是根据本实施例的文件提交方法的再一个实施例的流程示意图。

在图4中,该文件提交方法的流程400,包括以下步骤:

步骤401,获取待提交文件。

在本实施例中,文件提交方法运行于其上的电子设备(例如图1所示的设备)可以首先获取待提交文件。

步骤402,确定与目标网络中的终端上一次提交的文件相关联的哈希值。

在本实施例中,上述电子设备可以确定与目标网络中的终端上一次提交的文件相关联的哈希值。

步骤403,确定本地存储的目标网络中的终端上一次提交的文件的第一编码信息。

在本实施例中,上述电子设备可以确定本地存储的目标网络中的终端上一次提交的文件的第一编码信息。第一编码信息可以是本地存储的目标网络中的终端上一次提交的文件的哈希值,可以通过单向哈希算法得到,例如sha-1算法。上述电子设备本地存储的目标网络中的终端上一次提交的文件可能由于网络等原因更新不及时,或者遭到了非法篡改,可能并不是真正的上一次提交的文件,所以需要通过其编码信息进一步进行确定。

步骤404,在目标网络内广播第一编码信息。

在本实施例中,上述电子设备可以在目标网络内广播步骤403中确定的第一编码信息。其中,目标网络中的终端响应于接收到第一编码信息,比较第一编码信息和本地存储的目标网络中的终端上一次提交的文件的第二编码信息是否相同,若是,则返回确定信息。

步骤405,响应于接收到的确定信息的数目大于预设数目,确定本地存储的目标网络中的终端上一次提交的文件为目标网络中的终端上一次提交的文件。

在本实施例中,上述电子设备可以响应于接收到的确定信息的数目大于预设数目,确定本地存储的目标网络中的终端上一次提交的文件为目标网络中的终端上一次提交的文件。预设数目可以根据实际需要设置,例如,目标网络中终端数量的一半。接收到的确定信息的数目大于预设数目,可以确定本地存储的目标网络中的终端上一次提交的文件,与大于预设数目的终端中存储的目标网络中的终端上一次提交的文件相同,进一步可以确定本地存储的目标网络中的终端上一次提交的文件是真正的目标网络中的终端上一次提交的文件。若接收到的确定信息的数目不大于预设数目,则可以根据目标网络中其他终端中保存的提交记录更新本地存储的目标网络中的终端上一次提交的文件。

步骤406,在目标网络内广播哈希值。

在本实施例中,上述电子设备可以在确定本地存储的目标网络中的终端上一次提交的文件为目标网络中的终端上一次提交的文件之后,在目标网络内广播步骤402中确定的哈希值。目标网络中的终端响应于接收到上述电子设备广播的哈希值,可以根据接收到的哈希值确定与待提交文件相关联的哈希值,并返回与待提交文件相关联的哈希值。

步骤407,响应于接收到与待提交文件相关联的哈希值,提交待提交文件和与待提交文件相关联的哈希值。

在本实施例中,上述电子设备可以响应于接收到与待提交文件相关联的哈希值,提交待提交文件和与待提交文件相关联的哈希值。

步骤401、步骤402、步骤406、步骤407的实现细节和技术效果可以参考步骤201至步骤204中的说明,在此不再赘述。

从图4中可以看出,与图2对应的实施例相比,本实施例中的文件提交方法的流程400增加了确定目标网络中的终端上一次提交的文件的步骤。由此,本实施例描述的方案进一步提高了文件系统的安全性。

进一步参考图5,作为对上述方法的实现,本申请提供了一种文件提交装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图5所示,本实施例的文件提交装置500包括:获取单元501,哈希值确定单元502,哈希值广播单元503,提交单元504,其中,获取单元501,用于获取待提交文件;哈希值确定单元502,用于确定与目标网络中的终端上一次提交的文件相关联的哈希值;哈希值广播单元503,用于在目标网络内广播哈希值,其中,目标网络中的终端响应于接收到哈希值,根据哈希值确定与待提交文件相关联的哈希值,并返回与待提交文件相关联的哈希值;提交单元504,用于响应于接收到与待提交文件相关联的哈希值,提交待提交文件和与待提交文件相关联的哈希值。

在本实施例中,获取单元501,哈希值确定单元502,哈希值广播单元503,提交单元504的具体处理可以参考图2对应实施例步骤201、步骤202、步骤203、步骤204的详细描述,在此不再赘述。

在本实施例的一些可选实现方式中,哈希值确定单元502,包括:获取子单元(图中未示出),用于获取本地记录的与上一次提交的文件相关联的第一哈希值;广播子单元(图中未示出),用于在目标网络内广播第一哈希值,其中,目标网络中的终端响应于接收到第一哈希值,比较第一哈希值和本地记录的与上一次提交的文件相关联的第二哈希值是否相同,若是,则返回确认信息;确定子单元(图中未示出),用于响应于接收到的确认信息的个数大于预设个数,确定第一哈希值为与上一次提交的文件相关联的哈希值。

在本实施例的一些可选实现方式中,与待提交文件相关联的哈希值经由以下步骤确定:目标网络中的终端分别穷举随机数,直到有终端穷举出目标随机数,其中,目标随机数和与上一次提交的文件相关联的哈希值拼接而成的值,经映射得到了符合预设条件的哈希值;穷举出目标随机数的终端向目标网络中除自身外的其他终端发送符合预设条件的哈希值,其他终端响应于获取到穷举出目标随机数的终端发送的哈希值,校验获取到的哈希值是否符合预设条件,响应于校验结果为符合的数量大于预设数量,确定获取到的哈希值为与待提交文件相关联的哈希值。

在本实施例的一些可选实现方式中,装置还包括:编码信息确定单元(图中未示出),用于确定本地存储的目标网络中的终端上一次提交的文件的第一编码信息;编码信息广播单元(图中未示出),用于在目标网络内广播第一编码信息,其中,目标网络中的终端响应于接收到第一编码信息,比较第一编码信息和本地存储的目标网络中的终端上一次提交的文件的第二编码信息是否相同,若是,则返回确定信息;文件确定单元(图中未示出),用于响应于接收到的确定信息的数目大于预设数目,确定本地存储的目标网络中的终端上一次提交的文件为目标网络中的终端上一次提交的文件。

在本实施例的一些可选实现方式中,提交单元504,包括:提交子单元(图中未示出),用于提交待提交文件和与待提交文件相关联的哈希值,目标网络中的终端响应于获取到待提交文件和与待提交文件相关联的哈希值,返回用于表示已获取到待提交文件和与待提交文件相关联的哈希值的消息;发送子单元(图中未示出),用于响应于接收到的消息的数量小于预设数量,重新向目标网络中未返回消息的终端发送待提交文件和与待提交文件相关联的哈希值。

从图5中可以看出,本实施例中文件提交装置500通过获取待提交文件,而后确定与目标网络中的终端上一次提交的文件相关联的哈希值,并在目标网络内广播哈希值,最后响应于接收到与待提交文件相关联的哈希值,提交待提交文件和与待提交文件相关联的哈希值,提高了文件管理系统的安全性。

下面参考图6,其示出了适于用来实现本申请实施例的设备的计算机系统600的结构示意图。图6示出的终端仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图6所示,计算机系统600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram603中,还存储有系统600操作所需的各种程序和数据。cpu601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。

以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口606。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(cpu)601执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个单元、程序段、或代码的一部分,所述单元、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元,哈希值确定单元,哈希值广播单元,提交单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“用于获取待提交文件的单元”。

作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入服务器中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:获取待提交文件;确定与目标网络中的终端上一次提交的文件相关联的哈希值;在目标网络内广播哈希值,其中,目标网络中的终端响应于接收到哈希值,根据哈希值确定与待提交文件相关联的哈希值,并返回与待提交文件相关联的哈希值;响应于接收到与待提交文件相关联的哈希值,提交待提交文件和与待提交文件相关联的哈希值。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1