監聽方法及裝置的制造方法
【技術領域】
[0001]本發明屬于協同辦公技術領域,尤其涉及一種監聽方法及裝置。
【背景技術】
[0002]通常的協同辦公系統架構為底層平臺及在底層平臺上運行的多個業務模塊。這些業務模塊基于底層平臺分別獨立開發,實現各自不同的功能。在每個業務模塊內,該業務模塊維護若干數據,并基于這些數據進行相關操作,從而完成其業務功能。
[0003]—方面,不同業務模塊之間的業務相對獨立,分別維護各自業務模塊內的數據。但另一方面,這些業務模塊之間又存在一些關聯業務,從而在這些業務模塊間需要共享一些關聯數據。
[0004]監聽是實現在不同業務模塊之間共享關聯數據的方式之一。一種監聽實現方式是在被監聽業務模塊中預留監聽接口,當該被監聽業務模塊對關聯數據有修改時,其內置的監聽接口隨即通知監聽業務模塊;監聽業務模塊接收該通知,獲知數據修改內容,并由監聽業務模塊自主執行與該數據對應的相關操作。
[0005]這種方式中,各業務模塊開發人員分別開發其業務模塊需要的監聽接口。盡管監聽接口的實現原理大致相同,但不同業務模塊開發人員的具體實現方式可能各不相同。這種模式帶來以下問題:首先,不同開發人員需要做大量的重復工作,不但浪費了人力資源,且拉長了開發周期開發;其次,不同開發人員開發的同一功能實現方式多樣,不便于底層平臺集中管理、調試、排查運行中出現的問題。上述問題導致協同辦公系統臃腫、龐大,運行復雜度加。
[0006]另外,這些業務模塊之間需要分別相互注冊,注冊過程程序繁瑣。運行時,這些業務模塊之間需要溝通數據,信息安全得不到保障,且執行效率不高。
[0007]另外,運行時,業務邏輯通常指按照既定順序執行。在協同辦公系統中,各業務模塊的多個業務邏輯并發執行。在涉及到關聯數據的操作時,不同業務模塊分別按照其既定業務邏輯并發執行相關操作。一旦被監聽業務模塊對關聯數據的操作未成功,而監聽業務模塊已經通過監聽接口獲知該關聯數據的更新,并針對該更新按照預定業務邏輯進行了對應的操作,將導致協同辦公系統內關聯數據在不同業務模塊中的更新不一致,出現致命的系統性錯誤。
【發明內容】
[0008]鑒于此,本發明提出一種監聽方法及裝置,用于在協同辦公系統的不同業務模塊之間安全高效地同步更新關聯業務。
[0009]第一方面,本發明提出的監聽方法如下:
[0010]—種監聽方法,用于協同辦公系統的底層平臺,包括如下步驟:
[0011 ]接收被監聽業務模塊發送的第一消息,該第一消息的內容包括數據和操作類型,該數據和該操作類型由被監聽業務模塊中對應的待監聽事件確定;
[0012]提取該第一消息內容中的該數據和該操作類型;
[0013]確定需要監聽該數據和/或該操作類型的監聽業務模塊,監聽業務模塊需要監聽的數據和/或操作類型是底層平臺對監聽業務模塊注冊時確定的,需要監聽的數據和/或操作類型由監聽業務模塊需要監聽的待監聽事件指定;
[0014]向監聽業務模塊發送第二消息,該第二消息的內容包括該數據和該操作類型。
[0015]進一步地,本發明提出的監聽方法中,底層平臺對監聽業務模塊注冊時包括如下步驟:
[0016]掃描監聽業務模塊的注解信息,該注解信息中記載至少一個待監聽事件,待監聽事件從預先公布的第一待監聽事件集合中選擇;
[0017]提取該注解信息中記載的待監聽事件;
[0018]生成第二待監聽事件集合,該第二待監聽事件集合包括監聽業務模塊已注冊的待監聽事件,該第二待監聽事件集合用于底層平臺確定需要監聽待監聽事件的監聽業務模塊。
[0019]進一步地,本發明提出的監聽方法中,向監聽業務模塊發送第二消息包括如下步驟:
[0020]當監測到被監聽業務模塊中與該數據和該操作類型對應的事務執行成功,向監聽業務模塊發送該第二消息。
[0021]進一步地,本發明提出的監聽方法中,向監聽業務模塊發送該第二消息之后,還包括如下步驟:
[0022]當監測到所述監聽業務模塊中與該數據和該操作類型對應的事務沒有執行成功,則發出第一指令,該第一指令指示被監聽業務模塊清除與該數據和該操作類型對應的已成功執行的事務;
[0023]發出第二指令,該第二指令指示監聽業務模塊清除與該數據和該操作類型對應的已成功執行的事務。
[0024]本發明監聽方法中,底層平臺完成監聽功能的部分開發工作并對監聽業務模塊進行注冊,減少了監聽業務模塊和被監聽業務模塊的開發工作量;底層平臺參與到監聽過程中,統一封裝監聽功能,避免了業務模塊間相互開放數據而引入的安全隱患;底層平臺統一調度監聽功能的執行,使得協同辦公系統的運行效率更高。
[0025]因此,本發明監聽方法使得協同辦公系統的不同業務模塊之間安全高效地同步更新關聯業務。
[0026]第二方面,本發明提出的監聽方法如下:
[0027]—種監聽方法,用于協同辦公系統的監聽業務模塊,包括如下步驟:
[0028]接收協同辦公系統底層平臺發送的第二消息,該第二消息的內容包括數據和操作類型;該數據和/或該操作類型由協同辦公系統的被監聽業務模塊中對應的待監聽事件確定;
[0029]提取該第二消息內容中的該數據和該操作類型;
[0030]執行與該數據和/或該操作類型對應的事務。
[0031]進一步地,本發明提出的監聽方法中,監聽業務模塊提取的數據的類型和/或操作類型記載在監聽業務模塊的注解信息中;
[0032]該注解信息用于記載監聽業務模塊從預先公布的第一待監聽事件集合中選擇的待監聽事件;
[0033]該數據的類型和/或該操作類型由待監聽事件指定;
[0034]該注解信息由協同辦公系統底層平臺對監聽業務模塊注冊時讀取。
[0035]本發明監聽方法是協同辦公系統中監聽業務模塊執行監聽功能的實現方法,通過接收協同辦公系統底層平臺的通知消息,同步更新關聯業務,更安全,更高效。
[0036]第三方面,本發明提出的監聽方法如下:
[0037]—種監聽方法,用于協同辦公系統的被監聽業務模塊,包括如下步驟:
[0038]觸發待監聽事件,該待監聽事件記載在預先公布的第一待監聽事件集合中;
[0039]確定該待監聽事件對應的數據和操作類型;
[0040]向協同辦公系統的底層平臺發送第一消息,該第一消息的內容包括該數據和該操作類型。
[0041]本發明監聽方法是協同辦公系統中被監聽業務模塊執行監聽功能的實現方法,通過向底層平臺發送消息,向關聯業務傳遞更新后的數據,使得協同辦公系統的不同業務模塊之間安全高效地同步更新關聯業務。
[0042]第四方面,本發明提出的監聽裝置,用于協同辦公系統的底層平臺,包括:
[0043]第一消息接收單元,該第一消息接收單元用于接收被監聽業務模塊發送的第一消息,該第一消息的內容包括數據和操作類型,該數據和該操作類型由被監聽業務模塊中對應的待監聽事件確定;
[0044]第一消息提取單元,該第一消息提取單元用于提取該第一消息內容中的該數據和該操作類型;
[0045]監聽業務模塊確定單元,該監聽業務模塊確定單元用于確定需要監聽該數據和/或該操作類型的監聽業務模塊,監聽業務模塊需要監聽的數據和/或操作類型是底層平臺對監聽業務模塊注冊時確定的,需要監聽的數據和/或操作類型由監聽業務模塊需要監聽的待監聽事件指定;
[0046]第二消息發送單元,該第二消息發送單元用于向監聽業務模塊發送第二消息,該第二消息的內容包括該數據和該操作類型。
[0047]進一步地,本發明提出的監聽裝置,還包括:
[0048]注解信息掃描單元,該注解信息掃描單元用于掃描監聽業務模塊的注解信息,該注解信息中記載至少一個待監聽事件,待監聽事件從預先公布的第一待監聽事件集合中選擇;
[0049]注解信息提取單元,該注解信息提取單元用于提取該注解信息中記載的待監聽事件;
[0050]事件集合生成單元,該事件集合生成單元用于生成第二待監聽事件集合,該第二待監聽事件集合包括監聽業務模塊已注冊的待監聽事件,該第二待監聽事件集合用于底層平臺確定需要監聽待監聽事件的監聽業務模塊。
[0051]進一步地,本發明提出的監聽裝置,還包括:
[0052]事務監測及通知單元,該事務監測及通知單元用于當監測到被監聽業務模塊中與該數據和該操作類型對應的事務執行成功,通知第二消息發送單元向監聽業務模塊發送第二消息。
[0053]進一步地,本發明提出的監聽裝置,還包括:
[0054]事務監測及指令單元,該事務監測和指令單元用于當監測到監聽業務模塊中與該數據和該操作類型對應的事務沒有執行成功,則發出第一指令,該第一指令指示被監聽業務模塊清除與該數據和該操作類型對應的已成功執行的事務;
[0055]發出第二指令,該第二指令指示監聽業務模塊清除與該數據和該操作類型對應的已成功執行的事務。
[0056]本發明監聽裝置中,底層平臺完成監聽功能的部分開發工作并對監聽業務模塊進行注冊,減少了監聽業務模塊和被監聽業務模塊的開發工作量;底層平臺參與到監聽過程中,統一封裝監聽功能,避免了業務模塊間相互開放數據而引入的安全隱患;底層平臺統一調度監聽功能的執行,使得協同辦公系統的運行效率更高。