[發(fā)明專利]一種數(shù)據(jù)上傳方法、系統(tǒng)和計算機可讀存儲介質(zhì)有效
| 申請?zhí)枺?/td> | 201710356367.0 | 申請日: | 2017-05-19 |
| 公開(公告)號: | CN108959292B | 公開(公告)日: | 2021-03-30 |
| 發(fā)明(設(shè)計)人: | 馬文軍 | 申請(專利權(quán))人: | 北京京東尚科信息技術(shù)有限公司;北京京東世紀貿(mào)易有限公司 |
| 主分類號: | G06F16/21 | 分類號: | G06F16/21;G06F16/22 |
| 代理公司: | 北京律智知識產(chǎn)權(quán)代理有限公司 11438 | 代理人: | 姜怡;闞梓瑄 |
| 地址: | 100195 北京市海淀區(qū)杏石口路6*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù) 上傳 方法 系統(tǒng) 計算機 可讀 存儲 介質(zhì) | ||
1.一種在系統(tǒng)中上傳數(shù)據(jù)的方法,其中所述系統(tǒng)包括多個異步處理器,并且所述多個異步處理器中的每個與一個隊列相關(guān)聯(lián),該方法包括:
響應于用戶輸入,將載有數(shù)據(jù)的文件存儲至數(shù)據(jù)庫,并分配唯一的文件標識;
根據(jù)文件標識生成散列值;
根據(jù)散列值將文件存儲至相應的隊列中,其中,所述隊列為分布式集群,所述根據(jù)散列值將文件存儲至相應的隊列中包括:根據(jù)散列值將所述文件標識存儲至相應的隊列中;
每個異步處理器根據(jù)所述分布式集群的鎖機制按照與該異步處理器相對應的隊列中先后順序串行地獲取所述隊列中的待處理的文件標識,根據(jù)所述待處理的文件標識從所述數(shù)據(jù)庫中獲取對應的文件,以解析所述文件中的數(shù)據(jù),并將解析出的數(shù)據(jù)存儲至數(shù)據(jù)庫;
在根據(jù)所述待處理的文件標識從所述數(shù)據(jù)庫中獲取對應的文件后,在解析文件之前,還包括:判斷該文件的大小是否大于閾值,當大于閾值時,將該文件進行拆分,將拆分后的每個文件上傳至數(shù)據(jù)庫,并得到拆分后的每個文件的唯一的文件標識;如果該文件的大小不大于閾值,則解析文件中的數(shù)據(jù),并將數(shù)據(jù)存儲至數(shù)據(jù)庫中;
所述異步處理器的數(shù)量小于或等于所述數(shù)據(jù)庫允許的最大并發(fā)數(shù)量。
2.如權(quán)利要求1所述的方法,其中,在根據(jù)散列值將文件存儲至相應的隊列中之后,向用戶返回上傳成功消息。
3.一種上傳數(shù)據(jù)的系統(tǒng),包括:
數(shù)據(jù)庫,配置成存儲用戶上傳的載有數(shù)據(jù)的文件,并分配唯一的文件標識;
多個異步處理器,并且所述多個異步處理器中的每個與一個隊列關(guān)聯(lián),配置成:
根據(jù)文件標識生成散列值;
將所述文件標識存儲至與所述多個異步處理器關(guān)聯(lián)的多個隊列中的與所述散列值對應的隊列中,其中,所述隊列為分布式集群;
根據(jù)所述分布式集群的鎖機制,判斷與該處理器相關(guān)聯(lián)的隊列中是否有任務正在執(zhí)行,如果有,則等待;如果沒有,則按照與該異步處理器相對應的隊列中先后順序串行地獲取所述隊列中的待處理的文件標識,根據(jù)所述待處理的文件標識從所述數(shù)據(jù)庫中獲取對應的文件,以解析所述文件中的數(shù)據(jù),并將數(shù)據(jù)存儲至數(shù)據(jù)庫;
在根據(jù)所述待處理的文件標識從所述數(shù)據(jù)庫中獲取對應的文件后,在解析所述文件之前,還包括:判斷該文件的大小是否大于閾值,當大于閾值時,將該文件進行拆分,將拆分后的每個文件上傳至數(shù)據(jù)庫,并得到拆分后的每個文件的唯一的文件標識;如果該文件的大小不大于閾值,則解析文件中的數(shù)據(jù),并將數(shù)據(jù)存儲至數(shù)據(jù)庫中;
所述異步處理器的數(shù)量小于或等于所述數(shù)據(jù)庫允許的最大并發(fā)數(shù)量。
4.如權(quán)利要求3所述的系統(tǒng),其中,在根據(jù)散列值將文件存儲至相應的隊列中之后,向用戶返回上傳成功消息。
5.一種上傳數(shù)據(jù)的設(shè)備,所述設(shè)備具有多個異步處理器,并且所述多個異步處理器中的每個與一個隊列相關(guān)聯(lián),所述異步處理器的數(shù)量小于或等于存儲數(shù)據(jù)的數(shù)據(jù)庫允許的最大并發(fā)數(shù)量,包括:
用于存儲用戶上傳的載有數(shù)據(jù)的文件并分配唯一的文件標識的裝置;
用于根據(jù)文件標識生成散列值的裝置;
用于將文件標識存儲至與所述多個異步處理器相關(guān)聯(lián)的多個隊列中的與所述散列值對應的隊列中的裝置,其中,所述隊列為分布式集群;
用于各所述異步處理器根據(jù)所述分布式集群的鎖機制判斷與其關(guān)聯(lián)的隊列中是否有任務正在執(zhí)行,如果有,則等待;如果沒有,則按照所述隊列中的先后順序串行地獲取所述隊列中的待處理的文件標識,根據(jù)所述待處理的文件標識從所述數(shù)據(jù)庫中獲取對應的文件,以解析所述文件中的數(shù)據(jù),并將數(shù)據(jù)存儲至數(shù)據(jù)庫的裝置;
用于在根據(jù)所述待處理的文件標識從所述數(shù)據(jù)庫中獲取對應的文件后,在解析文件之前,判斷判斷該文件的大小是否大于閾值,當大于閾值時,將該文件進行拆分,將拆分后的每個文件上傳至數(shù)據(jù)庫,并得到拆分后的每個文件的唯一的文件標識;如果該文件的大小不大于閾值,則解析文件中的數(shù)據(jù),并將數(shù)據(jù)存儲至數(shù)據(jù)庫中的裝置。
6.一種計算機可讀存儲介質(zhì),該存儲介質(zhì)上存儲有計算機程序,該計算機程序被處理器執(zhí)行時,執(zhí)行如權(quán)利要求1-2中任一項所述的方法。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京京東尚科信息技術(shù)有限公司;北京京東世紀貿(mào)易有限公司,未經(jīng)北京京東尚科信息技術(shù)有限公司;北京京東世紀貿(mào)易有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710356367.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





