專利名稱:一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息處理領(lǐng)域,尤其涉及一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法。
背景技術(shù):
在日常生活中,人們需要在不同的終端設(shè)備上創(chuàng)建相同的信息,上述終端設(shè)備一般為電腦,現(xiàn)在普遍采用的方法是通過網(wǎng)絡(luò)來實(shí)現(xiàn)不同終端上信息的遠(yuǎn)程同步。但是,網(wǎng)絡(luò)遠(yuǎn)程同步數(shù)據(jù)的過程中存在數(shù)據(jù)被惡意篡改的風(fēng)險(xiǎn),數(shù)據(jù)的安全性受到影響很可能會給用戶帶來重大損失,例如,兩臺服務(wù)器的數(shù)據(jù)庫遠(yuǎn)程同步數(shù)據(jù)過程中出現(xiàn)數(shù)據(jù)被惡意篡改的現(xiàn)象,則容易導(dǎo)致兩臺服務(wù)器對應(yīng)的工作流程出現(xiàn)不對應(yīng),直接造成經(jīng)濟(jì)損失。為了解決數(shù)據(jù)遠(yuǎn)程同步的安全性問題,發(fā)明人提出了一種實(shí)現(xiàn)方法來保障數(shù)據(jù)遠(yuǎn)程同步的安全性
發(fā)明內(nèi)容
為解決現(xiàn)有技術(shù)中數(shù)據(jù)同步過程中所存在的風(fēng)險(xiǎn)問題,本發(fā)明提出了一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法。本發(fā)明采用的技術(shù)方案是一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法,包括當(dāng)?shù)谝粩?shù)據(jù)庫接收到訂單信息時(shí)執(zhí)行步驟SI至步驟S4 ;步驟SI :第一數(shù)據(jù)庫將接收到的訂單信息保存至訂單信息表,根據(jù)第一密鑰和所述訂單信息表中訂單信息中包含的用戶基本信息生成第一文摘,并向第二數(shù)據(jù)庫發(fā)送第一請求數(shù)據(jù);步驟S2 :所述第二數(shù)據(jù)庫從接收到的所述第一請求數(shù)據(jù)中獲取訂單信息和第一文摘,并根據(jù)第二密鑰和獲取到的所述訂單信息中包含的用戶基本信息生成第二文摘;步驟S3 :所述第二數(shù)據(jù)庫比對所述第一文摘和所述第二文摘是否一致,是則執(zhí)行下一步,否則向所述第一數(shù)據(jù)庫返回包含錯(cuò)誤碼的請求響應(yīng);步驟S4 :所述第二數(shù)據(jù)庫將獲取到的所述訂單信息保存至正式列表中,并向所述第一數(shù)據(jù)庫發(fā)送包含同步成功編碼的請求響應(yīng);所述步驟S4之后還包括步驟S5 :所述第二數(shù)據(jù)庫為正式列表中的訂單信息中包含的產(chǎn)品序列號字段保存產(chǎn)品序列號;當(dāng)?shù)诙?shù)據(jù)庫接收到物流號和訂單號時(shí),執(zhí)行步驟S6至步驟Sll ;步驟S6 :所述第二數(shù)據(jù)庫將接收到的物流號和訂單號保存至臨時(shí)列表中,并根據(jù)所述訂單號從正式列表中查找到與之對應(yīng)的訂單信息;步驟S7 :所述第二數(shù)據(jù)庫根據(jù)第二密鑰、查找到的所述訂單信息中包含的用戶基本信息和產(chǎn)品序列號、臨時(shí)列表中的所述物流號生成第三文摘,并向所述第一數(shù)據(jù)庫發(fā)送第二請求數(shù)據(jù);步驟S8 :所述第一數(shù)據(jù)庫從接收到的所述第二請求數(shù)據(jù)中獲取訂單信息、物流號和第三文摘,并根據(jù)第一密鑰、所述物流號、所述訂單信息中包含的用戶基本信息和產(chǎn)品序列號生成第四文摘;
步驟S9 :所述第一數(shù)據(jù)庫比對所述第三文摘和所述第四文摘是否一致,是則執(zhí)行下一步,否則向所述第二數(shù)據(jù)庫發(fā)送包含錯(cuò)誤碼的請求響應(yīng);步驟SlO :所述第一數(shù)據(jù)庫為所述訂單信息表中的訂單信息的物流號字段保存所述物流號,并向所述第二數(shù)據(jù)庫發(fā)送包含同步成功編碼的請求響應(yīng);步驟Sll :所述第二數(shù)據(jù)庫將所述物流號保存至正式列表中的所述訂單信息包含的物流號字段,并將臨時(shí)列表中的所述訂單信息刪除。上述訂單信息中包含有用戶基本信息、訂單號、產(chǎn)品型號字段、產(chǎn)品序列號字段和物流號字段,所述產(chǎn)品序列號字段和物流號字段初始為空。 上述第一密鑰和所述第二密鑰是第一數(shù)據(jù)庫和第二數(shù)據(jù)庫預(yù)先協(xié)商的會話密鑰?;蛘呤撬龅谝粩?shù)據(jù)庫和所述第二數(shù)據(jù)庫中預(yù)存有根據(jù)時(shí)間命名的協(xié)商密鑰文件,所述步驟SI還包括,所述第一數(shù)據(jù)庫讀取當(dāng)前系統(tǒng)時(shí)間,根據(jù)當(dāng)前系統(tǒng)時(shí)間讀取相應(yīng)的協(xié)商密鑰文件,從所述協(xié)商密鑰文件中獲取第一密鑰,所述步驟S2還包括,所述第二數(shù)據(jù)庫讀取當(dāng)前系統(tǒng)時(shí)間,根據(jù)當(dāng)前系統(tǒng)時(shí)間讀取相應(yīng)的協(xié)商密鑰文件,從所述協(xié)商密鑰文件中獲取第二密鑰。步驟SI所述第一數(shù)據(jù)庫根據(jù)第一密鑰和訂單信息表中訂單信息中包含的用戶基本信息生成第一文摘具體為所述第一數(shù)據(jù)庫將所述訂單信息中的用戶基本信息和所述第一密鑰按預(yù)先約定的順序拼接為一個(gè)數(shù)據(jù)串,采用預(yù)先約定的算法對所述數(shù)據(jù)串進(jìn)行加密產(chǎn)生第一文摘;步驟S2所述根據(jù)第二密鑰和獲取到的所述訂單信息中包含的用戶基本信息生成第二文摘具體為將所述訂單信息中的用戶基本信息和第二密鑰按預(yù)先約定的順序拼接為一個(gè)數(shù)據(jù)串,采用預(yù)先約定的算法對所述數(shù)據(jù)串進(jìn)行加密產(chǎn)生第二文摘。所述步驟S2還包括,所述第二數(shù)據(jù)庫驗(yàn)證從所述第一請求數(shù)據(jù)中獲取的所述訂單信息的有效性的過程,所述步驟S8還包括,所述第一數(shù)據(jù)庫驗(yàn)證從所述第二請求數(shù)據(jù)中獲取的所述訂單信息的有效性的過程;驗(yàn)證所述訂單信息的有效性的過程具體為驗(yàn)證所述訂單信息的格式和內(nèi)容是否有效。所述步驟S5具體為,所述第二數(shù)據(jù)庫根據(jù)所述訂單信息中包含的產(chǎn)品型號字段要求檢索產(chǎn)品庫中符合條件的最優(yōu)匹配產(chǎn)品,將檢索到的產(chǎn)品記錄中的產(chǎn)品序列號字段值保存至所述訂單信息的產(chǎn)品序列號字段中。所述步驟S5包括,所述第二數(shù)據(jù)庫創(chuàng)建第一作業(yè),創(chuàng)建觸發(fā)器并設(shè)置觸發(fā)器參數(shù),設(shè)置調(diào)度開始時(shí)間和調(diào)度間隔時(shí)間,當(dāng)監(jiān)測到系統(tǒng)時(shí)間達(dá)到調(diào)度開始時(shí)間時(shí),啟動(dòng)任務(wù)調(diào)度器調(diào)度創(chuàng)建的作業(yè),并將調(diào)度開始時(shí)間增加所述調(diào)度間隔時(shí)間;所述創(chuàng)建的第一作業(yè)為自動(dòng)遍歷正式列表中的所有訂單信息,根據(jù)訂單信息的產(chǎn)品型號字段要求檢索產(chǎn)品庫中符合條件的最優(yōu)匹配產(chǎn)品記錄,將產(chǎn)品記錄中產(chǎn)品序列號字段值保存至所述訂單信息的產(chǎn)品序列號字段中。所述步驟S6包括,所述第二數(shù)據(jù)庫在正式列表中查找是否存在接收到的所述訂單號,是則將接收到的所述物流號和訂單號作為一條記錄保存至臨時(shí)列表中,否則不保存。或者是所述步驟S6包括,所述第二數(shù)據(jù)庫創(chuàng)建第二作業(yè)和第三作業(yè),創(chuàng)建觸發(fā)器并設(shè)置觸發(fā)器參數(shù),設(shè)置第二調(diào)度開始時(shí)間、第三調(diào)度開始時(shí)間和調(diào)度間隔時(shí)間,當(dāng)監(jiān)測到系統(tǒng)時(shí)間達(dá)到第二調(diào)度開始時(shí)間時(shí),啟動(dòng)任務(wù)調(diào)度器調(diào)度創(chuàng)建的第二作業(yè),并將第二調(diào)度開始時(shí)間增加所述調(diào)度間隔時(shí)間,當(dāng)監(jiān)測到系統(tǒng)時(shí)間達(dá)到第三調(diào)度開始時(shí)間時(shí),啟動(dòng)任務(wù)調(diào)度器調(diào)度創(chuàng)建的第三作業(yè),并將第二調(diào)度開始時(shí)間增加所述調(diào)度間隔時(shí)間;所述第二作業(yè)為,將存放訂單信息的正式列表下載到指定存儲空間,所述第三作業(yè)為,從所述指定存儲空間獲取保存訂單號和物流號的臨時(shí)列表。步驟S4所述向所述第一數(shù)據(jù)庫發(fā)送包含成功編碼的請求響應(yīng)之后包括,所述第一數(shù)據(jù)庫接收到所述請求響應(yīng)后,標(biāo)記所述訂單信息生效。所述步驟Sll可以替換為所述第二數(shù)據(jù)庫將所述物流號保存至正式列表中的所述訂單信息包含的物流號字段,并將臨時(shí)列表中的所述訂單信息標(biāo)記為已處理。本發(fā)明所述方法還包括,當(dāng)系統(tǒng)時(shí)間達(dá)到預(yù)設(shè)時(shí)間時(shí),啟動(dòng)任務(wù)調(diào)度器調(diào)度第四作業(yè),所述第四作業(yè)為檢索臨時(shí)表中標(biāo)記為已處理的訂單信息并將其刪除。所述步驟S4中當(dāng)所述第二數(shù)據(jù)庫接收到要更新的訂單信息時(shí)包括,將所述要更 新的訂單信息保存到正式列表中,所述要更新的訂單信息中的產(chǎn)品序列號字段包括舊產(chǎn)品序列號字段和新產(chǎn)品序列號字段;所述步驟S5具體為,為正式列表中的所述要更新的訂單信息的產(chǎn)品序列號字段保存新產(chǎn)品序列號,將被更新的訂單信息中包含的產(chǎn)品序列號保存到所述要更新的訂單信息的舊產(chǎn)品序列號字段中。步驟S7所述第二數(shù)據(jù)庫根據(jù)第二密鑰、查找到的所述訂單信息中包含的用戶基本信息和產(chǎn)品序列號、臨時(shí)列表中的所述物流號生成第三文摘具體為,所述第二數(shù)據(jù)庫將所述訂單信息中的用戶基本信息和產(chǎn)品序列號、臨時(shí)列表中的所述物流號以及第二密鑰按照預(yù)先約定的順序拼接為一個(gè)數(shù)據(jù)串,并對所述數(shù)據(jù)串采用預(yù)先約定的算法產(chǎn)生第三文摘;步驟S8所述根據(jù)第一密鑰、所述物流號、所述訂單信息中包含的用戶基本信息和產(chǎn)品序列號生成第四文摘具體為,所述第一數(shù)據(jù)庫將所述訂單信息中的用戶基本信息和產(chǎn)品序列號、所述物流號以及所述第一密鑰按預(yù)先約定的順序拼接為一個(gè)數(shù)據(jù)串,采用預(yù)先約定的算法對所述數(shù)據(jù)串進(jìn)行加密產(chǎn)生第四文摘。本發(fā)明的有益效果是采用本發(fā)明提出的方法能夠有效避免遠(yuǎn)程數(shù)據(jù)同步過程所帶來的風(fēng)險(xiǎn),同時(shí)能保障數(shù)據(jù)同步不遺漏1)通過實(shí)時(shí)觸發(fā)接口來保證數(shù)據(jù)即時(shí)同步,通過定時(shí)掃描數(shù)據(jù)來觸發(fā)接口,保障數(shù)據(jù)同步無遺漏;2)能夠檢測出數(shù)據(jù)傳輸過程中是否被篡改;3)網(wǎng)絡(luò)傳輸中的文摘產(chǎn)生的數(shù)據(jù)來源不明確也是本方法安全保障的特色。
圖I是實(shí)施例I提供的一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法流程圖;圖2是實(shí)施例2提供的一種數(shù)據(jù)庫其中一方的數(shù)據(jù)同步流程圖;圖3是實(shí)施例3提供的一種更新訂單信息的流程圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例中數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法以遠(yuǎn)程同步數(shù)據(jù)庫中的訂單信息為例進(jìn)行詳細(xì)介紹。實(shí)施例I本實(shí)施例提供的一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法,可以實(shí)現(xiàn)第一數(shù)據(jù)庫和第二數(shù)據(jù)庫的訂單信息的實(shí)時(shí)同步,如圖I所示,包括以下步驟步驟I :第一數(shù)據(jù)庫接收用戶申請的訂單信息;具體地,所述訂單信息中包含有用戶基本信息、訂單號、產(chǎn)品型號字段、產(chǎn)品序列號字段和物流號字段,所述產(chǎn)品序列號字段和物流號字段初始為空,第一數(shù)據(jù)庫將接收到的訂單信息保存至訂單信息表。本實(shí)施例中第一數(shù)據(jù)庫接收到用戶申請的訂單信息之前包括,第一數(shù)據(jù)庫與第二數(shù)據(jù)庫協(xié)商產(chǎn)生一對會話密鑰,即第一密鑰和第二密鑰,第一數(shù)據(jù)庫存儲所述第一密鑰,第·二數(shù)據(jù)庫存儲所述第二密鑰。步驟2 :第一數(shù)據(jù)庫根據(jù)第一密鑰和訂單信息中的用戶基本信息產(chǎn)生第一文摘;具體為將訂單信息中的用戶基本信息和第一密鑰按預(yù)先約定的順序拼接為一個(gè)數(shù)據(jù)串,采用預(yù)先約定的算法對該數(shù)據(jù)串進(jìn)行加密產(chǎn)生第一文摘。本實(shí)施例中,所述訂單信息中的用戶基本信息具體包括收貨人姓名、住址、電話等信息。優(yōu)選的,將訂單信息中的用戶基本信息和第一密鑰按先后順序拼接為一個(gè)數(shù)據(jù)串,用MD5算法對該數(shù)據(jù)串進(jìn)行計(jì)算得到第一文摘。除此之外,還可以采用SHAl算法對該數(shù)據(jù)串進(jìn)行加密產(chǎn)生第一文摘,從而達(dá)到對傳輸?shù)耐綌?shù)據(jù)進(jìn)行保護(hù)的目的。步驟3 :第一數(shù)據(jù)庫將訂單信息與第一文摘封裝為第一請求數(shù)據(jù)并發(fā)送至第二數(shù)據(jù)庫。具體地,第一數(shù)據(jù)庫和第二數(shù)據(jù)庫之間的相互調(diào)用采用URL請求路徑的方式,本實(shí)施例中優(yōu)選的,將訂單信息與第一文摘封裝為URL第一請求數(shù)據(jù)發(fā)送至第二數(shù)據(jù)庫。步驟4 :第二數(shù)據(jù)庫接收第一請求數(shù)據(jù)從中獲取訂單信息和第一文摘,根據(jù)第二密鑰和訂單信息中的用戶基本信息產(chǎn)生第二文摘;具體地,第二數(shù)據(jù)庫接收到URL第一請求數(shù)據(jù),從中讀取到訂單信息和第一文摘,將訂單信息中的用戶基本信息和第二密鑰按預(yù)先約定的順序拼接為一個(gè)數(shù)據(jù)串,采用預(yù)先約定的算法對該數(shù)據(jù)串進(jìn)行加密產(chǎn)生第二文摘。優(yōu)選的,將訂單信息和第二密鑰按先后順序拼接為一個(gè)數(shù)據(jù)串,用MD5算法對該數(shù)據(jù)串進(jìn)行計(jì)算得到第二文摘。除此之外,還可以采用SHAl算法對該數(shù)據(jù)串進(jìn)行加密產(chǎn)生第二文摘,從而達(dá)到對傳輸?shù)耐綌?shù)據(jù)進(jìn)行保護(hù)的目的。優(yōu)選的,還可以設(shè)置第一數(shù)據(jù)庫和第二數(shù)據(jù)庫間隔一定時(shí)間重新協(xié)商一次密鑰,例如間隔時(shí)間為I個(gè)月,具體實(shí)現(xiàn)方式為在第一數(shù)據(jù)庫和第二數(shù)據(jù)庫中預(yù)存一些協(xié)商密鑰文件,協(xié)商密鑰文件的文件名用月份表示,步驟2還包括,第一數(shù)據(jù)庫讀取當(dāng)前系統(tǒng)時(shí)間,根據(jù)當(dāng)前系統(tǒng)時(shí)間讀取相應(yīng)月份的協(xié)商密鑰文件,從該文件中獲取第一密鑰,相應(yīng)的步驟4還包括,第二數(shù)據(jù)庫讀取當(dāng)前系統(tǒng)時(shí)間,根據(jù)當(dāng)前系統(tǒng)時(shí)間讀取相應(yīng)月份的協(xié)商密鑰文件,從該文件中獲取第二密鑰。進(jìn)一步的,本實(shí)施例中步驟4還可以具體為以下步驟
步驟4-1 :第二數(shù)據(jù)庫驗(yàn)證URL第一請求數(shù)據(jù)中訂單信息的有效性,如有效則繼續(xù)步驟4-2,否則執(zhí)行步驟4-3;本實(shí)施例中具體地,驗(yàn)證URL第一請求數(shù)據(jù)中訂單信息的有效性具體為驗(yàn)證所述訂單信息的格式和內(nèi)容是否有效,例如,驗(yàn)證訂單信息中包含的用戶名是否符合預(yù)設(shè)格式,驗(yàn)證訂單信息中包含的手機(jī)號長度是否有效。步驟4-2 :第二數(shù)據(jù)庫接收URL第一請求數(shù)據(jù)中的訂單 信息,按照預(yù)先約定的順序?qū)⒂唵涡畔⒅械挠脩艋拘畔⑴c第二密鑰拼接為一個(gè)數(shù)據(jù)串,并用此數(shù)據(jù)串采用預(yù)先約定的算法產(chǎn)生第二文摘。步驟4-3 :第二數(shù)據(jù)庫向第一數(shù)據(jù)庫返回一個(gè)請求響應(yīng)Response。Response封裝了數(shù)據(jù)有效性驗(yàn)證失敗的錯(cuò)誤碼,跳轉(zhuǎn)執(zhí)行步驟I。例如,錯(cuò)誤碼2000017表示缺少產(chǎn)品型號參數(shù)。步驟5 :第二數(shù)據(jù)庫比對第二文摘與第一文摘是否一致,是則執(zhí)行步驟7,否則執(zhí)行步驟6 ;步驟6 :第二數(shù)據(jù)庫向第一數(shù)據(jù)庫返回一個(gè)包含錯(cuò)誤碼的請求響應(yīng)Response。Response封裝了數(shù)據(jù)同步驗(yàn)證失敗的錯(cuò)誤碼,然后返回執(zhí)行步驟I ;例如,錯(cuò)誤碼2000000表示驗(yàn)簽文摘失敗。步驟7 :第二數(shù)據(jù)庫保存URL請求數(shù)據(jù)中的訂單信息到正式列表中;步驟8 :第二數(shù)據(jù)庫向第一數(shù)據(jù)庫發(fā)送包含同步成功編碼的請求響應(yīng);本實(shí)施例中具體地,第二數(shù)據(jù)庫保存訂單信息完成后向第一數(shù)據(jù)庫返回一個(gè)請求響應(yīng)Response, Response封裝了數(shù)據(jù)同步成功的編碼。至此,第一數(shù)據(jù)庫與第二數(shù)據(jù)庫完成訂單信息中用戶基本信息的數(shù)據(jù)同步。步驟9 :第一數(shù)據(jù)庫接收第二數(shù)據(jù)庫的成功Response消息后,標(biāo)記訂單信息生效。步驟10 :第二數(shù)據(jù)庫為正式列表中的訂單信息的產(chǎn)品序列號字段保存產(chǎn)品序列號;具體地,第二數(shù)據(jù)庫遍歷正式列表中的所有訂單信息,根據(jù)訂單信息中的產(chǎn)品型號字段要求檢索產(chǎn)品庫中符合條件的最優(yōu)匹配產(chǎn)品,若檢索到則將檢索到的產(chǎn)品記錄中的產(chǎn)品序列號字段值保存至此訂單信息的序列號字段中;若未檢索到則第二數(shù)據(jù)庫向外發(fā)送保存產(chǎn)品序列號失敗的提醒。優(yōu)選的,還可以使用quartz調(diào)度器實(shí)現(xiàn)任務(wù)調(diào)度,設(shè)定調(diào)度的開始時(shí)間及調(diào)度的間隔時(shí)間,比如間隔24小時(shí),具體實(shí)現(xiàn)方式為創(chuàng)建quartz作業(yè),創(chuàng)建觸發(fā)器并設(shè)置觸發(fā)器的參數(shù),設(shè)置調(diào)度開始時(shí)間和調(diào)度間隔時(shí)間,例如,設(shè)置調(diào)度開始時(shí)間為am8:00,設(shè)置調(diào)度間隔時(shí)間為12小時(shí),當(dāng)監(jiān)測到系統(tǒng)時(shí)間達(dá)到調(diào)度開始時(shí)間時(shí),啟動(dòng)quartz調(diào)度器調(diào)度創(chuàng)建的quartz作業(yè),并將調(diào)度開始時(shí)間增加所述間隔時(shí)間作為下一次調(diào)度開始時(shí)間。本實(shí)施例中創(chuàng)建的quartz作業(yè)具體為自動(dòng)遍歷正式列表中的所有訂單信息,根據(jù)訂單信息的產(chǎn)品型號字段要求檢索產(chǎn)品庫中符合條件的最優(yōu)匹配產(chǎn)品記錄,將產(chǎn)品記錄中產(chǎn)品序列號字段值保存至此訂單信息中的產(chǎn)品序列號字段中。配套的優(yōu)先方案還有針對產(chǎn)品庫未出售(匹配)的存量預(yù)警使用quartz任務(wù)調(diào)度,即創(chuàng)建多個(gè)quartz作業(yè),所述quartz作業(yè)還包括第二數(shù)據(jù)庫查詢庫存表中剩余的庫存量,當(dāng)檢索出庫存量少于預(yù)設(shè)的數(shù)值時(shí),向產(chǎn)品中心人員發(fā)送郵箱及手機(jī)短信提醒。
步驟11 :第二數(shù)據(jù)庫接收產(chǎn)品發(fā)貨人員輸入的物流號和訂單號并保存至臨時(shí)列表中;具體地,第二數(shù)據(jù)庫接收到產(chǎn)品發(fā)貨人員輸入的物流號和訂單號,通過訂單號檢索訂單信息正式列表中有無此訂單號,如果有則將產(chǎn)品發(fā)貨人員輸入的物流號與訂單號保存至臨時(shí)列表中;如果訂單信息正式列表中無此訂單號,則繼續(xù)接收產(chǎn)品發(fā)貨人員輸入的下一條訂單號和物流號。本實(shí)施例中具體地,所述產(chǎn)品發(fā)貨人員為登錄到當(dāng)前系統(tǒng)即第二數(shù)據(jù)庫的訂單操作人員,因此系統(tǒng)獲取物流號是在訂單操作人員登錄的狀態(tài)下完成的。臨時(shí)列表中所存的每條記錄的訂單號也確保了在正式列表中有對應(yīng)的訂單號。進(jìn)一步的,還可以設(shè)定第二數(shù)據(jù)庫使用quartz任務(wù)調(diào)度,實(shí)現(xiàn)第二數(shù)據(jù)庫每天定 時(shí)將訂單信息下載到產(chǎn)品發(fā)貨人員的郵箱或其它存儲空間,具體實(shí)現(xiàn)方式同步驟10所述,不同的是本步驟中創(chuàng)建并調(diào)用的quartz作業(yè)為下載訂單信息到產(chǎn)品發(fā)貨人員的郵箱或其他存儲空間。更進(jìn)一步的,產(chǎn)品發(fā)貨人員不用登錄系統(tǒng),只把每個(gè)訂單的物流號與訂單號保存到郵箱或其它存儲空間,第二數(shù)據(jù)庫使用quartz任務(wù)調(diào)度,設(shè)定調(diào)度的開始時(shí)間及調(diào)度的間隔時(shí)間,比如間隔24小時(shí),則第二數(shù)據(jù)庫每天定時(shí)從產(chǎn)品發(fā)貨人員的郵箱或其它存儲空間讀取所有物流號及對應(yīng)訂單號,第二數(shù)據(jù)庫通過訂單號檢索訂單信息正式列表中有無此訂單號,如果有則將讀取到的物流號與訂單號保存至臨時(shí)列表中,若在訂單信息正式列表中未檢索到訂單號的則不作保存。quartz任務(wù)調(diào)度的創(chuàng)建過程同步驟10所述,通過quartz任務(wù)調(diào)度器實(shí)現(xiàn)定時(shí)調(diào)用所創(chuàng)建的作業(yè),例如,可以實(shí)現(xiàn)第二數(shù)據(jù)庫每天早上8點(diǎn)自動(dòng)將訂單信息下載到產(chǎn)品發(fā)貨人員指定的郵箱或存儲空間,每天晚上8點(diǎn)自動(dòng)從所述指定的郵箱或存儲空間獲取訂單號與對應(yīng)物流號。采用這種方式,產(chǎn)品發(fā)貨人員不需要登錄系統(tǒng)也可以獲取到訂單列表,在為訂單信息綁定物流號后也不需要登錄系統(tǒng)導(dǎo)入物流號,系統(tǒng)可以自動(dòng)獲取到物流號,節(jié)省了人工登錄操作的步驟。步驟12 :第二數(shù)據(jù)庫根據(jù)臨時(shí)列表中的訂單號從正式列表中查詢出與之對應(yīng)的
訂單信息。具體地,第二數(shù)據(jù)庫根據(jù)臨時(shí)列表中的訂單號在正式列表中檢索相同的訂單號,并將該訂單號所對應(yīng)的訂單信息作為查找到的訂單信息。本步驟還可以是第二數(shù)據(jù)庫定時(shí)獲取臨時(shí)列表記錄,從中提取物流號和訂單號,并根據(jù)訂單號從正式列表中查詢出訂單信息。具體地,本步驟定時(shí)通過quartz任務(wù)調(diào)度實(shí)現(xiàn),具體過程同步驟10所述,不同的是本步驟中,設(shè)置的間隔時(shí)間為24小時(shí),創(chuàng)建并調(diào)用的quartz作業(yè)為獲取臨時(shí)列表記錄,從中提取物流號和訂單號,并根據(jù)訂單號從正式列表中查詢出訂單信息。本步驟包含即時(shí)與定時(shí)的二種方式,即時(shí)能夠保障第一時(shí)間獲取物流號后及時(shí)去同步至第一數(shù)據(jù)庫,定時(shí)能夠保障獲取物流號后能夠無遺漏的同步至第一數(shù)據(jù)庫。步驟13 :第二數(shù)據(jù)庫根據(jù)訂單信息中的用戶基本信息和產(chǎn)品序列號、臨時(shí)列表中的物流號以及第二密鑰產(chǎn)生第三文摘;具體地,將訂單信息中的用戶基本信息、產(chǎn)品序列號、物流號和第二密鑰按照預(yù)先約定的順序拼接為一個(gè)數(shù)據(jù)串,并對此數(shù)據(jù)串采用預(yù)先約定的算法產(chǎn)生第三文摘。
本實(shí)施例中優(yōu)選的,將訂單信息中的用戶基本信息、產(chǎn)品序列號、物流號和第二密鑰順序拼接成一個(gè)數(shù)據(jù)串,對該數(shù)據(jù)串采用MD5計(jì)算生成第三文摘,也可以與第一數(shù)據(jù)庫預(yù)先約定采用其他算法,如SHAl等算法。步驟14 :第二數(shù)據(jù)庫將訂單信息、物流號和第三文摘封裝成第二請求數(shù)據(jù)發(fā)送至第一數(shù)據(jù)庫;具體地,第二數(shù)據(jù)庫將訂單信息、物流號與第三文摘封裝為URL第二請求數(shù)據(jù)發(fā)送至第一數(shù)據(jù)庫。步驟15 :第一數(shù)據(jù)庫接收第二請求數(shù)據(jù),從中獲取訂單信息、物流號和第三文摘,根據(jù)訂單信息中的用戶基本信息和產(chǎn)品序列號、接收到的物流號以及第一密鑰產(chǎn)生第四文摘;具體地,第一數(shù)據(jù)庫接收到URL第二請求數(shù)據(jù),從中讀取到訂單信息、物流號和第三文摘,將訂單信息中的用戶基本信息和產(chǎn)品序列號、物流號和第一密鑰按預(yù)先約定的順·序拼接為一個(gè)數(shù)據(jù)串,采用預(yù)先約定的算法對該數(shù)據(jù)串進(jìn)行加密產(chǎn)生第四文摘。優(yōu)選的,將訂單信息中的用戶基本信息和產(chǎn)品序列號、物流號和第一密鑰按先后順序拼接為一個(gè)數(shù)據(jù)串,用MD5算法對該數(shù)據(jù)串進(jìn)行計(jì)算得到第四文摘。本實(shí)施例中具體地,步驟15中還包括驗(yàn)證從URL第二請求數(shù)據(jù)中獲取的訂單信息的有效性,具體驗(yàn)證過程同步驟4相同,在此不再贅述。步驟16 :第一數(shù)據(jù)庫比對第四文摘與第三文摘是否一致,是則執(zhí)行步驟18,否則執(zhí)行步驟17 ;步驟17 :第一數(shù)據(jù)庫向第二數(shù)據(jù)庫發(fā)送包含錯(cuò)誤碼的請求響應(yīng);跳轉(zhuǎn)執(zhí)行步驟12 ;具體地第一數(shù)據(jù)庫向第二數(shù)據(jù)庫返回一個(gè)請求響應(yīng)Response, Response封裝了數(shù)據(jù)同步失敗的錯(cuò)誤碼;然后返回執(zhí)行步驟12 ;優(yōu)選的,還可以設(shè)置計(jì)數(shù)器記錄同步失敗的次數(shù),當(dāng)某個(gè)訂單連續(xù)3次同步數(shù)據(jù)失敗,向指定維護(hù)人員發(fā)送郵件或手機(jī)短信提醒。具體的計(jì)數(shù)器為同步失敗一次后保存I至此訂單的標(biāo)識字段中,再次同步失敗后將2更新至此訂單的標(biāo)識字段中,依次更新至3后發(fā)送郵件或手機(jī)短信提醒。步驟18 :第一數(shù)據(jù)庫將物流號保存到訂單信息的物流號字段,并將訂單信息更新至訂單信息表;步驟19 :第一數(shù)據(jù)庫向第二數(shù)據(jù)庫發(fā)送包含同步成功編碼的請求響應(yīng);具體地,第一數(shù)據(jù)庫向第二數(shù)據(jù)庫發(fā)送一個(gè)請求響應(yīng)Response, Response封裝了數(shù)據(jù)同步成功的編碼;至此,第一數(shù)據(jù)庫和第二數(shù)據(jù)庫完成物流號的同步。用戶可以激活使用產(chǎn)品。步驟20 :第二數(shù)據(jù)庫將物流號保存到正式列表中訂單信息的物流號字段;優(yōu)選的,還可以設(shè)定第二數(shù)據(jù)庫使用quartz任務(wù)調(diào)度,設(shè)定調(diào)度的開始時(shí)間及調(diào)度的間隔時(shí)間,比如間隔24小時(shí),實(shí)現(xiàn)第二數(shù)據(jù)庫每天檢索訂單信息正式列表是否有超過預(yù)定天數(shù)仍未綁定物流號的訂單信息,當(dāng)監(jiān)測到滿足條件的訂單信息存在時(shí),向指定的產(chǎn)品發(fā)貨人員郵箱或手機(jī)提醒發(fā)貨。步驟21 :第二數(shù)據(jù)庫將臨時(shí)列表中的該條訂單信息標(biāo)記為已處理;
步驟22 :第二數(shù)據(jù)庫定時(shí)清除臨時(shí)列表中標(biāo)記為已處理的訂單信息。具體地,本步驟通過quartz任務(wù)調(diào)度實(shí)現(xiàn),具體過程同步驟10所述,不同的是本步驟中,設(shè)置的間隔時(shí)間為24小時(shí),創(chuàng)建并調(diào)用的quartz作業(yè)為檢索訂單臨時(shí)表中標(biāo)識為已處理的訂單信息記錄,將其刪除。實(shí)施例2如圖2所示,在實(shí)施例I的基礎(chǔ)上以數(shù)據(jù)同步過程中第二數(shù)據(jù)庫執(zhí)行的操作為例進(jìn)行詳細(xì)描述,具體如下步驟201 :接收第一請求數(shù)據(jù)從中獲取訂單信息和第一文摘;例如,接收到的第一請求數(shù)據(jù)為URL請求數(shù)據(jù),具體為http://IP:p ort/application/notify address=101103&amount=1024&area=lufu&buyer_alias=eb25cf0249971db8cf57c683efele5c2&city=sheng&country=china&input_charset=GBK&invoice_title=galenzhang&invoice_type=nornal&need_invoice=l&out_trade_no=20000005012011102498749808&partner=2000000501&phone=0755-12345667&product_mode1=1000l&prov=guang&recv_name=zhang&sign=E10ADC3949BA59ABBE56E057F20F883E&transaction_id=1212419701201112210078541998&zip_code=Tyi%23%2Bs%2B其中包含的第一文摘為E10ADC3949BA59ABBE56E057F20F883E,包含的訂單信息中的用戶基本信息有收件人所在國、收件人地址、收件人電話等。步驟202 :判斷訂單信息是否有效,是則執(zhí)行下一步,否則返回執(zhí)行步驟201 ;本實(shí)施例中,判斷訂單信息是否有效具體為驗(yàn)證所述訂單信息的格式和/或內(nèi)容是否有效,例如,驗(yàn)證訂單信息中包含的用戶名是否符合預(yù)設(shè)格式,驗(yàn)證訂單信息中包含的手機(jī)號長度是否有效。步驟203 :根據(jù)預(yù)存的第二密鑰和訂單信息中的用戶基本信息產(chǎn)生第二文摘;具體為將訂單信息中的用戶基本信息和第二密鑰順序拼接為一個(gè)數(shù)據(jù)串,并用MD5算法對此數(shù)據(jù)串進(jìn)行加密產(chǎn)生第二文摘;所述第二密鑰是預(yù)先與同步數(shù)據(jù)庫協(xié)商的會話密鑰。本實(shí)施例中具體地,產(chǎn)生的第二文摘為E10ADC3949BA59ABBE56E057F20F883E。步驟204 :比對第二文摘和第一文摘是否一致,是則執(zhí)行下一步,否則返回執(zhí)行步驟 201 ;步驟205 :保存訂單信息到正式列表并向同步數(shù)據(jù)庫發(fā)送保存成功的提醒;例如,保存成功的提醒的數(shù)據(jù)包格式為ZrjXml version=" 1.0" encoding="gb2312" >
<root>
<retcode>0</retcode>
<retni sg> 成功 </retm 〈/root〉步驟206 :根據(jù)預(yù)先約定的規(guī)則為訂單信息匹配產(chǎn)品;本實(shí)施例中具體地,根據(jù)產(chǎn)品的分配標(biāo)識及標(biāo)號大小為訂單信息匹配產(chǎn)品,所述預(yù)先約定的規(guī)則為優(yōu)先選取分配標(biāo)識為未分配且標(biāo)號較小的產(chǎn)品為訂單信息分配。優(yōu)選的,還可以定時(shí)監(jiān)測是否有足夠的產(chǎn)品供匹配,實(shí)現(xiàn)方式為創(chuàng)建quartz作業(yè),創(chuàng)建觸發(fā)器并設(shè)置觸發(fā)器的參數(shù),設(shè)置調(diào)度開始時(shí)間和調(diào)度間隔時(shí)間,例如,設(shè)置調(diào)度·開始時(shí)間為am7:00,設(shè)置調(diào)度間隔時(shí)間為24小時(shí),當(dāng)監(jiān)測到系統(tǒng)時(shí)間達(dá)到調(diào)度開始時(shí)間時(shí),啟動(dòng)quartz調(diào)度器調(diào)度創(chuàng)建的quartz作業(yè),并將調(diào)度開始時(shí)間增加所述間隔時(shí)間作為下一次調(diào)度開始時(shí)間。本實(shí)施例中創(chuàng)建的quartz作業(yè)具體為當(dāng)監(jiān)測到可供匹配的產(chǎn)品個(gè)數(shù)少于預(yù)設(shè)個(gè)數(shù)時(shí),向指定的員工郵箱發(fā)送提醒郵件或發(fā)送手機(jī)短信提醒。這樣可以保證數(shù)據(jù)的持續(xù)性。步驟207 :為正式列表中的訂單信息中的產(chǎn)品序列號字段保存產(chǎn)品序列號;具體地,第二數(shù)據(jù)庫庫遍歷正式列表中的所有訂單信息,根據(jù)訂單信息中包含的產(chǎn)品型號字段要求檢索產(chǎn)品庫中符合條件的最優(yōu)匹配產(chǎn)品,若檢索到則將檢索到的產(chǎn)品對應(yīng)的產(chǎn)品序列號保存至此訂單信息的序列號字段中,若未檢索到則向外發(fā)送保存產(chǎn)品序列號失敗的提醒。步驟208 :接收產(chǎn)品發(fā)貨人員輸入的為訂單信息綁定的物流號和訂單號,并將其保存在臨時(shí)列表中;步驟209 :獲取臨時(shí)列表,并從中提取物流號和訂單號,根據(jù)訂單號從正式列表中查詢出相應(yīng)的訂單信息;步驟210 :根據(jù)訂單信息中的用戶基本信息和產(chǎn)品序列號,與物流號、第二密鑰產(chǎn)生第三文摘;本實(shí)施例中具體地,將訂單信息中的用戶基本信息和產(chǎn)品序列號、物流號和第二密鑰順序拼接為一個(gè)數(shù)據(jù)串,采用預(yù)先約定的MD5算法對該數(shù)據(jù)串進(jìn)行加密生成第三文摘。步驟211 :將訂單信息、物流號和第三文摘封裝為第二請求數(shù)據(jù)并發(fā)送給同步數(shù)據(jù)庫;例如,向同步數(shù)據(jù)庫發(fā)送的第二請求數(shù)據(jù)為http://IP:port/application/not ify address=101103&amount = 1024&area=lufu&buyer_alias=eb25cf0249971db8cf57c683efele5c2&city=sheng&country=china&input_charset=GBK&invoice_title=galenzhang&invoice_type=nornal&need_invoice=l&out_trade_no=20000005012011102498749808&partner=2000000501&phone=0755-12345667&product_model=10001&prov=guang&recv_name=zhang&old_product_isn=1090123123&product_isn=1090123187&product_sn=FT010983&express_co=6168785922&sign=BC9ADBN7809W39A456ERE057F20MN89E&transaction_id=1212419701201112210078541998&zip_code=Tyi%23%2Bs%2B其中包含的第三文摘為BC9ADBN7809W39A456ERE057F20MN89E。包含的物流號為6168785922。步驟212 :等待接收同步數(shù)據(jù)庫返回的響應(yīng);步驟213 :判斷接收到的響應(yīng)是否包含同步成功編碼,是則執(zhí)行下一步,否則返回執(zhí)行步驟209 ;接收到的包含同步成功編碼的響應(yīng)為
、)xml version="I.O" encoding="gb2312" ><root><retcode>0</retcode><retm sg>ok </retin sg></root>步驟214 :將物流號保存在正式列表中訂單信息中的物流號字段;步驟215 :將訂單信息在臨時(shí)列表中標(biāo)記為已處理;步驟216 :定時(shí)清除臨時(shí)列表中標(biāo)記為已處理的訂單信息。實(shí)施例3在實(shí)施例I或2的基礎(chǔ)上,進(jìn)一步的,訂單信息中的產(chǎn)品序列號字段具體包括舊產(chǎn)品序列號字段和新產(chǎn)品序列號字段。當(dāng)有訂單需要更新時(shí),在保證數(shù)據(jù)同步的情況下,如圖3所示,第二數(shù)據(jù)庫執(zhí)行的更新訂單操作具體如下步驟301 :收到要更新的訂單信息保存到正式列表中;本實(shí)施例中具體地,所述更新的訂單信息是有需要更新的訂單時(shí),由用戶導(dǎo)入到正式列表中的。步驟302 :為正式列表中的要更新的訂單信息的產(chǎn)品序列號字段保存新產(chǎn)品序列號;具體地,在正式列表中根據(jù)更新訂單信息中包含的產(chǎn)品型號字段要求檢索產(chǎn)品庫中符合條件的最優(yōu)匹配產(chǎn)品,將產(chǎn)品對應(yīng)的序列號保存至此訂單信息的新產(chǎn)品序列號字段中。步驟303 :在正式列表中將原訂單信息中包含的產(chǎn)品序列號保存到要更新的訂單信息的舊產(chǎn)品序列號字段中;步驟304 :接收用戶為要更新的訂單信息輸入的物流號和訂單號并保存在臨時(shí)列表中。本實(shí)施例中,具體地,當(dāng)有訂單需要更新時(shí),是第二數(shù)據(jù)庫先收到要更新的訂單信息,并發(fā)送給第一數(shù)據(jù)庫實(shí)現(xiàn)訂單信息中的用戶基本信息的同步,之后的訂單信息中的產(chǎn)品序列號和物流號的同步與實(shí)施例I或2相同,在此不再贅述。 以上所述,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法,其特征是包括 當(dāng)?shù)谝粩?shù)據(jù)庫接收到訂單信息時(shí)執(zhí)行步驟SI至步驟S4 ; 步驟SI :第一數(shù)據(jù)庫將接收到的訂單信息保存至訂單信息表,根據(jù)第一密鑰和所述訂單信息表中訂單信息中包含的用戶基本信息生成第一文摘,并向第二數(shù)據(jù)庫發(fā)送第一請求數(shù)據(jù); 步驟S2 :所述第二數(shù)據(jù)庫從接收到的所述第一請求數(shù)據(jù)中獲取訂單信息和第一文摘,并根據(jù)第二密鑰和獲取到的所述訂單信息中包含的用戶基本信息生成第二文摘; 步驟S3 :所述第二數(shù)據(jù)庫比對所述第一文摘和所述第二文摘是否一致,是則執(zhí)行下一步,否則向所述第一數(shù)據(jù)庫返回包含錯(cuò)誤碼的請求響應(yīng); 步驟S4 :所述第二數(shù)據(jù)庫將獲取到的所述訂單信息保存至正式列表中,并向所述第一數(shù)據(jù)庫發(fā)送包含同步成功編碼的請求響應(yīng); 所述步驟S4之后還包括步驟S5 :所述第二數(shù)據(jù)庫為正式列表中的訂單信息中包含的產(chǎn)品序列號字段保存產(chǎn)品序列號; 當(dāng)?shù)诙?shù)據(jù)庫接收到物流號和訂單號時(shí),執(zhí)行步驟S6至步驟Sll ; 步驟S6 :所述第二數(shù)據(jù)庫將接收到的物流號和訂單號保存至臨時(shí)列表中,并根據(jù)所述訂單號從正式列表中查找到與之對應(yīng)的訂單信息; 步驟S7 :所述第二數(shù)據(jù)庫根據(jù)第二密鑰、查找到的所述訂單信息中包含的用戶基本信息和產(chǎn)品序列號、臨時(shí)列表中的所述物流號生成第三文摘,并向所述第一數(shù)據(jù)庫發(fā)送第二請求數(shù)據(jù); 步驟S8 :所述第一數(shù)據(jù)庫從接收到的所述第二請求數(shù)據(jù)中獲取訂單信息、物流號和第三文摘,并根據(jù)第一密鑰、所述物流號、所述訂單信息中包含的用戶基本信息和產(chǎn)品序列號生成第四文摘; 步驟S9 :所述第一數(shù)據(jù)庫比對所述第三文摘和所述第四文摘是否一致,是則執(zhí)行下一步,否則向所述第二數(shù)據(jù)庫發(fā)送包含錯(cuò)誤碼的請求響應(yīng); 步驟SlO :所述第一數(shù)據(jù)庫為所述訂單信息表中的訂單信息的物流號字段保存所述物流號,并向所述第二數(shù)據(jù)庫發(fā)送包含同步成功編碼的請求響應(yīng); 步驟Sll :所述第二數(shù)據(jù)庫將所述物流號保存至正式列表中的所述訂單信息包含的物流號字段,并將臨時(shí)列表中的所述訂單信息刪除。
2.根據(jù)權(quán)利要求I所述的一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法,其特征是所述訂單信息中包含有用戶基本信息、訂單號、產(chǎn)品型號字段、產(chǎn)品序列號字段和物流號字段,所述產(chǎn)品序列號字段和物流號字段初始為空。
3.根據(jù)權(quán)利要求I所述的一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法,其特征是所述第一密鑰和所述第二密鑰是第一數(shù)據(jù)庫和第二數(shù)據(jù)庫預(yù)先協(xié)商的會話密鑰。
4.根據(jù)權(quán)利要求I所述的一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法,其特征是所述第一數(shù)據(jù)庫和所述第二數(shù)據(jù)庫中預(yù)存有根據(jù)時(shí)間命名的協(xié)商密鑰文件,所述步驟SI還包括,所述第一數(shù)據(jù)庫讀取當(dāng)前系統(tǒng)時(shí)間,根據(jù)當(dāng)前系統(tǒng)時(shí)間讀取相應(yīng)的協(xié)商密鑰文件,從所述協(xié)商密鑰文件中獲取第一密鑰,所述步驟S2還包括,所述第二數(shù)據(jù)庫讀取當(dāng)前系統(tǒng)時(shí)間,根據(jù)當(dāng)前系統(tǒng)時(shí)間讀取相應(yīng)的協(xié)商密鑰文件,從所述協(xié)商密鑰文件中獲取第二密鑰。
5.根據(jù)權(quán)利要求I所述的一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法,其特征是步驟SI所述第一數(shù)據(jù)庫根據(jù)第一密鑰和訂單信息表中訂單信息中包含的用戶基本信息生成第一文摘具體為所述第一數(shù)據(jù)庫將所述訂單信息中的用戶基本信息和所述第一密鑰按預(yù)先約定的順序拼接為一個(gè)數(shù)據(jù)串,采用預(yù)先約定的算法對所述數(shù)據(jù)串進(jìn)行加密產(chǎn)生第一文摘; 步驟S2所述根據(jù)第二密鑰和獲取到的所述訂單信息中包含的用戶基本信息生成第二文摘具體為將所述訂單信息中的用戶基本信息和第二密鑰按預(yù)先約定的順序拼接為一個(gè)數(shù)據(jù)串,采用預(yù)先約定的算法對所述數(shù)據(jù)串進(jìn)行加密產(chǎn)生第二文摘。
6.根據(jù)權(quán)利要求I所述的一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法,其特征是所述步驟S2還包括,所述第二數(shù)據(jù)庫驗(yàn)證從所述第一請求數(shù)據(jù)中獲取的所述訂單信息的有效性的過程,所述步驟S8還包括,所述第一數(shù)據(jù)庫驗(yàn)證從所述第二請求數(shù)據(jù)中獲取的所述訂單信息的有效性的過程;驗(yàn)證所述訂單信息的有效性的過程具體為驗(yàn)證所述訂單信息的格式和內(nèi)容是否有效。
7.根據(jù)權(quán)利要求I所述的一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法,其特征是所述步驟S5具體為,所述第二數(shù)據(jù)庫根據(jù)所述訂單信息中包含的產(chǎn)品型號字段要求檢索產(chǎn)品庫中符合條件的最優(yōu)匹配產(chǎn)品,將檢索到的產(chǎn)品記錄中的產(chǎn)品序列號字段值保存至所述訂單信息的產(chǎn)品序列號字段中。
8.根據(jù)權(quán)利要求I所述的一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法,其特征是所述步驟S5包 括,所述第二數(shù)據(jù)庫創(chuàng)建第一作業(yè),創(chuàng)建觸發(fā)器并設(shè)置觸發(fā)器參數(shù),設(shè)置調(diào)度開始時(shí)間和調(diào)度間隔時(shí)間,當(dāng)監(jiān)測到系統(tǒng)時(shí)間達(dá)到調(diào)度開始時(shí)間時(shí),啟動(dòng)任務(wù)調(diào)度器調(diào)度創(chuàng)建的作業(yè),并將調(diào)度開始時(shí)間增加所述調(diào)度間隔時(shí)間;所述創(chuàng)建的第一作業(yè)為自動(dòng)遍歷正式列表中的所有訂單信息,根據(jù)訂單信息的產(chǎn)品型號字段要求檢索產(chǎn)品庫中符合條件的最優(yōu)匹配產(chǎn)品記錄,將產(chǎn)品記錄中產(chǎn)品序列號字段值保存至所述訂單信息的產(chǎn)品序列號字段中。
9.根據(jù)權(quán)利要求I所述的一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法,其特征是所述步驟S6包括,所述第二數(shù)據(jù)庫在正式列表中查找是否存在接收到的所述訂單號,是則將接收到的所述物流號和訂單號作為一條記錄保存至臨時(shí)列表中,否則不保存。
10.根據(jù)權(quán)利要求I所述的一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法,其特征是所述步驟S6包括,所述第二數(shù)據(jù)庫創(chuàng)建第二作業(yè)和第三作業(yè),創(chuàng)建觸發(fā)器并設(shè)置觸發(fā)器參數(shù),設(shè)置第二調(diào)度開始時(shí)間、第三調(diào)度開始時(shí)間和調(diào)度間隔時(shí)間,當(dāng)監(jiān)測到系統(tǒng)時(shí)間達(dá)到第二調(diào)度開始時(shí)間時(shí),啟動(dòng)任務(wù)調(diào)度器調(diào)度創(chuàng)建的第二作業(yè),并將第二調(diào)度開始時(shí)間增加所述調(diào)度間隔時(shí)間,當(dāng)監(jiān)測到系統(tǒng)時(shí)間達(dá)到第三調(diào)度開始時(shí)間時(shí),啟動(dòng)任務(wù)調(diào)度器調(diào)度創(chuàng)建的第三作業(yè),并將第二調(diào)度開始時(shí)間增加所述調(diào)度間隔時(shí)間;所述第二作業(yè)為,將存放訂單信息的正式列表下載到指定存儲空間,所述第三作業(yè)為,從所述指定存儲空間獲取保存訂單號和物流號的臨時(shí)列表。
11.根據(jù)權(quán)利要求I所述的一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法,其特征是步驟S4所述向所述第一數(shù)據(jù)庫發(fā)送包含成功編碼的請求響應(yīng)之后包括,所述第一數(shù)據(jù)庫接收到所述請求響應(yīng)后,標(biāo)記所述訂單信息生效。
12.根據(jù)權(quán)利要求I所述的一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法,其特征是所述步驟Sll替換為所述第二數(shù)據(jù)庫將所述物流號保存至正式列表中的所述訂單信息包含的物流號字段,并將臨時(shí)列表中的所述訂單信息標(biāo)記為已處理。
13.根據(jù)權(quán)利要求12所述的一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法,其特征是所述方法還包括,當(dāng)系統(tǒng)時(shí)間達(dá)到預(yù)設(shè)時(shí)間時(shí),啟動(dòng)任務(wù)調(diào)度器調(diào)度第四作業(yè),所述第四作業(yè)為檢索臨時(shí)表中標(biāo)記為已處理的訂單信息并將其刪除。
14.根據(jù)權(quán)利要求I所述的一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法,其特征是所述步驟S4中當(dāng)所述第二數(shù)據(jù)庫接收到要更新的訂單信息時(shí)包括,將所述要更新的訂單信息保存到正式列表中,所述要更新的訂單信息中的產(chǎn)品序列號字段包括舊產(chǎn)品序列號字段和新產(chǎn)品序列號字段;所述步驟S5具體為,為正式列表中的所述要更新的訂單信息的產(chǎn)品序列號字段保存新產(chǎn)品序列號,將被更新的訂單信息中包含的產(chǎn)品序列號保存到所述要更新的訂單信息的舊產(chǎn)品序列號字段中。
15.根據(jù)權(quán)利要求I所述的一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法,其特征是步驟S7所述第二數(shù)據(jù)庫根據(jù)第二密鑰、查找到的所述訂單信息中包含的用戶基本信息和產(chǎn)品序列號、臨時(shí)列表中的所述物流號生成第三文摘具體為,所述第二數(shù)據(jù)庫將所述訂單信息中的用戶基本信息和產(chǎn)品序列號、臨時(shí)列表中的所述物流號以及第二密鑰按照預(yù)先約定的順序拼接為一個(gè)數(shù)據(jù)串,并對所述數(shù)據(jù)串采用預(yù)先約定的算法產(chǎn)生第三文摘; 步驟S8所述根據(jù)第一密鑰、所述物流號、所述訂單信息中包含的用戶基本信息和產(chǎn)品序列號生成第四文摘具體為,所述第一數(shù)據(jù)庫將所述訂單信息中的用戶基本信息和產(chǎn)品序列號、所述物流號以及所述第一密鑰按預(yù)先約定的順序拼接為一個(gè)數(shù)據(jù)串,采用預(yù)先約定的算法對所述數(shù)據(jù)串進(jìn)行加密產(chǎn)生第四文摘。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)庫遠(yuǎn)程同步的實(shí)現(xiàn)方法,屬于信息處理領(lǐng)域。所述方法包括第一數(shù)據(jù)庫根據(jù)接收到訂單信息產(chǎn)生文摘網(wǎng)絡(luò)傳輸給第二數(shù)據(jù)庫,實(shí)現(xiàn)與第二數(shù)據(jù)庫的訂單信息的實(shí)時(shí)同步;以及第二數(shù)據(jù)庫根據(jù)接收到的訂單號和物流號更新訂單信息包含的內(nèi)容,并根據(jù)更新后的訂單信息產(chǎn)生文摘網(wǎng)絡(luò)傳輸給第一數(shù)據(jù)庫,實(shí)現(xiàn)與第一數(shù)據(jù)庫的更新后的訂單信息的內(nèi)容的實(shí)時(shí)同步。采用本發(fā)明提出的方法能夠有效避免遠(yuǎn)程數(shù)據(jù)同步過程所帶來的風(fēng)險(xiǎn),同時(shí)能保障數(shù)據(jù)同步不遺漏。
文檔編號H04L29/06GK102902812SQ20121040190
公開日2013年1月30日 申請日期2012年10月22日 優(yōu)先權(quán)日2012年10月22日
發(fā)明者陸舟, 于華章 申請人:飛天誠信科技股份有限公司