Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何维护唯一的实际pdf文件?在服务器中_Java_Pdf_Concurrency_Version - Fatal编程技术网

Java 如何维护唯一的实际pdf文件?在服务器中

Java 如何维护唯一的实际pdf文件?在服务器中,java,pdf,concurrency,version,Java,Pdf,Concurrency,Version,这就是问题所在。 用户可以提交一个pdf文件,供其他用户下载,其他用户可以对pdf文件进行修改,基本上可以进行评论和注释。用户可以通过这些修改再次提交文件。 问题是,如何管理文件的版本?因为如果两个用户尝试提交文件(使用不同的东西),可能会丢失一个文件。 乍一看,我尝试为文件实现签名,这是一种方法: 服务器中的文件是文件A。 用户下载文件并进行修改。现在我们有了文件A1和文件A2。 当用户A1提交文件时,系统检查签名和匹配,因此可以提交文件。服务器现在再次对文件签名并更改为B。 当A2尝试提交文

这就是问题所在。 用户可以提交一个pdf文件,供其他用户下载,其他用户可以对pdf文件进行修改,基本上可以进行评论和注释。用户可以通过这些修改再次提交文件。 问题是,如何管理文件的版本?因为如果两个用户尝试提交文件(使用不同的东西),可能会丢失一个文件。 乍一看,我尝试为文件实现签名,这是一种方法: 服务器中的文件是文件A。 用户下载文件并进行修改。现在我们有了文件A1和文件A2。 当用户A1提交文件时,系统检查签名和匹配,因此可以提交文件。服务器现在再次对文件签名并更改为B。 当A2尝试提交文件时,系统检查签名并确定B与A不匹配。因此用户需要下载最新的文件。 很酷啊?这是理论,但我不知道如何实现它! 如何以透明的方式将此签名附加到pdf文件中? 或者我太复杂了。你能给出一个如何实现它的提示,一个api,或者一种不同的方式吗? 我正在使用java和spring。
你好

使用一个表将“标题”数据保存到记录中,例如文件名、创建日期、上次修改日期等。然后创建一个版本表,其中FK返回主表,整数表示文档的版本。然后,当您显示或检索文档时,您可以按版本引用它们,或者只获取最新版本。这对政府审计也有好处。文档保留非常重要,他们希望看到原始文档,未被触动,以及导致新文档的修订痕迹。

如果有一个pdf,并根据请求从包含用户所做更改的文件或数据库生成它,怎么样?假设生成PDF不是非常昂贵。如果工具正确使用了文档id,您可以使用它。PDF id由两部分组成。一个文件的所有版本的第一部分应该是相同的,第二部分应该是不同的。不要重新发明轮子-让你的用户使用谷歌文档、Github GIST等。