本發明涉及協同辦公,尤其涉及一種協同文檔處理方法、裝置和系統。
背景技術:
1、協同文檔一般是指能夠為不同的用戶分配不同的文檔權限(比如只讀權限、編輯權限等),以支持具有權限的多用戶同時進行線上編輯文本、上傳圖片、上傳附件、預覽、下載附件等操作的文檔。
2、目前,協同文檔主要通過調用附件的預覽和下載接口,基于調用的預覽和下載接口所設置的對應于用戶權限的附件預覽或下載所需的屬性信息,從文件存儲服務器中下載或預覽附件。
3、針對目前協同文檔處理附件的方式,一旦用戶獲取到其不具有權限的附件所對應的屬性信息(比如,從協同文檔的日志中截取附件的上傳id、附件的永久鏈接地址等),并將獲取的屬性信息替換預覽和下載接口中用戶具有權限的其他附件所對應的屬性信息,則用戶可以下載或預覽其不具有權限的附件。因此,在現有技術中,只需要用戶具有協同文檔權限以及下載或者預覽附件所需的屬性信息,而不需要協同文檔與附件之間的附屬關系,即可獲取到附件,導致協同文檔中附件的安全存在隱患。
技術實現思路
1、有鑒于此,本發明實施例提供一種協同文檔處理方法、裝置和系統,能夠有效地提高協同文檔中附件的安全。
2、為實現上述目的,第一方面,本發明實施例提供了一種協同文檔處理方法,包括:
3、在接收到針對第一協同文檔的上傳操作的情況下,將所述上傳操作所針對的附件上傳到文件存儲服務器,以使所述文件存儲服務器存儲所述附件,并為所述附件生成對應的上傳id;
4、為所述附件生成附件標簽信息;
5、在接收到所述文件存儲服務器發送的上傳id的情況下,將所述附件標簽信息、所述上傳id以及所述第一協同文檔的第一文檔id關聯存儲到數據庫;
6、在接收到所述數據庫的指示存儲成功的反饋信息的情況下,將所述附件標簽信息綁定到所述第一協同文檔;
7、基于所述數據庫關聯存儲的所述附件標簽信息、所述上傳id以及所述第一文檔id處理針對所述附件的下載操作或者預覽操作。
8、可選地,所述為所述附件生成附件標簽信息,包括:
9、為所述附件生成附件id;
10、或者,
11、為所述附件生成對應于所述協同文檔的附件屬性的屬性值。
12、可選地,所述將所述附件標簽信息、所述上傳id以及所述第一協同文檔的文檔id關聯存儲到數據庫,包括:
13、確定所述附件的文件特征信息;
14、將所述文件特征信息、所述上傳id以及所述附件標簽信息關聯存儲到數據庫構建的附件表中;
15、將所述附件標簽信息以及所述第一協同文檔的文檔id關聯存儲到數據庫構建的文檔附件關系表中。
16、可選地,所述將所述附件標簽信息綁定到所述第一協同文檔,包括:
17、為所述第一協同文檔構建附件標簽,其中,所述附件標簽包括屬性項;
18、在所述附件標簽中的屬性項中寫入所述附件標簽信息和/或所述文件特征信息。
19、可選地,所述基于所述數據庫關聯存儲的所述附件標簽信息、所述上傳id以及所述文檔id處理針對所述附件的下載操作或者預覽操作,包括:
20、在接收到第二協同文檔發送的下載操作或者預覽操作的情況下,獲取所述第二協同文檔的第二文檔id、對應于所述下載操作或者所述預覽操作的用戶信息和附件標簽信息;
21、對所述第二文檔id、所述用戶信息和所述附件標簽信息進行驗證;
22、根據驗證結果,對下載操作或者預覽操作進行處理。
23、可選地,所述對所述第二文檔id、所述用戶信息和所述附件標簽信息進行驗證,包括:
24、驗證所述用戶信息是否具有對應于所述第二協同文檔的下載權限或者預覽權限;
25、在驗證所述用戶信息具有所述下載權限或者所述預覽權限的情況下,根據所述數據庫關聯存儲的所述附件標簽信息以及所述文檔id,驗證所述第二協同文檔與所述附件標簽信息對應的附件之間是否存在附屬關系;
26、根據驗證結果,對所述下載操作或者預覽操作進行處理。
27、可選地,所述驗證所述第二協同文檔id與所述附件標簽信息對應的附件之間是否存在附屬關系,包括:
28、從所述數據庫中存儲有附件的文件特征信息和附件標簽信息的附件表中,檢索對應于所述下載操作或者所述預覽操作的附件標簽信息是否對應有文件特征信息;
29、在檢索到所述文件特征信息的情況下,根據所述數據庫中存儲有相關聯的附件標簽信息以及文檔id的文檔附件關系表,驗證所述第二文檔id與所述附件標簽信息之間是否相關聯;
30、如果驗證出所述第二文檔id與所述附件標簽信息之間相關聯,則確定所述第二協同文檔與所述附件標簽信息對應的附件之間存在附屬關系;
31、如果驗證出所述第二文檔id與所述附件標簽信息之間不相關,則確定所述第二協同文檔與所述附件標簽信息對應的附件之間不存在附屬關系。
32、可選地,所述對所述下載操作或者預覽操作進行處理,包括:
33、在驗證結果指示所述第二協同文檔與所述附件標簽信息對應的附件之間存在附屬關系的情況下,獲取對應于所述附件標簽信息的上傳id,將所述上傳id提供給所述文件存儲服務器,以使所述文件存儲服務器為所述上傳id所對應的附件生成附件臨時鏈接;
34、通過所述附件標簽信息調用文件預覽和下載接口,獲取對應于所述上傳id的附件臨時鏈接;
35、基于所述附件臨時鏈接為所述第二協同文檔下載或者預覽附件。
36、可選地,上述協同文檔處理方法,還包括:
37、獲取對應于所述附件上傳操作的用戶信息,并確定所述用戶信息所具有的針對所述第一協同文檔的權限;
38、在所述用戶信息所具有的針對所述第一協同文檔的權限包括上傳權限的情況下,執行所述將所述上傳操作所針對的附件上傳到文件存儲服務器的步驟。
39、第二方面,本發明實施例提供一種協同文檔處理裝置,包括:附件上傳模塊、信息處理模塊以及附件下載與預覽模塊,其中,
40、所述附件上傳模塊,用于在接收到針對第一協同文檔的上傳操作的情況下,將所述上傳操作所針對的附件上傳到文件存儲服務器,以使所述文件存儲服務器存儲所述附件,并為所述附件生成對應的上傳id;
41、所述信息處理模塊,用于為所述附件生成附件標簽信息;在接收到所述文件存儲服務器發送的上傳id的情況下,將所述附件標簽信息、所述上傳id以及所述第一協同文檔的第一文檔id關聯存儲到數據庫;在接收到所述數據庫的指示存儲成功的反饋信息的情況下,將所述附件標簽信息綁定到所述第一協同文檔;
42、所述附件下載與預覽模塊,用于基于所述數據庫關聯存儲的所述附件標簽信息、所述上傳id以及所述第一文檔id處理針對所述附件的下載操作或者預覽操作。
43、第三方面,本發明實施例提供一種協同文檔處理系統,包括:文件存儲服務器、數據庫以及上述第二方面實施例提供的協同文檔處理裝置,其中,
44、所述文件存儲服務器,用于存儲所述協同文檔處理裝置上傳的附件,并為所述附件生成對應的上傳id,并將所述上傳id發送給所述協同文檔處理裝置;
45、所述數據庫,用于關聯存儲所述協同文檔處理裝置提供的附件標簽信息、所述上傳id以及第一協同文檔的第一文檔id,發送指示存儲成功或者存儲失敗的反饋信息。
46、上述發明中的一個實施例具有如下優點或有益效果:通過為上傳附件的第一協同文檔中的附件生成附件標簽信息,并將文件存儲服務器為附件生成的上傳id、附件標簽信息以及第一協同文檔的第一文檔id關聯存儲到數據庫,第一協同文檔綁定附件標簽信息,即上傳id是對協同文檔不可見的,用戶通過除第一協同文檔之外的其他協同文檔或者通過第一協同文檔的日志也不能獲取到該第一協同文檔所包含附件的上傳id,而后續基于數據庫關聯存儲的附件標簽信息、上傳id以及第一文檔id處理針對附件的下載操作或者預覽操作,使得只有具有第一文檔id的協同文檔通過附件標簽信息才能獲取到上傳id,從而得到附件,在本發明實施例提供的方案使上傳id不對任何協同文檔公開且未在任何協同文檔的日志中記載,使上傳id更安全,從而有效地提高了協同文檔中的附件的安全性。
47、上述的非慣用的可選方式所具有的進一步效果將在下文中結合具體實施方式加以說明。