本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò),具體而言,涉及基于網(wǎng)絡(luò)的業(yè)務(wù)單據(jù)多人協(xié)作消息觸發(fā)式同步方法及系統(tǒng)。
背景技術(shù):
1、在企業(yè)的業(yè)務(wù)處理過程中,經(jīng)常需要多人協(xié)作對(duì)業(yè)務(wù)單據(jù)進(jìn)行操作,然而,目前在業(yè)務(wù)單據(jù)的協(xié)作處理中存在諸多問題,如一方修改后,另一方看到的還是未修改前的內(nèi)容;一方刪除后,另一方還停留在原記錄上,引起后續(xù)操作失?。欢嗳送瑫r(shí)修改,后保存的會(huì)在不知情的情況下覆蓋之前保存的內(nèi)容,前一方也會(huì)誤認(rèn)為修改無效;協(xié)同審批信息的時(shí)候,等待不同人員審批,要線下進(jìn)行追問等。這些問題導(dǎo)致業(yè)務(wù)單據(jù)的協(xié)作效率低下,容易出現(xiàn)錯(cuò)誤和數(shù)據(jù)不一致的情況,因此需要一種有效的方法來解決這些問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明解決的問題是如何解決業(yè)務(wù)單據(jù)的協(xié)作效率低下,容易出現(xiàn)錯(cuò)誤和數(shù)據(jù)不一致的情況發(fā)生。
2、為解決上述問題,本發(fā)明提供基于網(wǎng)絡(luò)的業(yè)務(wù)單據(jù)多人協(xié)作消息觸發(fā)式同步方法,包括步驟:
3、s1:采用條件觸發(fā)式的client到server到client的點(diǎn)對(duì)點(diǎn)輕量級(jí)訊息同步辦法;
4、s2:在客戶端與服務(wù)器之間建立websocket通信連接;
5、s3:通過tcp協(xié)議進(jìn)行數(shù)據(jù)的交互傳輸,其中,協(xié)議包的結(jié)構(gòu)包括header和body兩部分,header部分由client的客戶端mac地址、登錄用戶標(biāo)識(shí)以及時(shí)間戳構(gòu)成;body部分則由命令標(biāo)識(shí)和單據(jù)號(hào)構(gòu)成;
6、s4:為每張單據(jù)生成一個(gè)唯一的單據(jù)標(biāo)識(shí)eri;
7、s5:在client端打開或關(guān)閉單據(jù)時(shí),向server端的該單據(jù)協(xié)同鏈表發(fā)送打開或關(guān)閉信息;
8、s6:在client端進(jìn)行單據(jù)的操作修改編輯時(shí),向server端發(fā)送修改狀態(tài);
9、s7:采用心跳的方式由服務(wù)器判斷客戶端是否在線。
10、進(jìn)一步地,所述步驟s2包括:
11、s21:websocket通信基于socket的分布式事件總線系統(tǒng)允許進(jìn)程之間通過發(fā)布或訂閱模式進(jìn)行通信。
12、進(jìn)一步地,所述步驟s3中命令標(biāo)識(shí)包括打開單據(jù)、離開單據(jù)、修改單據(jù)、保護(hù)單據(jù)和刪除單據(jù)五種事件。
13、進(jìn)一步地,所述步驟s4中單據(jù)標(biāo)識(shí)eri由36位字符組成,分為5段,包括site地址碼、app?category應(yīng)用碼、database數(shù)據(jù)碼、lifecycle生命碼和verification校驗(yàn)碼。
14、進(jìn)一步地,所述server端向其他同時(shí)在打開單據(jù)的client端發(fā)送輕量級(jí)觸發(fā)式協(xié)同訊息。
15、進(jìn)一步地,所述eri的site地址碼為1-6位,以ipv6地址為該標(biāo)識(shí)部分。
16、進(jìn)一步地,所述步驟s7包括:
17、s71:由客戶端發(fā)起心跳;
18、s72:在服務(wù)器維護(hù)的計(jì)時(shí)器計(jì)時(shí)等于預(yù)設(shè)時(shí)間時(shí),則主動(dòng)斷開連接;若在計(jì)時(shí)器計(jì)時(shí)大于預(yù)設(shè)時(shí)間且客戶端的心跳到達(dá),則重置計(jì)時(shí)器時(shí)間;
19、s73:將每次收發(fā)信息都作為一次心跳。
20、基于網(wǎng)絡(luò)的業(yè)務(wù)單據(jù)多人協(xié)作消息觸發(fā)式同步系統(tǒng),包括:
21、同步模塊:用于采用條件觸發(fā)式的client到server到client的點(diǎn)對(duì)點(diǎn)輕量級(jí)訊息同步;
22、建立模塊:用于在客戶端與服務(wù)器之間建立websocket通信連接;
23、傳輸模塊:用于通過tcp協(xié)議進(jìn)行數(shù)據(jù)的交互傳輸,其中,協(xié)議包的結(jié)構(gòu)包括header和body兩部分,header部分由client的客戶端mac地址、登錄用戶標(biāo)識(shí)以及時(shí)間戳構(gòu)成;body部分則由命令標(biāo)識(shí)和單據(jù)號(hào)構(gòu)成;
24、單據(jù)生成模塊:用于為每張單據(jù)生成一個(gè)唯一的單據(jù)標(biāo)識(shí)eri;
25、第一發(fā)送模塊:用于在client端打開或關(guān)閉單據(jù)時(shí),向server端的該單據(jù)協(xié)同鏈表發(fā)送打開或關(guān)閉信息;
26、第二發(fā)送模塊:用于在client端進(jìn)行單據(jù)的操作修改編輯時(shí),向server端發(fā)送修改狀態(tài);
27、判斷模塊:用于采用心跳的方式由服務(wù)器判斷客戶端是否在線。
28、本發(fā)明采用上述技術(shù)方案包括以下有益效果:
29、本發(fā)明通過采用websocket方式和協(xié)議結(jié)構(gòu),實(shí)現(xiàn)了輕量級(jí)、高性能、靈活可擴(kuò)展的消息傳輸,減少了網(wǎng)絡(luò)流量負(fù)荷。通過消息觸發(fā)式同步方法,解決了現(xiàn)有技術(shù)中業(yè)務(wù)單據(jù)協(xié)作處理時(shí)存在的一方修改后另一方看不到最新內(nèi)容、一方刪除后另一方仍停留在原記錄、多人同時(shí)修改覆蓋問題以及協(xié)同審批需線下追問的問題,提升了協(xié)同效率,保證了數(shù)據(jù)的一致性和準(zhǔn)確性。
1.一種基于網(wǎng)絡(luò)的業(yè)務(wù)單據(jù)多人協(xié)作消息觸發(fā)式同步方法,其特征在于,包括步驟:
2.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)的業(yè)務(wù)單據(jù)多人協(xié)作消息觸發(fā)式同步方法,其特征在于,所述步驟s2包括:
3.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)的業(yè)務(wù)單據(jù)多人協(xié)作消息觸發(fā)式同步方法,其特征在于,所述步驟s3中命令標(biāo)識(shí)包括打開單據(jù)、離開單據(jù)、修改單據(jù)、保護(hù)單據(jù)和刪除單據(jù)五種事件。
4.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)的業(yè)務(wù)單據(jù)多人協(xié)作消息觸發(fā)式同步方法,其特征在于,所述步驟s4中單據(jù)標(biāo)識(shí)eri由36位字符組成,分為5段,包括site地址碼、appcategory應(yīng)用碼、database數(shù)據(jù)碼、lifecycle生命碼和verification校驗(yàn)碼。
5.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)的業(yè)務(wù)單據(jù)多人協(xié)作消息觸發(fā)式同步方法,其特征在于,所述server端向其他同時(shí)在打開單據(jù)的client端發(fā)送輕量級(jí)觸發(fā)式協(xié)同訊息。
6.根據(jù)權(quán)利要求4所述的基于網(wǎng)絡(luò)的業(yè)務(wù)單據(jù)多人協(xié)作消息觸發(fā)式同步方法,其特征在于,所述eri的site地址碼為1-6位,以ipv6地址為該標(biāo)識(shí)部分。
7.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)的業(yè)務(wù)單據(jù)多人協(xié)作消息觸發(fā)式同步方法,其特征在于,所述步驟s7包括:
8.一種基于網(wǎng)絡(luò)的業(yè)務(wù)單據(jù)多人協(xié)作消息觸發(fā)式同步系統(tǒng),其特征在于,包括: