TWI851985B - 基於區塊鏈的旅館房間庫存管理系統、方法、及其非暫時性計算機可讀媒體 - Google Patents
基於區塊鏈的旅館房間庫存管理系統、方法、及其非暫時性計算機可讀媒體 Download PDFInfo
- Publication number
- TWI851985B TWI851985B TW111112806A TW111112806A TWI851985B TW I851985 B TWI851985 B TW I851985B TW 111112806 A TW111112806 A TW 111112806A TW 111112806 A TW111112806 A TW 111112806A TW I851985 B TWI851985 B TW I851985B
- Authority
- TW
- Taiwan
- Prior art keywords
- room
- blockchain
- smart contract
- block
- hotel room
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 50
- 238000007726 management method Methods 0.000 claims description 168
- 238000007667 floating Methods 0.000 claims description 73
- 238000004891 communication Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 17
- 238000012550 audit Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 6
- 230000015654 memory Effects 0.000 description 50
- 101100462365 Aspergillus niger (strain CBS 513.88 / FGSC A1513) otaA gene Proteins 0.000 description 23
- 101100462367 Aspergillus niger (strain CBS 513.88 / FGSC A1513) otaB gene Proteins 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000001052 transient effect Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 235000013361 beverage Nutrition 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 208000001613 Gambling Diseases 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
基於區塊鏈的房間庫存管理系統,包含物業管理系統模組及中間伺服系統。物業管理系統模組可直接在旅館方的直接控制下。中間伺服系統與至少一個線上旅遊代理模組及/或至少一個預訂引擎使用基於以太坊的智能合約溝通,以確認及處理房間預訂事件。若房間預訂事件被確認為成功交易,中間伺服系統亦更新該成功交易至物業管理系統模組及多個節點伺服器所形成之區塊鏈。區塊鏈包含多個依時間順序排序的區塊,以區別不同時間發生的成功交易。如此一來,每一成功交易可避免錯誤地被後行成功交易插隊。且房間庫存管理系統據此解決了房間超售事件。
Description
本發明相關於一種房間庫存管理系統,尤指一種基於區塊鏈技術的房間庫存管理系統。
對飯店或旅遊代理們來說,房間預訂是一個重要的服務。在一般的房間預訂服務中,預訂引擎(Booking Engine)或線上旅遊代理(Online Travel Agency)會代表飯店方,並提供顧客一個遠端使用者介面,以使顧客可事先在計畫的時間,預訂飯店中的可用房間。
線上旅遊代理是指專門販賣旅遊商品給顧客的旅遊網站,且該些旅遊商品包含房間預訂服務。該線上旅遊代理與房間提供方(例如飯店)簽訂有線上代理合約,以代銷其房間預訂服務。在這樣的情況下,線上旅遊代理會接收到預定至少一間可用房間之顧客的付款,並將預訂房間的淨款項轉付給飯店方。
用於飯店房間預訂服務之預訂引擎是指使顧客可預訂可用房間之網站。該預訂引擎亦將客製化的價格及/或付款規則介紹給顧客,以使其在預訂房間服務時可較容易地作出決定。
然而,若在短時間內出現多於一位顧客登入該遠端使用者介面‧並預定一飯店中的同一可用房間時,可能會較容易發生房間超售事件(Overbooking)。房間超售事件會對顧客方及飯店方同時造成明顯的損害。舉例來說,為了因應房間超售事件,飯店方必須安排額外的房間、服務、及/或補償措施。同樣地,房間超售事件也會迫使顧客在有限的時間內改變其旅遊計畫,並破壞其旅遊體驗。這些不便之處在旅遊旺季時會越發頻繁且嚴重。然而,飯店方會受限於現行的線上旅遊代理及/或預訂引擎在處理房間超售事件時所面對的科技上限制。因此,飯店方需要透過科技上的解方來有效率地減緩房間超售事件。
本發明揭露一種用於基於區塊鏈的旅館房間庫存管理系統的方法,包含:在旅館房間庫存管理系統中的多個節點的各節點中,維護區塊鏈,該區塊鏈儲存對於特定旅館房間物件的所有成功交易,其中,該區塊鏈包括以按照時間順序(Chronological)單獨地鏈結的數個區塊,各區塊加密地參照其直接往前的區塊,使得在未改變所有隨後區塊之下,無法改變任何區塊內的資料,各區塊儲存關於該特定旅館房間物件的成功交易;在從計算機網路通信耦接至該旅館房間庫存管理系統接收房間預訂事件時,由該多個節點中的主節點,通過提交代表該房間預訂事件的新交易至儲存在該區塊鏈中的智能合約,以確定房間預訂事件是否可以成功,其中,該智能合約包括程式化標準,其經配置為基於該特定旅館房間物件的目前數量餘額,以確定所提交交易在當下儲存在該區塊鏈中的關於該特定旅館房間物件的所有既存成功交易中是否代表衝突;在基於該智能合約確定表示該房間預訂事件的該新交易可成功時,由該主節點創建將要附加到該區塊鏈的新區塊,其中新區塊儲
存代表該新交易的資料為成功的,其中,該新區塊的創建使得該新區塊添加到該旅館房間庫存管理系統中該多個節點的每個節點中的該區塊鏈;以及當該房間預訂事件導致該目前數量餘額滿足預定浮動閾值時,該智能合約根據預定浮動參數自動調整該特定旅館房間物件的市場價格。
本發明之另一實施例亦揭露一種旅館房間庫存管理系統,包括:多個節點,其中,該多個節點中的各節點經配置為維護區塊鏈,該區塊鏈儲存對於特定旅館房間物件的所有成功交易,以及其中,該區塊鏈包括以按照時間順序(Chronological)單獨地鏈結的數個區塊,各區塊加密地參照其直接往前的區塊,使得在未改變所有隨後區塊之下,無法改變任何區塊內的資料,各區塊儲存關於該特定旅館房間物件的成功交易;儲存在該區塊鏈中的智能合約,其中,該智能合約包括程式化標準,其經配置為基於該特定旅館房間物件的目前數量餘額,以確定所提交交易在當下儲存在該區塊鏈中的關於該特定旅館房間物件的所有既存成功交易中是否代表衝突;以及主節點經配置為:從計算機網路通信耦接至該旅館房間庫存管理系統接收房間預訂事件;通過提交代表該房間預訂事件的新交易至儲存在該區塊鏈中的智能合約,以確定房間預訂事件是否可以成功;在基於該智能合約確定表示該房間預訂事件的該新交易可成功時,創建將要附加到該區塊鏈的新區塊,其中新區塊儲存代表該新交易的資料為成功的,以及其中,該新區塊的創建使得該新區塊添加到該旅館房間庫存管理系統中該多個節點的每個節點中的該區塊鏈;以及其中,當該房間預訂事件導致該目前數量餘額滿足預定浮動閾值時,該智能合約根據預定浮動參數自動調整該特定旅館房間物件的市場價格,該預定浮動閾值包括該目前數量餘額或預定時間段。
本發明之再一實施例亦揭露一種用於旅館房間庫存管理系統的、非暫時性計算機可讀取媒體,其包括多個指令,當由計算機化旅館房間
庫存管理系統的一或多個處理器執行時使系統:在旅館房間庫存管理系統中的多個節點的各節點中,維護區塊鏈,該區塊鏈儲存對於特定旅館房間物件的所有成功交易,其中,該區塊鏈包括以按照時間順序(Chronological)單獨地鏈結的數個區塊,各區塊加密地參照其直接往前的區塊,使得在未改變所有隨後區塊之下,無法改變任何區塊內的資料,各區塊儲存關於該特定旅館房間物件的成功交易;在從計算機網路通信耦接至該旅館房間庫存管理系統接收房間預訂事件時,由該多個節點中的主節點,通過提交代表該房間預訂事件的新交易至儲存在該區塊鏈中的智能合約,以確定房間預訂事件是否可以成功,其中,該智能合約包括程式化標準,其經配置為基於該特定旅館房間物件的目前數量餘額,以確定所提交交易在當下儲存在該區塊鏈中的關於該特定旅館房間物件的所有既存成功交易中是否代表衝突;以及在基於該智能合約確定表示該房間預訂事件的該新交易可成功時,由該主節點創建將要附加到該區塊鏈的新區塊,其中新區塊儲存代表該新交易的資料為成功,其中,該新區塊的創建使得該新區塊添加到該旅館房間庫存管理系統中該多個節點的每個節點中的該區塊鏈;以及其中,當該房間預訂事件導致該目前數量餘額滿足預定浮動閾值時,該智能合約根據預定浮動參數自動調整該特定旅館房間物件的市場價格,該預定浮動閾值包括該目前數量餘額或預定時間段。
100、200:房間庫存管理系統
120、210:物業管理系統模組
130:記憶體
140、218、268、RI1、RI2、…、RIX、RIT:房間庫存紀錄
150:頻道管理器
212:主收發器
214:主處理器
216:主記憶體
250:中間伺服系統
260:交易代理伺服器
262:中間收發器
264:中間處理器
266:中間記憶體
402、NPT_H:雜湊模組
404、NPT_TS:時間戳記模組
406、NPT_B:區塊產生模組
OTA1、OTA2、OTAM:線上旅遊代理模組
BE1、BE2、BEN:預訂引擎
NS1、NS2、NST、NSX:節點伺服器
NT1、NT2、NTX、NTT:節點收發器
NP1、NP2、NPX、NPT:節點處理器
NM1、NM2、NMX、NMT:節點記憶體
BL1、BL2、BLY、BLXY:區塊
S1、S2、S2.1、S3、S4:步驟
S5、S6、S7、S8、S8.1、S8.2:步驟
第1圖圖示一般房間庫存管理系統如何與各線上旅遊代理模組及/或預訂引擎合作來處理顧客預訂房間的服務。
第2圖根據本發明之一實施例,圖示一種基於區塊鏈的房間庫存管理系統。
第3圖圖示第2圖之房間庫存管理系統中一主記憶體、一中間記憶體、及多個節點記憶體之間的資料交流之概略示意圖。
第4圖圖示第2圖之房間庫存管理系統中一中間處理器產生一新進區塊的示意圖。
第5圖根據本發明之一實施例,圖示一種將主控節點伺服器之責任轉移於各個節點伺服器之間且基於區塊鏈的房間庫存管理系統。
第6圖圖示第5圖之房間庫存管理系統中一主記憶體、一暫態主控節點記憶體、及其餘多個節點記憶體之間的資料交流之概略示意圖。
第7圖圖示第5圖之房間庫存管理系統中一暫態主控處理器產生一新進區塊的示意圖。
第8圖圖示本發明用於管理基於區塊鏈的旅館房間庫存管理系統的流程圖。
第9圖圖示本發明動態定價的流程圖。
第1圖圖示一般房間庫存管理系統100如何通過一個中間頻道管理器150,與各線上旅遊代理模組及/或預訂引擎合作來處理顧客預訂房間的服務,其中中間頻道管理器150連接於房間庫存管理系統100與該些線上旅遊代理模組及/或預訂引擎之間,並由飯店方來控制。舉例來說,房間庫存管理系統100與M個線上旅遊代理模組OTA1、OTA2、...、OTAM及/或N個預訂引擎BE1、BE2、...、BEN共同作業,其中M與N皆為正整數。請注意,在上述例子中,與房間庫存管理系統100共同運作之至少一個線上旅遊代理模組及/或至少一個預訂引擎可由至少一個全球分銷系統(Global Distribution System,GDS)及/或至少一個元搜尋引擎(Metasearch Engine)所替換。然而,飯店方使用上述全球分銷系統及/或元搜尋引擎的成本遠高於租用線上旅遊代理模組及/或預訂引擎的成本,且使
用全球分銷系統及/或元搜尋引擎的成本可包含至少建置及維護一客製化應用程式介面(Application Programming Interface,API)及由大量顧客所索取的服務費。因此,一般的飯店方傾向尋求線上旅遊代理模組或預訂引擎的服務,而非全球分銷系統或元搜尋引擎。以下敘述將集中於使用線上旅遊代理模組及/或預訂引擎的情況,然而仍適用於使用全球分析系統及元搜尋引擎的狀況。
房間庫存管理系統100設置於飯店方管理的領域中。線上旅遊代理模組OTA1、OTA2、...、OTAM及/或預訂引擎BE1、BE2、...、BEN一般來說設置於遠離旅館方的位置且並不屬於旅館方的控制。頻道管理器150對每一線上旅遊代理模組OTA1、OTA2、...、OTAM及每一預訂引擎BE1、BE2、...、BEN個別維護了一個通訊頻道,以轉譯及轉傳其請求至房間庫存管理系統100,也就是飯店方。然而,在一般的情況下,每一線上旅遊代理模組OTA1、OTA2、...、OTAM及/或每一預訂引擎BE1、BE2、...、BEN會使用不同的應用程式介面及不同的通訊協定來轉達不同型態的變數及參數。因此,飯店方或中間頻道管理器150總是會需要耗費大量成本在設計客製化應用程式介面於中間頻道管理器150個別維護的多個通訊頻道,以期符合每一線上旅遊代理模組OTA1、OTA2、...、OTAM及/或每一預訂引擎BE1、BE2、...、BEN在應用程式介面及通訊協定上的不同需求。
房間庫存管理系統100包含一傳統的物業管理系統(Property Management System,PMS)模組120及一記憶體130。
用於飯店預訂房間服務的傳統物業管理系統模組包含一電腦化系統來促進飯店方的房間預訂服務。該傳統物業管理系統模組是一個全方位的軟體應用,其用來涵蓋如飯店方的前端管理、銷售業務、企劃、報告等功能之目標。該傳統物業管理系統模組使得飯店方的運作得以自動化,包含顧客房間預訂服務、顧客資訊細節、線上預訂服務、收費通知、銷售熱點、電話、應收帳款、
銷售與營銷、事件、食物飲品花費、物資管理、人力資源與薪資管理、維護管理、品質管理及其他設施。飯店的物業管理系統模組可以被整合於或製作成介面於第三方解決方案,例如中央預訂系統及收益率管理系統、線上預訂引擎、後端系統、銷售熱點、門禁系統、房間服務優化、能源管理、支付卡授權及頻道管理系統。藉由雲端計算科技的幫助,飯店的物業管理系統模組可以擴展其功能至直接對顧客的服務,例如線上入住服務、房間服務、房間內控制、住客與櫃檯間的通訊、及虛擬門房(concierge)等。該些擴充功能主要是被顧客使用於其持有的手機或是由飯店方於其大廳及/或房間內提供。傳統的物業管理系統模組總是需要針對飯店方的營運基礎績效指標,提供正確且即時的資訊,例如每日平均費率或是住房率等。傳統物業管理系統模組亦在食物與飲品管理上控制儲藏空間中的存貨、並決定購買哪些存貨、及決定購買的量與頻率等。如此一來,傳統物業管理系統模組120使得顧客可以在飯店本地端透過物業管理系統模組120或遠端地透過上述的線上旅遊代理模組及/或預訂引擎,來完成其對於飯店所做的房間預訂。
記憶體130儲存一房間庫存紀錄140,其儲存房間庫存管理系統100(亦即飯店方)所管理之所有房間的可用度。根據所管理之所有房間的可用度,房間庫存管理系統100可將被管理的房間分類為可用房間、已預訂房間、及已住客房間。當顧客預定了可用房間,該可用房間即變成已預訂房間。當顧客入住已預訂房間,該已預訂房間即變成已住客房間。當顧客由飯店辦理退房時,該已住客房間變為可用房間。
同樣地,每一線上旅遊代理模組OTA1、OTA2、...、OTAM各自具有一個房間庫存紀錄。且每一預訂引擎BE1、BE2、...、BEN各自具有一個房間庫存紀錄。
然而,線上旅遊代理模組OTA1、OTA2、...、OTAM及預訂引擎BE1、
BE2、...、BEN並沒有動機去將各自的房間庫存紀錄內容與房間庫存紀錄140的內容動態地進行同步。這是因為動態地與房間庫存紀錄140的內容進行同步會明顯地增加其等待傳統物業管理系統模組120之回應的負擔。再者,因為頻道管理器150僅負責轉譯及轉達要求,頻道管理器150無法對傳統物業管理系統模組120減除上述負擔。更嚴重的是,如果越來越多的線上旅遊代理系統模組及預訂引擎持續詢問房間庫存紀錄140的內容,傳統物業管理系統模組120遲早會無法負荷這樣的詢問量、並引發其系統當機。為了避免這樣的系統當機情形,傳統物業管理系統模組120僅能給予較長的等待時間,來允許線上旅遊代理系統模組及預訂引擎提出較小程度的詢問量,其中該等待時間的長度可由至少數分鐘到數個小時,並根據飯店方請求服務的線上旅遊代理系統模組及/或預訂引擎數量來決定。舉例來說,在飯店方請求服務的線上旅遊代理系統模組及/或預訂引擎數量較少的情況下,線上旅遊代理或預訂引擎可被限制每半小時或每二小時才能夠詢問房間庫存紀錄140一次。在旅遊旺季中,在飯店方請求服務的線上旅遊代理系統模組及/或預訂引擎數量更多時,上述的等待時間會設定得更長。如此一來,會無可避免地迫使線上旅遊代理系統模組及/或預訂引擎數量具有之房間庫存紀錄的內容與房間庫存紀錄140之內容間出現不一致的現象,這是因為線上旅遊代理系統模組及/或預訂引擎在處理顧客發出的房間預訂請求時,其房間庫存紀錄的內容可能並不正確。即使在某些極端情況下,為了減輕雙方的無謂負擔並集中處理陸續到來的房間預訂請求,線上旅遊代理系統模組及/或預訂引擎也有可能會不定時地或更為頻繁地跳過對傳統物業管理系統模組120的詢問,以節省其詢問房間庫存資訊的龐大成本。更糟的是,如果飯店方實際上已用盡可用房間,而線上旅遊代理系統模組及/或預訂引擎並未及時詢問傳統物業管理系統模組120以獲知該資訊,接下來會發生的房間超售事件(Overbooking)是無可避免的。
傳統房間庫存管理系統中發生房間超售事件的起源
第1圖圖示了傳統科技中房間超售事件是如何引起的細節。
假設一第一顧客透過線上旅遊代理模組OTA1存取物業管理系統模組120,以預訂房間庫存管理系統100所管理之可用房間R1。首先,線上旅遊代理模組OTA1先行確認其持有的房間庫存紀錄,以確認飯店方是否有可用房間,其中線上旅遊代理模組OTA1持有的房間庫存紀錄不見得與房間庫存紀錄140的內容一致。若線上旅遊代理模組OTA1確認到飯店方有可用房間,線上旅遊代理模組OTA1會將該第一顧客的房間預訂請求轉傳至傳統物業管理系統模組120。傳統物業管理系統模組120接著查驗房間庫存紀錄140的內容,以確認其是否的確有可用房間來滿足該第一顧客的房間預訂請求。若傳統物業管理系統模組120的確在房間庫存紀錄140的內容確認到有可用房間,傳統物業管理系統模組120會將該第一顧客的房間預訂請求轉譯為一成功交易(Successful Transaction),並對應更新房間庫存紀錄140的內容以紀錄該成功交易。此次房間庫存紀錄140的內容更新包含改變房間R1的可用性至已預訂狀態、及減少飯店方的可用房間額度。
然而,若一第二顧客透過預訂引擎BE1存取傳統物業管理系統模組120,以在該第一顧客發出房間預訂請求的稍後預訂同一房間R1,而使得預訂引擎BE1來不及被告知該第一顧客已成功預訂房間R1的事實,並使得預訂引擎BE1誤確認房間R1仍為可用房間。接著,預訂引擎BE1將該第二顧客的房間預訂請求轉傳至傳統物業管理系統模組120。顯然地,傳統物業管理系統模組120將會在檢查房間預訂紀錄140的內容後,很快的決定該第二顧客並未成功預訂房間R1。然而,傳統物業管理系統模組120仍需等到預訂引擎BE1再次向房間預訂紀錄140進行查詢時,才能夠向預訂引擎BE1告知該第二顧客並未成功預訂房間的狀況。若不幸地,該第二顧客在預訂引擎BE1的再次查詢前,便已至飯店方辦理
入住手續,該第二顧客與飯店方都勢必要面對房間超售的問題。
若該第二顧客運氣夠好,飯店方仍然可以準備替代用的可用房間給該第二顧客,並給予適當的補償。然而,若不巧飯店方在確認該第一顧客之房間預訂要求為成功交易且正好用盡所有可用的房間時,該第二顧客仍然需要面對房間超售的問題,並需要立即搜尋其他飯店的可用房間。在強烈的不確定性下,該第二顧客的旅遊體驗很可能因此被徹底破壞,且這也會反向損傷飯店方及預訂引擎BE1的商譽。更糟的是,如以上所述,若飯店方與更多的線上旅遊代理模組及/或預訂引擎合作,或若處於旅遊旺季,上述的房間超售問題其嚴重性會越來越大。
以科技觀點來說,傳統的房間庫存管理系統100具有以下缺點:
(1)線上旅遊代理模組與預訂引擎無法動態地詢問傳統物業管理系統模組120,來確定各自房間庫存紀錄之正確性。
(2)若線上旅遊代理模組與預訂引擎各自增加詢問傳統物業管理系統模組120的頻率,傳統物業管理系統模組120自身的計算量及/或通訊頻寬將無法負荷,而因此更容易造成計算錯誤或通訊錯誤。
(3)傳統房間庫存管理系統100與線上旅遊代理模組及/或預訂引擎之間的資料不一致,將會導致飯店方的房間超售事件。房間超售事件會在飯店方與更多線上旅遊代理模組及/或預訂引擎合作或旅遊旺季時更加惡化。
(4)飯店方必須付出更大的成本在研發客製化應用程式介面及通訊協定上,以由線上旅遊代理模組及/或預訂引擎接收所需的變數與參數來處理各自的房間預訂請求,甚至處理房間退訂請求或退房請求。
本發明之房間庫存管理系統:為了有效率地減緩上述傳統房間庫存管理系統100所發生的房間超售事件,本發明根據一實施例揭露一種基於區塊鏈的房間庫存管理系統,亦即
如第2圖所示之基於區塊鏈的房間庫存管理系統200。房間庫存管理系統200引入一個中間伺服系統,該中間伺服系統可減緩傳統物業管理系統模組與線上旅遊代理及/或預訂引擎之間的資料不對稱,並可減輕傳統物業管理系統模組的負擔。再者,房間庫存管理系統200有效率地為各個飯店方降低了線上旅遊代理模組、預訂引擎、甚至是上述全球分銷系統及元搜尋引擎所帶來的通訊成本及維護成本。
區塊鏈包含了多個實體節點,每一實體節點理論上保存了相同的內容(例如多個區塊),例如每一節點各自保存了複數個區塊,且每一節點各自保存的複數個區塊具有相同的內容。為了應對特定事件的發生,例如發生成功交易時,會產生一個新區塊來記錄該特定事件。在越多的區塊產生後,可建立起一成功交易歷史,並可於該區塊鏈中追蹤該成功交易歷史。因此,採用區塊鏈技術的第一個好處即為可追朔性。再者,如果某一實體節點中某一特定區塊被成功竄改,由於所有的實體節點理論上包含一樣的內容,亦即包含一樣的區塊,因此這樣的成功竄改可以很容易地被偵測到、並藉由參考其他未被竄改之實體節點中的區塊來修復。換言之,應用區塊鏈的第二優點在於其抵禦竄改行動的能力。
當應用區塊鏈技術時,基於區塊鏈的房間庫存管理系統200可有效地確保每一成功交易的正確性,亦即確保每一房間預訂事件的正確性。因此,基於區塊鏈的房間庫存管理系統200可有效地解決使用傳統房間庫存管理系統所引起的房間超售問題。
再者,基於區塊鏈的房間庫存管理系統200使用基於以太坊(Ethereum)的智能合約(Smart Contract)來產生一個共同的應用程式介面(Application Programming Interface,API)及/或一共同的通訊協定來與該些線上旅遊代理及/或該些預訂引擎進行通訊。在某些例子中,該共用之應用程式介
面是用於基於以太坊的多個線上旅遊代理及/或多個預訂引擎,且該共同的通訊協定是用於非基於以太坊的多個線上旅遊代理及/或多個預訂引擎。如此一來,該些線上旅遊代理及/或該些預訂引擎所產生的系統維護成本及通訊成本可大幅度的削減,其中該些系統維護及通訊包含向線上旅遊代理模組及/或預訂引擎傳輸房間預訂事件或更新房間庫存紀錄等。這是因為基於以太坊的智能合約在編程語言設計上的開放及易於上手等性質,其包含轉傳具有較少且較易於理解之變數及參數。上述有關降低成本方面的好處,基於同樣的理由,也成立於當基於區塊鏈之房間庫存管理系統200與全球分銷系統及/或元搜尋引擎共同合作的狀況。
智能合約是在以太坊下發展的技術,也是本發明所應用之區塊鏈科技中的重要輔助技術。以太坊是一種開源、基於區塊鏈的分散式計算系統及作業系統,特徵在於智能合約的功能性。以太坊提供一種去中心化且符合圖靈完備(Turing-Complete)的虛擬機器,也就是以太坊虛擬機器,其可使用節點網路來執行指令碼(Script)。
以太坊的智能合約基於不同的電腦語言,開發者使用這些電腦語言來編程各自的功能。智能合約是高階的編成抽象化,其被轉譯為以太坊虛擬機器字節碼(Bytecode)、並部署於以太坊區塊鏈中來執行。智能合約可開啟證明功能性的可能性,例如自含可證明公平性(Provably Fair)之賭場。以太坊區塊鏈應用通常指向去中心化的應用,這是因為它們基於去中心化以太坊虛擬機器與其智能合約的緣故。以太坊區塊鏈的應用實例包含:數位簽章演算法、證券化代幣(Securitized Token)、數位權利管理、集資(Crowdfunding)、預測市場、匯款、線上賭博、社群媒體平台、金融交易及身份系統等。因為以太坊的圖靈完備性質,智能合約得以提供功能設計及實施上的高度彈性。再者,因為基於以太坊的智能合約所具有的開源及易於實施等性質,基於區塊鏈的房間庫存管
理系統200在與線上旅遊代理模組及/或預訂引擎進行通訊時,在基於以太坊的智能合約輔助下,具有上述提及之各種優點。
基於區塊鏈的房間庫存管理系統200包含一新穎之物業管理系統模組210及一中間伺服系統250。物業管理系統模組210可設置於一旅館內,使得旅館方可直接控制物業管理系統模組210。中間伺服系統250可設置於物業管理系統模組210的遠方。在一例子中,中間伺服系統250為物業管理系統模組210事先處理或處理房間預訂事件,使得中間伺服系統250可為物業管理系統模組210大幅減輕處理上的負擔。在一例子中,房間預訂事件包含至少由旅館方發出的內部房間預訂請求及內部房間取消/退房請求,以及由線上旅遊代理模組及/或預訂引擎所發出的外部房間預訂請求及外部房間取消請求。外部房間預訂請求及外部房間取消請求可透過線上旅遊代理模組及/或預訂引擎發出,以在該應用程式介面或該通訊協定的輔助下,預訂或取消飯店方至少一個房間,其中該應用程式介面及該通訊協定是使用基於以太坊的智能合約所開發。該內部房間預訂/內部房間退房請求發生在顧客直接在飯店內辦理房間預訂手續、或是當飯店內的顧客決定辦法退房手續之時。再者,中間伺服系統250使用基於以太坊的智能合約來就房間預訂事件進行通訊,以實現與線上旅遊代理模組及/或預訂引擎之間小成本通訊,此係因用來通訊的應用程式介面及/或通訊協定是使用基於以太坊的智能合約來實作,因而使得設計簡單之故。
在一例子中,物業管理系統模組210特別設計藉由與中間伺服系統250共用同一應用程式介面,亦即同一遠端程序呼叫(Remote Procedure Call,RPC)程序,而與中間伺服系統250共同運作。如此一來,物業管理系統模組210與中間伺服系統250之間的通訊可僅用去較少的處理時間,而達成更高的效率。在房間庫存管理系統200需要在短時間內處理大量房間預訂事件時,例如旅遊旺季時,這樣的高效率會更明顯。
物業管理系統模組210包含一主收發器212、一主處理器214、及一主記憶體216。在本發明之各個例子中,主處理器214是一個電腦處理器,且主記憶體216是一個非揮發式電腦可讀取記憶體。主收發器212可處理與中間伺服系統250之間的通訊,但並不直接與線上旅遊代理OTA1、OTA2、...、OTAM及/或預訂引擎BE1、BE2、...、BEN進行通訊。主記憶體216會為物業管理系統模組210維護一個房間庫存紀錄218(如第3圖所示),以作為飯店方管理其房間之用。房間庫存紀錄218記錄了至少飯店中每一房間的可用度及飯店中可用的房間計數。主處理器214可應對於一房間預訂事件的發生,參照及/或更新房間庫存紀錄218。舉例來說,主處理器214可對應於一房間預訂請求,減少飯店中可用的房間計數及/或關閉被預訂之房間的可用度。主處理器214亦可應對於一房間預訂取消請求或一退房請求來增加飯店中可用的房間計數及/或開啟被預訂之房間的可用度。
中間伺服系統250應用了區塊鏈技術。再者,中間伺服系統250包含一交易代理伺服器260及複數個節點伺服器,例如第2圖所示X個節點伺服器NS1、NS2、...、NSX,其中X是正整數。節點伺服器NS1、NS2、...、NSX會形成一個區塊鏈,每一節點伺服器會保存實質相同的資料,以確保彼此之間的資料一致性及資料可追朔性。
交易代理伺服器260如同中間伺服系統250的核心,並包含一中間收發器262、一中間處理器264、及一中間記憶體266。在某些例子中,交易代理伺服器260會扮演被信任之節點的角色,用來被授權在中間伺服系統250所形成的區塊鏈中產生新區塊。同樣地,在某些例子中,中間處理器264是一個電腦處理器,且中間記憶體266是一個非揮發式電腦可讀取記憶體。當線上旅遊代理模組OTA1、OTA2、...、OTAM、預訂引擎BE1、BE2、...、BEN、或物業管理系統模組210中任一者發出一房間預訂請求時,中間收發器262會接收該房間預訂請
求、並轉傳至中間處理器264。在某些例子中,中間收發器262可被實施為一應用程式介面伺服器,且該應用程式介面伺服器會基於中間記憶體266所儲存基於以太坊的智能合約,將該房間預訂請求轉譯為物業管理系統模組210及中間伺服系統250可輕易理解的形式,亦即取代了頻道管理器150的功能。中間記憶體266維護了一個如第3圖所示的房間庫存紀錄268,其中房間庫存紀錄268是以至少一個基於以太坊的該智能合約所實施,使得中間處理器264可基於相容於該些基於以太坊之智能合約的指令來操作(例如存取、更新、或稽核)房間庫存紀錄268。中間伺服系統250(特別是交易代理伺服器260)、線上旅遊代理模組OTA1、OTA2、...、OTAM、及/或預訂引擎BE1、BE2、...、BEN之間的通訊是由中間記憶體266中所儲存之智能合約所支援。中間處理器264使用該些智能合約中至少一個智能合約來存取及/或更新房間庫存紀錄268的內容。在某些例子中,中間收發器262可以設置於離中間處理器264及/或中間記憶體266有一段距離的遠處,以將應用程式介面伺服器的轉譯程序分離於房間庫存紀錄的管理程序之外,來避免交易代理伺服器260的系統負擔超載。
在某些例子中,中間處理器264決定一個房間預訂事件是否為一成功交易,其中該房間預訂事件可能是一個房間預訂請求、一個退房請求、或是一個房間取消請求,且發出該房間預訂事件的主體可為物業管理系統模組210、線上旅遊代理模組OTA1、OTA2、...、OTAM、及/或預訂引擎BE1、BE2、...、BEN其中之一。由線上旅遊代理模組OTA1、OTA2、...、OTAM、及/或預訂引擎BE1、BE2、...、BEN其中之一所發出的房間預訂事件,可為由顧客所發起的一個外部房間預訂請求或一個外部房間取消請求(在該顧客先前已成功預訂一個房間的情況下)。物業管理系統模組210所發出之房間預訂事件可為一個內部房間預訂請求、一個內部房間取消請求、或一個內部退房請求。在接收到一個房間預訂請求時,中間處理器264會檢查房間庫存紀錄268來確認該房間預訂請求是否可
獲准,例如根據被請求預訂之房間的可用度或根據若准許該房間預訂請求後是否會引起該飯店之超售現象來決定是否准許該房間預訂請求。若該中間處理器264准許該房間預訂請求,中間處理器264會對應產生一個成功交易。同樣地,在接收到一內部退房請求、一內部房間取消請求、或一外部房間取消請求時,中間處理器264會檢查房間庫存紀錄268、釋放被取消或被退房之該房間、並對應產生一成功交易。
為了支援在區塊鏈技術下運行的各種複雜功能,中間伺服系統250應用了至少一個儲存於中間記憶體266之基於以太坊的智能合約。如先前所述,藉由智能合約在設計及實施功能上的彈性,中間伺服系統250可結合傳統房間預訂需求及大部分最新的區塊鏈科技來實現多種不同的功能。
在某些例子中,在中間處理器264決定該房間預訂事件是一個成功交易後,中間處理器264將該成功交易加入至房間庫存紀錄268中,以更新房間庫存紀錄268。再者,中間處理器264可以將已更新之房間庫存紀錄268的內容同步至每一節點伺服器NS1、NS2、...、NSX,亦即更新節點伺服器NS1、NS2、...、NSX所形成之該區塊鏈。因此,節點伺服器NS1、NS2、...、NSX可作為房間庫存紀錄268的備份紀錄。
在某些例子中,如廣為所知之區塊鏈科技所展現,上述節點伺服器NS1、NS2、...、NSX的區塊更新可包含同一區塊鏈中不同節點伺服器之間的區塊競爭,使得某些區塊被加入該區塊鏈之部分節點伺服器後被拋棄。然而,此處所述節點伺服器NS1、NS2、...、NSX的區塊更新亦假設包含此種加入區塊後又拋棄的情形,而不另行贅述。因此,每一節點伺服器NS1、NS2、...、NSX在此被假設包含實質相同的多個區塊,該些區塊最終包含實質相同的交易歷史。
如此一來,房間庫存紀錄268的內容可更佳地防止被竄改或破壞,此係因中間處理器264總是可以在節點伺服器NS1、NS2、...、NSX的任何一個節
點伺服器中找到房間庫存紀錄268的正確備份。
每一節點伺服器NS1、NS2、...、NSX各自具有一個節點收發器、一個節點處理器、以及一個節點記憶體。該節點處理器係為一個電腦處理器。且該節點記憶體係為一個電腦可讀取式記憶體。該節點收發器可在發生對應於一房間預訂請求之一成功交易時,接收由中間處理器264傳出之指令、並傳輸資料至中間處理器264。該節點記憶體可儲存房間庫存紀錄268之內容備份,以作為未來更新及/或稽核之用。該節點處理器可處理由中間處理器264傳出之指令、並決定使用哪些資料來回應中間處理器264。如第2圖所例示,舉例來說,節點伺服器NS1具有一節點收發器NT1、一節點處理器NP1、及一節點記憶體NM1;節點伺服器NS2具有一節點收發器NT2、一節點處理器NP2、及一節點記憶體NM2;且節點伺服器NSX具有一節點收發器NTX、一節點處理器NPX、及一節點記憶體NMX。
第3圖圖示主記憶體216、中間記憶體266、及節點記憶體NM1、NM2、...、NMX各自的房間庫存紀錄間的關係之概念示意圖,亦即房間庫存紀錄218、房間庫存紀錄268、及房間庫存紀錄RI1、RI2、...、RIX之間的關係。每一節點記憶體NM1、NM2、...、NMX儲存了與房間庫存紀錄268所儲存相同的複數個智能合約。且房間庫存紀錄RI1、RI2、...、RIX亦各自使用節點記憶體NM1、NM2、...、NMX儲存之該些智能合約來實施。與中間處理器264及中間記憶體266相同,每一節點處理器NP1、NP2、...、NPX各自使用實施房間庫存紀錄RI1、RI2、...、RIX的該些智能合約,來存取及更新房間庫存紀錄RI1、RI2、...、RIX的內容。
在某些例子中,中間處理器264首先對應於一成功交易的產生,更新房間庫存紀錄268。再者,中間處理器264將房間庫存紀錄268的已更新內容透過主收發器212轉傳至物業管理系統模組210,使得主處理器214可據以更新房間庫
存紀錄218,而使房間庫存紀錄218的內容與房間庫存紀錄268的已更新內容同步。中間處理器264亦對應房間庫存紀錄268的已更新內容來產生一個新區塊,該新區塊保存了物業管理系統模組210至少所有最新的成功交易。在某些例子中,中間處理器264需要至少一個儲存於中間記憶體266的智能合約來執行完整的指令(例如計算或更新變數),以產生該新區塊。舉例來說,碰到有Y個不同但依時間順序(Chronological Order)發生的成功交易時,中間處理器264可在時間t1產生區塊BL1、在時間t2產生區塊BL2、...、以及在時間tY產生一個最新近區塊BLY,其中Y是一個正整數。時間t1早於時間t2。時間t2早於時間t(Y-1),且時間t(Y-1)早於時間tY。時間tY代表發生成功交易的最新近時間點。區塊BL1包含了所有在時間t1時已發生的成功交易。區塊BL2比區塊BL1多包含了一個發生在時間t2的成功交易,亦即區塊BL2包含了所有在時間t2時已發生的成功交易。同樣地,區塊BLY包含所有在時間tY時已發生的成功交易。
在區塊鏈科技下,每一節點伺服器NS1、NS2、...、NSX有義務使各自包含的房間庫存紀錄RI1、RI2、...、RIX同步更新,以使其內容與房間庫存紀錄268的內容同步。因此,在透過各自的節點收發器NT1、NT2、...、NTX接收到最新近產出區塊BLY後,節點處理器NP1、NP2、...、NPX各自將最新近產出區塊BLY併入自己的房間庫存紀錄RI1、RI2、...、RIX。在某些例子中,節點處理器NP1、NP2、...、NPX需要至少一個智能合約的協助,來同步執行最新近之成功交易中所涉及的指令,以完成各自之房間庫存紀錄RI1、RI2、...、RIX的內容更新。這些更新可包含更新特定本地端(Local)變數或特定廣域(Global)變數。該些本地端變數可包含各個房間的可用度或價格。該些特定廣域變數可包含條件式的折扣或動態調整的房間價格。
第4圖圖示中間處理器264如何產生一個新區塊的細節。中間處理器264包含一雜湊(Hashing)模組402、一時間戳記(Timestamp)模組404、及區
塊產生模組406。如先前所述,中間處理器264應對於一成功交易來產生一個新區塊。在中間處理器264確認該成功交易後,雜湊模組402為該新區塊產生一個雜湊值,且時間戳記模組404為該新區塊產生一個獨特的時間戳記。舉例來說,雜湊模組402會為Y個區塊BL1、BL2、...、BLY各自產生一個實質獨特的對應雜湊值HS1、HS2、...、HSY,且時間戳記模組404會為Y個區塊BL1、BL2、...、BLY各自產生一個實質獨特的對應時間戳記TS1、TS2、...、TSY。
產生雜湊值的方法對熟知區塊鏈技術領域者已廣為所知,因此,此處不再特地贅述該些方法。然而,每個被產生的雜湊值具有其隨機性,使得每個被產生的雜湊值可為實質獨特。在某些例子中,被產生的時間戳記可對應於中間處理器264確認該成功交易的當下、或是對應於,例如,由物業管理系統模組210、線上旅遊代理模組OTA1、OTA2、...、OTAM、或預訂引擎BE1、BE2、...、BEN發出該房間預訂請求的當下。如此一來,每一區塊BL1、BL2、...、BLY會各自具有一個實質獨特的雜湊值及一個實質獨特的時間戳記。且最新近產生的區塊BLY會具有所有已產生區塊中最新的時間戳記。
對應於該成功交易,區塊產生模組406由雜湊模組402引入了一個實質獨特的雜湊值,並從時間戳記模組406引入了一個實質獨特的時間戳記,來產生一個區塊標頭(Block Header)。舉例來說,在發生一個最新近成功交易時,區塊產生模組406為了將被產生的區塊BLY,引入雜湊值HSY及時間戳記TSY來產生區塊標頭BHY。如此一來,區塊產生模組406可個別產生區塊標頭BH1、BH2、...、BHY。
再者,應對於該成功交易,區塊產生模組406產生了一個新區塊,其整併了一個對應的區塊標頭、該成功交易的內容、至少一個智能合約、以及前一個產生區塊的內容。舉例來說,應對於一個最新近的成功交易,區塊產生模組406所產生的區塊BLY會包含區塊標頭BHY、至少一個由中間記憶體266所載
入的智能合約、以及前一個區塊BL(Y-1)的內容,其中區塊BL(Y-1)因圖示簡略的需求而未標示。如此一來,最新近產生之區塊BLY可包含先前所有區塊BL1、BL2、...、BL(Y-1)的內容。除此以外,所有先前產生之區塊BL1、BL2、...、BL(Y-1)所對應所有目前已存在的成功交易,也可透過僅參照最新近產生區塊BLY的方式來完成稽核(Audit)。
最後,區塊產生模組406將該新區塊加入節點伺服器NS1、NS2、...、NSX所形成之區塊鏈,以更新該區塊鏈。舉例來說,區塊產生模組406將最新近產生區塊BLY加入至已包含多個區塊BL1、BL2、...、BL(Y-1)的區塊鏈,以更新該區塊鏈。
在某些例子中,每一線上旅遊代理模組OTA1、OTA2、...、OTAM及/或預訂引擎BE1、BE2、...、BEN被允許以直接或透過交易代理伺服器260的方式,存取節點伺服器NS1、NS2、...、NSX所形成之區塊鏈。如此一來,藉由使用總是實質維持最新近交易的該區塊鏈,每一線上旅遊代理模組OTA1、OTA2、...、OTAM及/或預訂引擎BE1、BE2、...、BEN可總是透過及時參照一最新進產生之區塊的方式,主動地確認可用房間的數量及/或特定房間的可用性。如此便可實質解決房間超售事件的問題。
另外,由於物業管理系統模組210的大部分任務都轉移至中間伺服系統250,先前技術中物業管理系統模組的過載問題也可被有效且實質的避免。
在某些例子中,存取節點伺服器NS1、NS2、...、NSX所形成之區塊鏈包含的多個區塊是透過各自的區塊標頭(更精確的說,是透過各自的雜湊值)來建立與稽核。在某些例子中,存取節點伺服器NS1、NS2、...、NSX所形成之區塊鏈是使用梅克爾樹(Merkle Tree)技術,使得該區塊鏈之每一區塊具有一個實質獨特的梅克爾根(Merkle Root)。若某一區塊(例如區塊BL1)在節點伺服器NS1、NS2、...、NSX其中之一遭到竄改,任何可存取該區塊鏈的個體可簡單
地稽核該區塊鏈、並進而找到在該特定節點伺服器上被竄改的區塊BL1。該稽核程序包含:(1)在節點伺服器NS1、NS2、...、NSX上各自計算區塊BL1的梅克爾根之值;(2)比較節點伺服器NS1、NS2、...、NSX各自計算出來區塊BL1的梅克爾根之值,以找到至少一個節點伺服器上被竄改之區塊BL1的不一致。更精確的說,由於被竄改的區塊BL1一定會具有一個與其他節點伺服器上未被竄改之區塊BL1不同的梅克爾根值,因此上述的比較程序可以輕易地找出這樣的不同梅克爾根值。被竄改的區塊BL1亦可藉由參照其他節點伺服器上未被竄改的區塊BL1來獲得修正。如此一來,該區塊鏈上的區塊皆可被保證其正確性,使得每一節點伺服器上保存的房間庫存紀錄亦可被保全。在某些例子中,一個個體被授權可存取該區塊鏈,以稽核或甚至修正該區塊鏈,其中該個體可為物業管理系統模組210、交易代理伺服器260、或節點伺服器NS1、NS2、...、NSX之任一者的處理器。上述有關於稽核與修正區塊BL1的例子,亦適用於該區塊鏈中的其他區塊。
在某些例子中,每一個成功交易可經由參照任一節點伺服器NS1、NS2、...、NSX上任一區塊BL1、BL2、...、BLY的區塊標頭(更精確的說,經由區塊各自的時間戳記),而被正確的追蹤,其為上述稽核程序的一部份。該追蹤程序亦可使用中間記憶體266或每一節點記憶體NM1、NM2、...、NMX所儲存之至少一個稽核用智能合約來實施,其主導者可為上述被授權存取該區塊鏈的個體。這樣的個體可包含交易代理伺服器260包含的中間處理器264、或任一節點伺服器NS1、NS2、...、NSX的節點處理器。較佳地,這樣的稽核程序是由中間處理器264所主導,以進行即時且不致混淆的更新。該追蹤程序包含:(1)搜尋區塊BL1、BL2、...、BLY各自的區塊標頭BH1、BH2、...、BHY;(2)追蹤區塊BL1、BL2、...、BLY各自的時間戳記TS1、TS2、...、TSY,以成功辨識導致區塊BL1、BL2、...、BLY產生的各個成功交易。藉由時間戳記TS1、TS2、...、
TSY的輔助,各個成功交易的發生先後順序可正確的依照時間排列來確認。如此一來,超售事件可以被更佳地確認及避免,其中該超售事件是起因於未能及時通知線上旅遊代理模組或預訂引擎一筆較早的成功交易,導致錯誤地接受另一筆較晚的成功交易。
在某些例子中,多個儲存於房間庫存紀錄268的智能合約包含至少一個動態定價智能合約,其可根據房間庫存紀錄268所儲存的一個暫態可用房間數量,來決定至少一個暫時且可變的房間價格。中間處理器264動態地調整該暫態房間價格、並將調整過的房間價格經由中間收發器262轉傳至物業管理系統模組210、線上旅遊代理模組OTA1、OTA2、...、OTAM及/或預訂引擎BE1、BE2、...、BEN。同樣地,在主收發器212接收調整過的房間價格之後,主處理器214亦動態地將調整過的房間價格更新至房間庫存紀錄218。
相較於傳統的房間庫存管理系統100,房間庫存管理系統200具有下列優點:(1)藉由確保所有的成功交易都依照發生時間順序被記錄起來,克服了超售事件帶來的問題;(2)在中間伺服系統250的輔助下,在確認成功交易及/或更新房間庫存紀錄上,減輕了物業管理系統模組的負擔、處理時間及頻寬;及(3)增進了房間庫存紀錄的正確性及可追朔性。
在上述的實施例中,房間庫存管理系統200應用了一個中央模組(亦即交易代理伺服器260)來管理中間伺服系統250所包含節點伺服器NS1、NS2、...、NSX之間的主要任務。然而,本發明的另一實施例將管理上述任務的責任,更佳地平衡於節點伺服器NS1、NS2、...、NSX之間。更精確的說,任一節點伺服器NS1、NS2、...、NSX都可被暫時地指定為一個主控節點伺服器(Master Node Server),用來管理所有的節點伺服器NS1、NS2、...、NSX一段時間,且在該段時間結束後,可指定另一節點伺服器來作為新的主控節點伺服器,以繼續在另一段時間中管理所有的節點伺服器NS1、NS2、...、NSX。在某些例子中,
在節點伺服器NS1、NS2、...、NSX之間轉換主控節點伺服器之責任可以時而進行(from time to time)、週期性地進行、或隨機地進行。再者,由節點伺服器NS1、NS2、...、NSX中指定主控節點伺服器的方式可包含選舉、照順序輪流(Sequential)、或根據一預定規則。該預訂規則可包含動態地指定一個具有較小負擔或最小負擔的節點伺服器作為主控節點伺服器,其中該負擔的計算可根據包含即時的系統負荷、即時資料儲存量、及/或即時傳輸頻寬等資訊來決定。因此,任一節點伺服器NS1、NS2、...、NSX可避免承擔無法負荷的負擔,甚至避免引起故障。
第5圖根據本發明之另一實施例,圖示了房間庫存管理系統500。房間庫存管理系統500包含物業管理系統模組210及中間伺服系統520。物業管理系統模組210的性質與佈置與之前第2圖所述相同,故不再另行贅述。中間伺服系統520如先前第2圖所示,包含多個節點伺服器NS1、NS2、...、NSX。然而,房間庫存管理系統200與房間庫存管理系統500之間的主要差異在於,在共識(Consensus)演算法的輔助下,房間庫存管理系統500可選擇多個節點伺服器NS1、NS2、...、NSX中任一者作為主控節點伺服器,以取代交易代理伺服器260。主控節點伺服器以及其包含之各元件繼承了與交易代理伺服器260及其元件至少相同的結構與功能。因此,該主控節點伺服器與交易代理伺服器260相同的部分,以下不再另行贅述。
用來在多個節點伺服器NS1、NS2、...、NSX中選出主控節點伺服器的共識演算法,可包含依序決定、隨機決定、及/或經由引入所有節點伺服器的輪詢(Polling)共識來決定。被選出的主控節點伺服器會負擔管理工作一段時間,在該段時間結束後,會再另外舉行一次選舉來決定下一個主控節點伺服器,使得先前被選出的主控節點伺服器可被解除其責任,直到再次被選為主控節點伺服器為止。以下的敘述是基於節點伺服器NST暫時被選為主控節點伺服器並執行
與先前交易代理伺服器260相似的功能來描述。
第6圖圖示主記憶體216包含之多個房間庫存紀錄與其他節點記憶體NM1、NM2、...、NMX(其包含主控節點伺服器MNS所包含的主控節點記憶體NMT在內)具有之多個房間庫存紀錄間的關係概略示意圖,亦即房間庫存紀錄218與多個房間庫存紀錄RI1、RI2、...、RIX(其包含主控節點記憶體NMT具有的房間庫存紀錄RIT)之間的關係示意圖。同樣地,多個房間庫存紀錄RI1、RI2、...、RIX是以節點記憶體NM1、NM2、...、NMX各自儲存的多個智能合約所實施。且節點處理器NP1、NP2、...、NPT、...、NPX會使用該些智能合約來存取及/或更新各自的房間庫存紀錄RI1、RI2、...、RI。X。在某些例子中,主控節點處理器NST首先會對應於成功交易的發生,更新暫態主控房間庫存紀錄RIT。再者,主控節點處理器NST將暫態主控房間庫存紀錄RIT的更新內容,透過主控節點收發器NTT及主收發器212,轉傳到物業管理系統模組210,使得主處理器214得以更新房間庫存紀錄218至實質同步於暫態主控房間庫存紀錄RIT之更新內容。主控節點處理器NPT亦對應於暫態主控房間庫存紀錄RIT之更新內容,產生一個保存了物業管理系統模組210之至少所有目前已成功交易的新區塊。需要說明的是,每一節點伺服器NS1、NS2、...、NSX各自的記憶體NM1、NM2、...、NMX中儲存的智能合約,皆近似於中間記憶體266所儲存的智能合約。因此,在某些例子中,主控節點處理器NPT可以載入主控節點記憶體NMT所儲存的至少一個智能合約,以執行完整的指令來產生新區塊,例如計算及更新變數。舉例來說,在發生Y次依時間順序發生的不同成功交易後,前一個主控節點處理器及/或暫態主控節點處理器NPT可以在時間點t1產生一區塊BL1、在時間點t2產生一區塊BL2、...、及在時間點tY產生一最新近區塊BLY,其中Y是一個正整數。時間點t1早於時間點t2、時間點t2早於時間點t(Y-1)、時間點t(Y-1)早於時間點tY。時間點tY代表最新近成功交易所發生的時間點。區塊BL1包含直到
時間點t1為止的所有成功交易。區塊BL2相較於區塊BL1,多包含了一個發生在時間點t2的成功交易,也就是說,區塊BL2包含了直到時間點t2為止的所有成功交易。相似地,區塊BLY包含了直到時間點tY為止的所有成功交易。
如先前所述,在區塊鏈技術中,每一節點伺服器NS1、NS2、...、NSX需要使各自持有的房間庫存紀錄RI1、RI2、...、RIX同步更新於當時之主控房間庫存紀錄RIT的內容。因此,在透過各節點收發器NT1、NT2、...、NTX(除了當時的主控節點收發器NTT外)接收到最新近產生區塊BLY之後,各節點處理器NP1、NP2、...、NPX(除了當時的主控節點處理器NPT以外)將最新近產生之區塊BLY整合至每一房間庫存紀錄RI1、RI2、...、RIX(除了當時的主控房間庫存紀錄RIT之外)。在某些例子中,節點處理器NP1、NP2、...、NPX需要至少一個智能合約的輔助來同步執行該最新近成功交易所涉入的指令,以完成每一房間庫存紀錄RI1、RI2、...、RIX的更新。該些更新可例如包含某些本地端變數的更新(例如房間可用性或各房間的價格)、或包含某些全域變數的更新(例如條件式的折扣或動態調整的房間價格)。
第7圖圖示了暫態主控節點處理器NPT如何產生一個新區塊的細節。暫態主控節點處理器NPT包含一個雜湊模組NPT_H、一時間戳記模組NPT_TS、以及一區塊產生模組NPT_B。如先前所述,暫態主控節點處理器NPT會對應於一成功交易來產生一個新區塊。在暫態主控節點處理器NPT確認該成功交易時,雜湊模組NPT_H為該新區塊產生一個實質獨特(unique)的雜湊值,且時間戳記模組NPT_TS為該新區塊產生一個實質獨特的時間戳記。舉例來說,雜湊模組NPT_H為了Y個區塊BL1、BL2、...、BLY產生Y個實質獨特的雜湊值HS1、HS2、...、HSY,且時間戳記模組NPT_TS為了Y個區塊BL1、BL2、...、BLY產生Y個實質獨特的時間戳記TS1、TS2、...、TSY。
與先前的實施例相似,產生雜湊值的方法已被熟習區塊鏈技術領域
者所廣為周知,因此,產生雜湊值的方法此處不再贅述。再者,在某些例子中,所產生的時間戳記可對應暫態主控節點處理器NPT確認該成功交易的時間點或該房間預訂事件發起的時間點,其中該房間預訂事件可由物業管理系統模組210、線上旅遊代理模組OTA1、OTA2、...、OTAM、及/或預訂引擎BE1、BE2、...、BEN其中之一所發起。如此一來,每一區塊BL1、BL2、...、BLY應具有其實質獨特的雜湊值及時間戳記。且最新近產生區塊BLY在當時所有的區塊中具有一最新近時間戳記。
區塊產生模組NPT_B對應於該成功交易,會由雜湊模組NPT_H引入該實質獨特雜湊值及由時間戳記模組NPT_TS引入該實質獨特時間戳記,以產生一新區塊標頭。舉例來說,為了對應於一最新近成功交易的發生來產生將被產生之最新近區塊BLY,區塊產生模組NPT_B引入雜湊值HSY及時間戳記TSY產生一區塊標頭BHY。如此一來,區塊產生模組NPT_B各自產生區塊標頭BH1、BH2、...、或BHY。
再者,應對於該成功交易,區塊產生模組NPT_B產生一個新區塊,其中該新區塊包含對應之一區塊標頭、該成功交易的內容、至少一個智能合約、及其前一個產生的區塊之內容。舉例來說,應對於一最新近成功交易,區塊產生模組NPT_B產生區塊BLY,其包含區塊標頭BHY、該最新近成功交易的內容、由暫態主控節點記憶體NMT所載入之至少一個智能合約、及其前一個產生的區塊BL(Y-1)的內容(為了簡化圖示而未繪出)。如此一來,最新近產生區塊BLY會包含先前所產生之所有區塊BL1、BL2、...、BL(Y-1)的內容。再者,先前所產生之所有區塊BL1、BL2、...、BL(Y-1)所對應先前發生過之所有成功交易可藉由僅參照最新近產生區塊BLY的方式來進行稽核。
最後,區塊產生模組NPT_B會將該最新近產生區塊加入至由節點伺服器NS1、NS2、...、NSX所形成之該區塊鏈中,以更新該區塊鏈。舉例來說,
區塊產生模組NPT_B會將最新近產生區塊BLY加入至已包含區塊BL1、BL2、...、BL(Y-1)的區塊鏈,以更新該區塊鏈。
與房間庫存管理系統200類似,房間庫存管理系統500具有實質相同的變化實施例、性質、及優點,也就是如同先前房間庫存管理系統200被提及的敘述。另外,擔任主控節點伺服器的責任會以偶爾、隨機、週期性地、或根據一預定規則決定的方式來轉移於節點伺服器NS1、NS2、...、NSX之間,其中該預定規則用來平衡該主控節點伺服器的責任於節點伺服器NS1、NS2、...、NSX之間。如此一來,節點伺服器NS1、NS2、...、NSX可更佳地平衡各自的負擔、並避免不需要的故障事件。
本發明的較佳實施例中,如圖8的流程圖所示,本發明基於區塊鏈的房間庫存管理系統200的管理方法包括以下步驟:步驟S1,在旅館房間庫存管理系統200的多個節點伺服器中的各節點伺服器中維護區塊鏈,區塊鏈儲存關於特定旅館房間物件的所有成功交易,其中,旅館房間庫存管理系統200具有多個節點伺服器且各節點伺服器都維護區塊鏈的副本。區塊鏈包括嘟個按照時間順序單獨地鏈接的區塊BLY,各個區塊都以加密方式引用其直接在前的區塊,因此在未更改所有後續區塊BLY的情況之下,任何區塊中的數據都無法更改,各區塊儲存關於特定旅館旅館房間物件的成功交易資料。
在步驟S2中,通過計算機網路,通信耦合到旅館房間庫存管理系統200以接收到房間預訂事件,由多個節點伺服器中的主節點伺服器確定房間預訂事件是否可透過提交表示房間預訂事件的新交易至基礎智能合約,基礎智能合約儲存在區塊鏈中。透過計算機網路,房間預訂事件從旅館、訂房引擎、線上旅行社(OTA)、全球分銷系統和/或元搜尋引擎所接收。經由計算機網路,旅館房間庫存管理系統200的通訊至少部分地遵循遠端程序呼叫(remote procedure call,RPC)協定。交易代理伺服器260維護房間庫存記錄268,並且在步驟S2之前,還
檢查目前的房間庫存記錄268是否滿足房間預訂事件(房間庫存記錄268和目前房間庫存是基於前一筆房間預訂事件所記錄且可能不完全等同於區塊鏈中的實際房間庫存)。當房間庫存記錄268滿足房間預訂事件時,在步驟S2.1中,基礎智能合約接收房間預訂事件的新交易,並基於來自區塊鏈的特定旅館房間物件的實際數量餘額,執行程式化標準以確認提交的新交易是否在目前儲存在區塊鏈中的關於特定旅館房間物件的全部既存成功交易中有衝突。在較佳實施例中,基於編程標準,基礎智能合約會確認儲存在區塊鏈的最新區塊中的目前數量餘額、特定旅館房間物件的旅館地點、特定旅館房間物件的房間類型、及/或房間預訂事件中關於特定旅館房間物件的時間範圍,以確定提交的新交易是否引起任何衝突。
交易代理伺服器260可被認為是預言機(oracle)。當基於區塊鏈的房間庫存管理系統200建立在私有區塊鏈上時,預言機不是必要的。然而,若基於區塊鏈的房間庫存管理系統200是建立在公共區塊鏈上,例如以太坊,則交易代理伺服器260可能必須是基於去中心化共識演算法的預言機。
步驟S3中,基於基礎智能合約,確定代表房間預訂事件的新交易能夠成功時,由主節點伺服器創建要附加至區塊鏈的新區塊。只有當代表房間預訂事件的新交易可被基礎智能合約確任為成功時,才會創建新區塊。其中,新區塊儲存表示新交易成功的資料,且新區塊的創建會讓新區塊被添加到旅館房間庫存管理系統200的多個節點伺服器的各節點伺服器中的區塊鏈。若提交交易表示衝突,該交易將被視為失敗且立即丟棄。區塊鏈的區塊BLY可能包含有房間預訂請求、房間取消請求或房間結帳請求之一的成功交易,且其按時間順序與時間戳記鏈接,以在成功交易發出/接收時進行登記。所有成功的交易都記錄在區塊鏈中且不可更改。
步驟S4中,基礎智能合約經配置為,響應於通過計算機網路或交易
代理伺服器260接收到關於特定旅館房間物件的目前數量餘額的查詢,聯繫在區塊鏈中最新區塊(或根據如Merkle樹的驗算法的對應區塊)表示特定旅館房間物件的實際數量餘額,給查詢的發送者。交易代理伺服器260將目前數量餘額推送或同步至PMS模組210以保持追踪使房間庫存記錄268與PMS模塊210的房間庫存記錄218相同,以讓OTA模塊M和預訂引擎BEN可以存取房間庫存的目前數量餘額。
除了新交易之外,儲存在新區塊中的資料更表示關於特定旅館房間物件的所有先前成功交易。儲存在新區塊中的資料包括獨特表頭、表示新交易的日期、及表示新區塊直接前一區塊內容的加密數據。獨特區塊表頭包括新區塊的獨特哈希值,表示新交易發出或接收的時間的獨特時間戳記。特定旅館房間物件是選定日期或選定時段的選定旅館中的選定房型。房間預訂事件可以是房間預訂/訂房請求、房間結賬請求或房間取消請求。
在較佳實施例中,各旅館都有自己的區塊鏈,不同旅館分別有不同的區塊鏈。在另一較佳實施例中,所有不同旅館可以共享同一區塊鏈。來自不同旅館房間物件的另一成功交易可能與新交易基本上同時發生,且不同旅館房間物件的所有成功交易可能基本上與新交易同時發生在旅館房間庫存管理系統200內作為關於旅館房間物件的新交易,其被基礎智能合約所確認且被主節點伺服器封裝成為新區塊。
當基礎智能合約接收到房間預訂事件並且房間預訂事件是房間訂房請求時,基礎智能合約的程式化標准在執行房間訂房請求後驗證特定旅館房間物件的目前數量餘額是否為超過預定的最大閾值(以確保房間庫存足額)。基礎智能合約計算實際數量餘額,主節點伺服器將實際數量餘額、獨特時間戳記、獨特哈希值、及房間訂房請求封裝到一新區塊中。新區塊被附加到主節點伺服器的區塊鏈並廣播至其他節點伺服器。當新區塊成功被附加到區塊鏈時,交易代
理伺服器260自動從區塊鏈中的新區塊(透過基礎智能合約)更新其房間庫存記錄268,以使目前數量餘額接近於實際數量餘額,以便用戶可以預訂/訂房旅館房間。房間庫存記錄268(或目前數量餘額)可能與實際數量餘額不同,因為下一個新區塊會不時廣播,交易代理伺服器260通過基礎智能合約只能從新添加到區塊鏈且得到大多數節點伺服器確認的區塊中獲取資訊。在將新區塊添加到區塊鏈之後,房間庫存記錄268的特定旅館房間物件上的當前數量餘額減少了在新交易中所指定的數量。如果有幾個新區塊BL1Y、BL2Y...BLXY由主節點伺服器所產生,它們是來自不同OTA(或用戶)的相同或重疊的房間預訂事件,則幾個新區塊BL1Y、BL2Y...BLXY經廣播後且被大多數節點伺服器接受的一個,才是最新/最遲的區塊。只有當最新/最遲區塊被確認時,房間預訂請求才算完成,其他新區塊將被丟棄。類似地,房間取消請求和房間結帳請求通過相同的程序處理。
當房間預訂事件是房間取消請求或房間結賬請求時,程序化標準驗證在執行房間取消請求或房間結賬請求之後,特定旅館房間物件的當前數量餘額是否低於預定值最低閾值。將新區塊添加到區塊鏈之後,房間庫存記錄268的特定旅館房間物件的目前數量餘額增加了新交易中指定的數量。在一較佳實施例中,預定最小閾值為零。由於所有的成功交易利用獨特時間戳記而紀錄在區塊鏈上且僅當新區塊的交易為成功時新區塊才附加於區塊鏈上,紀錄在區塊鏈上的目前數量餘額是可信賴且可倚靠的。本發明的基於區塊鏈的房間庫存管理系統200將不會有超訂問題發生。
在一較佳實施例中,基於區塊鏈的房間庫存管理系統200的管理方法還包括審計程序,其是基於讀取區塊鏈中各個區塊的表頭來定位每個區塊的直接前一區塊;及確認區塊鏈中各區塊的時間戳記,以識別執行各區塊的成功交易,從而通過驗證所有區塊BLY中按時間順序列出的時間戳記以保證區塊鏈的完整性。
基於預定的選擇規則,從旅館房間庫存管理系統200的多個節點伺服器伺服器中的特定節點伺服器組中,選出主節點伺服器,且主節點伺服器是房間庫存管理系統200的所有節點伺服器NS1-NSX中的唯一節點伺服器,可包裝所有記錄和內容以創建新塊BL1Y、BL2Y...BLXY。預定選擇規則包括基於下列一或多種規則以選擇主節點伺服器:順序、隨機次序、選舉、涉及輪詢多個節點伺服器的共識、系統當前工作量的比較、可用儲存大小、及/或現有主節點伺服器相對於新候選節點伺服器的傳輸帶寬。
動態定價
如圖9中所示的步驟S5示意,當具有房間預訂事件的區塊附加到區塊鏈時,根據成功交易目前數量餘額由基礎智能合約所計算且達到預定浮動閾值(可以是更低或高於閾值的數值),預定浮動閾值可以是房間庫存的未預訂房間數量與預訂房間數量的比率、目前日期接近預定日期、特定期間、或特定假期。基礎智能合約觸發浮動智能合約。浮動智能合約可以集成為基礎智能合約的一部分,也可以是模塊化為存儲在區塊鏈中不同區塊中的另一個智能合約。基礎智能合約中寫入的原始房間價格乘以預定浮動參數,包括價格折扣參數或漲價參數,其可預先寫入浮動智能合約中(例如,當房間庫存記錄268在一定時期內目前數量餘額的房間庫存/存量為五分之一時,浮動智能合約由基礎智能合約所觸發,然後這些剩餘房間的價格乘以折扣參數,例如50%的折扣,用以刺激銷售)。交易代理伺服器260可以在與房間預訂事件的交易導致目前數量餘額發生變化以觸發浮動智能合約時,透過基礎智能合約或浮動智能合約從區塊鏈的新區塊中獲取並顯示調整後的價格。預定浮動參數可以寫入浮動智能合約或寫入區塊鏈的另一個區塊。浮動智能合約可搜索/追踪寫入區塊鏈相應區塊中的新預定浮動數。
在執行若干具有房間預訂事件的成功交易後,例如房間取消請求或
房間結賬請求,基礎智能合約在處理新交易時計算實際增加的數量餘額以達到遠離預定浮動閾值的數量,基礎智能合約停止觸發浮動智能合約,而使用原始房間價格,原始房間價格可初始寫入基礎智能合約。當表示房間預訂事件的新交易的新區塊被附加到區塊鏈時,交易代理伺服器260透過基礎智能合約(及主節點伺服器)從新區塊獲取更新的房間價格。
在步驟S6中,透過基礎智能合約可提交新交易作為附加到區塊鏈的新區塊以更新預定浮動閾值及/或預定浮動參數。新交易代表將要更新的新預定浮動規則及/或新預定浮動參數。當新預定浮動規則及/或新預定浮動參數的內容被確認時,基礎智能合約接受新的交易。主節點伺服器將新交易封裝為附加到區塊鏈的新區塊。當基礎智能合約計算出目前數量餘額並獲得剩餘房間數量時,基礎智能合約檢查新的預定浮動閾值,查看目前數量餘額是否在新的預定浮動閾值範圍內。在步驟S7中,當程式化標準經配置基於特定旅館房間物件的目前數量餘額以確定所提交的新交易時,基礎/浮動智能合約檢查預定浮動參數/閾值是否為新近更新的。在較佳實施例中,當浮動智能合約經觸發以確保基於動態定價的房間價格是新的且正確的,浮動智能合約檢查預定浮動參數是否為新的(通過Merkle樹搜尋相應的區塊)。在步驟S8中,浮動智能合約(或者,通過基礎智能合約)可響應對市場價格的詢問,不論市場價格是否針對特定旅館房間物件進行調整。如果市場價格被調整(步驟S8.1),浮動智能合約可以從區塊鏈的新區塊(或對應區塊)搜索表示調整後市場價格(使用Merkle樹演算法)的資料發送給查詢的發送者。當市場價格未調整時,基礎智能合約可以從基礎智能合約本身搜索資料發送給查詢的發送者(步驟S8.2)。本發明的智能合約的動態地價是紀錄在區塊鏈上且是公開可讀取的,對於顧客及旅遊代理商都是公正的。基於區塊鏈的特性,市場價格是自動調整不受到任何人暗中操縱,而能真實反映出基於市場機制的價格。
在另一較佳實施例中,本發明基於區塊鏈的房間庫存管理系統200包括多個節點伺服器、基礎智能合約及主節點伺服器。多個節點伺服器中的各節點伺服器經配置為維護區塊鏈,該區塊鏈儲存對於特定旅館房間物件的所有成功交易。該區塊鏈包括以按照時間順序(Chronological)單獨地鏈接的數個區塊BLY,各區塊加密地參照其直接往前的區塊,使得在未改變所有隨後區塊BLY之下,無法改變任何區塊內的資料,各區塊儲存關於該特定旅館房間物件的成功交易。基礎智能合約存儲在區塊鏈中。基礎智能合約包括程式化標準,程式化標準經配置為基於該特定旅館房間物件的目前數量餘額,以確定所提交交易在當下儲存在該區塊鏈中的關於該特定旅館房間物件的所有既存成功交易中是否代表衝突。主節點伺服器被配置為:從計算機網路通信耦接至該旅館房間庫存管理系統接收房間預訂事件;通過提交代表該房間預訂事件的新交易至儲存在該區塊鏈中的基礎智能合約,以確定房間預訂事件是否可以成功;在基於該基礎智能合約確定表示該房間預訂事件的該新交易可成功時,創建將要附加到該區塊鏈的新區塊,新區塊儲存代表該新交易的資料為成功的。該新區塊的創建使得該新區塊添加到該旅館房間庫存管理系統200中該多個節點伺服器的每個節點伺服器中的該區塊鏈中。當該房間預訂事件導致該目前數量餘額滿足預定浮動閾值時,基礎智能合約可觸發浮動智能合約,該浮動智能合約根據預定浮動參數自動調整該特定旅館房間物件的市場價格,該預定浮動閾值包括經該智能合約計算該特定旅館房間物件的該當前數量餘額、接近特定日期的目前日期、或特定時間段:並透過計算機網路,將關於特定旅館房間物件的調整後市場價格通訊給特定旅館物件的代理商或管理者。
在另一個優選實施例中,本發明的非暫時性計算機可讀取媒體,其包括多個指令,當由計算機化旅館房間庫存管理系統200的一或多個處理器執行時使系統:在旅館房間庫存系統200中的多個節點的各節點中,維護區塊鏈,該
區塊鏈儲存對於特定旅館房間物件的所有成功交易。該區塊鏈包括以按照時間順序(Chronological)單獨地鏈接的數個區塊BLY,各區塊加密地參照其直接往前的區塊,使得在未改變所有隨後區塊BLY之下,無法改變任何區塊內的資料,各區塊儲存關於該特定旅館房間物件的成功交易。在從計算機網路通信耦接至該旅館房間庫存管理系統200接收房間預訂事件時,由該多個節點中的主節點,通過提交代表該房間預訂事件的新交易至儲存在該區塊鏈中的基礎智能合約,以確定房間預訂事件是否可以成功。該基礎智能合約包括程式化標準,其經配置為基於該特定旅館房間物件的目前數量餘額,以確定所提交交易在當下儲存在該區塊鏈中的關於該特定旅館房間物件的所有既存成功交易中是否代表衝突。在基於該基礎智能合約確定表示該房間預訂事件的該新交易可成功時,由該主節點創建將要附加到該區塊鏈的新區塊,其中新區塊儲存代表該新交易的資料為成功。該新區塊的創建使得該新區塊添加到該旅館房間庫存管理系統200中該多個節點的每個節點中的該區塊鏈。當該房間預訂事件導致該目前數量餘額滿足預定浮動閾值時,該基礎智能合約可觸發浮動智能合約,根據預定浮動參數自動調整該特定旅館房間物件的市場價格,該預定浮動閾值包括該目前數量餘額或預定時間段。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
S5、S6、S7、S8、S8.1、S8.2:步驟
Claims (25)
- 一種用於基於區塊鏈的旅館房間庫存管理系統之方法,包含:在旅館房間庫存管理系統中的多個節點的各節點中,維護區塊鏈,該區塊鏈儲存對於特定旅館房間物件的所有成功交易,其中,該區塊鏈包括以按照時間順序(Chronological)單獨地鏈接的數個區塊,各區塊加密地參照其直接往前的區塊,使得在未改變所有隨後區塊之下,無法改變任何區塊內的資料,各區塊儲存關於該特定旅館房間物件的成功交易;在從計算機網路通信耦接至該旅館房間庫存管理系統接收房間預訂事件時,由該多個節點中的主節點,通過提交代表該房間預訂事件的新交易至儲存在該區塊鏈中的第一智能合約,以確定該房間預訂事件是否可以成功,其中,該第一智能合約包括程式化標準,其經配置為基於該特定旅館房間物件的目前數量餘額,以確定所提交交易在當下儲存在該區塊鏈中的關於該特定旅館房間物件的所有既存成功交易中是否代表衝突;在基於該第一智能合約確定表示該房間預訂事件的該新交易可成功時,由該主節點創建將要附加到該區塊鏈的新區塊,其中,該新區塊儲存代表成功的該新交易的資料,其中,該新區塊的創建使得該新區塊添加到該旅館房間庫存管理系統中該多個節點的每個節點中的該區塊鏈;當該第一智能合約確定表示該房間預訂事件的該新交易可成功且該房間預訂事件的該新交易導致該特定旅館房間物件的目前數量餘額滿足預定浮動閾值時,該第一智能合約觸發第二智能合約,該第二智能合約透過搜尋對應區塊以檢查預定浮動參數或該預定浮動閾值是否為新近更新、並將該特定旅館房間物件的剩餘房間的原始價格乘以預定浮動參數,以自動調整該特定旅館房間物件的市場價格;以及 其中,通過向該第一智能合約提交該新交易以更新該預定浮動參數或該預定浮動閾值,其中,代表更新後浮動閾值或更新後浮動參數的該新交易是由該第一智能合約確認並經包裝成為附加到該區塊鏈的該新區塊。
- 如請求項1所述之方法,其中,儲存在新區塊中的資料除了指示該新交易外,更指示關於該特定旅館房間物件的所有先前成功交易。
- 如請求項1所述之方法,其中,該新區塊更包括:關於不同旅館房間物件的另個成功交易,關於該不同旅館房間物件的該成功交易與關於該旅館房間物件的該新交易是大致上同時發生。
- 如請求項1所述之方法,其中,該新區塊更包括:關於不同旅館房間物件的所有成功交易都在該旅館房間庫存管理系統中與關於該旅館房間物件的該新交易大致上同時發生。
- 如請求項1所述之方法,其中,該房間預訂事件是訂房事件,且其中該程式化標準包括在執行該訂房事件後驗證該特定旅館房間物件的該目前數量餘額是否變得高於預定最大閾值;以及其中,在將該新區塊添加到該區塊鏈後,該特定旅館房間物件的該目前數量餘額會減少該新交易中指定的數量。
- 如請求項1所述之方法,其中,該房間預訂事件是取消事件或結賬事件,且其中該程式化標準包括在執行該取消事件或該結賬事件後,驗證該特定旅館房間物件的該目前數量餘額是否變得低於預定最低閾值;其中,在將該新區塊添加到該區塊鏈後,增加該特定旅館房間物件的該目前數量餘額;以及其中,該預定最小閾值為零。
- 如請求項1所述之方法,其中,該第一智能合約經配置為確定所述衝突是基於: 該特定旅館房間物件的旅館位置;該特定旅館房間物件的房間類型;及/或關於該特定旅館房間物件的該房間預定事件的時間範圍。
- 如請求項1所述之方法,其中,創建該新區塊包括:為該新區塊產生獨特哈希值;為該新區塊產生獨特時間戳記;及基於該獨特哈希值及獨特時間戳記,為該新區塊產生獨特區塊表頭(header),其中,該獨特時間戳記是基於該房間預定事件的發佈時間或接收時間所產生。
- 如請求項1所述之方法,其中,只有當代表該房間預訂事件的該新交易可成功時,才創建該新區塊。
- 如請求項1所述之方法,其中,該新區塊包括:獨特區塊表頭;代表該新交易的資料;及加密產生代表該新區塊的直接前一個區塊內容的資料。
- 如請求項1所述之方法,更包括基於下列步驟執行審計程序:讀取該區塊鏈中各區塊的區塊表頭以定位各區塊的直接前一區塊;及確認該區塊鏈中各區塊的時間戳記,以識別發起各區塊的成功交易,從而透過驗證全部該區塊中的該時間戳記是依照時間順序列出,以確保該區塊鏈的完整性。
- 如請求項1所述之方法,還包括:基於預定選擇規則,從該旅館房間庫存管理系統中該多個節點的特定節點組中選擇該主節點,其中,該旅館房間庫存管理系統中的該主節點是唯一可創建新區塊的節點。
- 如請求項12所述之方法,其中,該預定選擇規則包括基於順序、隨機、選舉、及/或涉及輪詢該多個節點的共識的一或多者,以選擇該主節點。
- 如請求項12所述之方法,其中,該預定選擇規則包括基於系統目前工作量、可用儲存的大小、及/或既有主節點與新候選節點的傳輸頻寬的比較,以選擇該主節點。
- 如請求項1所述之方法,其中,該特定旅館房間物件是在選定日期的選定旅館中選定房型,且其中該房間預訂事件是訂房請求、房間結賬請求、或房間取消請求。
- 如請求項1所述之方法,該方法更包括:通過該計算機網路接收來自旅館、訂房引擎、線上旅行社(Online Travel Agency,OTA)、全球分銷系統、及/或元搜索引擎(metasearch engine)的該房間預訂事件,其中,通過該計算機網路與該旅館房間庫存管理系統的通信至少部分遵循遠端程序呼叫(remote procedure call,RPC)協定。
- 如請求項1所述之方法,其中,該預定浮動閾值是經該第二智能合約計算該特定旅館房間物件的當前數量餘額、接近特定日期的目前日期、或特定時間段。
- 如請求項1所述之方法,其中該第一智能合約為用於管理該訂房事件及提交該新交易到區塊鏈的基礎智能合約,該第二智能合約為用於自動管理該特定旅館房間物件的市場價格的浮動智能合約,該浮動智能合約可集成為該基礎智能合約的一部分、或模塊化為存儲在該區塊鏈中不同區塊中的另一智能合約。
- 如請求項1所述之方法,其中,該第二智能合約經配置為,響 應於通過該計算機網路所接收關於該市場價格的查詢,是否對該特定旅館房間物件調整該市場價格;若該市場價格經調整,從該區塊鏈的新區塊搜索表示調整後的市場價格的資料至該查詢的發送者;若該市場價格未調整,從該第二智能合約獲取數據至該查詢的發送者。
- 如請求項1所述之方法,其中,該第一智能合約經配置為,響應於通過該計算機網路所接收關於該特定旅館房間物件的該目前數量餘額的查詢,傳送從該區塊鏈的該新區塊表示該目前數量餘額的資料,至該查詢的發送者。
- 一種基於區塊鏈的旅館房間庫存管理系統,包括:多個節點,其中,該多個節點中的各節點經配置為維護區塊鏈,該區塊鏈儲存對於特定旅館房間物件的所有成功交易,以及其中,該區塊鏈包括以按照時間順序(Chronological)單獨地鏈接的數個區塊,各區塊加密地參照其直接往前的區塊,使得在未改變所有隨後區塊之下,無法改變任何區塊內的資料,各區塊儲存關於該特定旅館房間物件的成功交易;儲存在該區塊鏈中的第一智能合約,其中,該第一智能合約包括程式化標準,其經配置為基於該特定旅館房間物件的目前數量餘額,以確定所提交交易在當下儲存在該區塊鏈中的關於該特定旅館房間物件的所有既存成功交易中是否代表衝突;以及主節點經配置為:從計算機網路通信耦接至該旅館房間庫存管理系統接收房間預訂事件;通過提交代表該房間預訂事件的新交易至儲存在該區塊鏈中的該第一智能合約,以確定房間預訂事件是否可以成功;在基於該第一智能合約確定表示該房間預訂事件的該新交易可成功時,創建將要附加到該區塊鏈的新區塊,其中,該新區塊儲存代表成功的該新交易的資 料,以及其中,該新區塊的創建使得該新區塊添加到該旅館房間庫存管理系統中該多個節點的每個節點中的該區塊鏈;其中,當該第一智能合約確定表示該房間預訂事件的該新交易可成功且該房間預訂事件的該新交易導致該目前數量餘額滿足預定浮動閾值時,該第一智能合約觸發第二智能合約,該第二智能合約透過搜尋對應區塊以檢查預定浮動參數或該預定浮動閾值是否為新近更新,、並將剩餘房間的原始價格乘以預定浮動參數,以自動調整該特定旅館房間物件的市場價格,其中,該預定浮動閾值包括該目前數量餘額或預定時間段;以及其中,該預定浮動參數或預定浮動閾值通過向該智能合約提交該新交易以更新,代表更新浮動閾值或更新浮動參數的該新交易是由該第一智能合約確認並經包裝成為附加到該區塊鏈的該新區塊。
- 如請求項21所述之系統,其中,該第一智能合約為用於管理該訂房事件及提交該新交易到區塊鏈的基礎智能合約,該第二智能合約為用於自動管理該特定旅館房間物件的市場價格的浮動智能合約,該浮動智能合約可集成為該基礎智能合約的一部分、或模塊化為存儲在該區塊鏈中不同區塊中的另一智能合約。
- 如請求項21所述之系統,其中,該第二智能合約經配置為,響應於通過該計算機網路所接收關於該市場價格的查詢,是否對該特定旅館房間物件調整該市場價格;若該市場價格經調整,從該區塊鏈的新區塊搜索表示調整後的市場價格的資料至該查詢的發送者;若該市場價格未調整,從該第二智能合約獲取數據至該查詢的發送者。
- 如請求項21所述之系統,其中,該第一智能合約經配置為,響應於通過該計算機網路所接收關於該特定旅館房間物件的該目前數量餘額的 查詢,傳送從該區塊鏈的該新區塊表示該目前數量餘額的資料,至該查詢的發送者。
- 一種用於基於區塊鏈的旅館房間庫存管理系統的非暫時性計算機可讀取媒體,其包括多個指令,當由計算機化的該旅館房間庫存管理系統的一或多個處理器執行該多個指令使該系統:在該旅館房間庫存管理系統中的多個節點的各節點中,維護區塊鏈,該區塊鏈儲存對於特定旅館房間物件的所有成功交易,其中,該區塊鏈包括以按照時間順序(Chronological)單獨地鏈接的數個區塊,各區塊加密地參照其直接往前的區塊,使得在未改變所有隨後區塊之下,無法改變任何區塊內的資料,各區塊儲存關於該特定旅館房間物件的成功交易;在從計算機網路通信耦接至該旅館房間庫存管理系統接收房間預訂事件時,由該多個節點中的主節點,通過提交代表該房間預訂事件的新交易至儲存在該區塊鏈中的第一智能合約,以確定該房間預訂事件是否可以成功,其中,該第一智能合約包括程式化標準,其經配置為基於該特定旅館房間物件的目前數量餘額,以確定所提交交易在當下儲存在該區塊鏈中的關於該特定旅館房間物件的所有既存成功交易中是否代表衝突;以及在基於該第一智能合約確定表示該房間預訂事件的該新交易可成功時,由該主節點創建將要附加到該區塊鏈的新區塊,其中,該新區塊儲存代表成功的該新交易的資料,其中,該新區塊的創建使得該新區塊添加到該旅館房間庫存管理系統中該多個節點的每個節點中的該區塊鏈;其中,當該第一智能合約確定表示該房間預訂事件的該新交易可成功且該房間預訂事件的該新交易導致該目前數量餘額滿足預定浮動閾值時,該第一智能合約觸發第二智能合約,該第二智能合約透過搜尋對應區塊以檢查預定浮動參 數或該預定浮動閾值是否為新近更新、並將剩餘房間的原始價格乘以預定浮動參數,以自動調整該特定旅館房間物件的市場價格,其中,該預定浮動閾值包括該目前數量餘額或預定時間段;以及其中,該預定浮動參數或預定浮動閾值通過向該第二智能合約提交該新交易以更新,代表更新浮動閾值或更新浮動參數的該新交易是由該第一智能合約確認並經包裝成為附加到該區塊鏈的該新區塊。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW111112806A TWI851985B (zh) | 2022-04-01 | 2022-04-01 | 基於區塊鏈的旅館房間庫存管理系統、方法、及其非暫時性計算機可讀媒體 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW111112806A TWI851985B (zh) | 2022-04-01 | 2022-04-01 | 基於區塊鏈的旅館房間庫存管理系統、方法、及其非暫時性計算機可讀媒體 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202341056A TW202341056A (zh) | 2023-10-16 |
| TWI851985B true TWI851985B (zh) | 2024-08-11 |
Family
ID=89856053
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW111112806A TWI851985B (zh) | 2022-04-01 | 2022-04-01 | 基於區塊鏈的旅館房間庫存管理系統、方法、及其非暫時性計算機可讀媒體 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI851985B (zh) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW588852U (en) * | 2003-01-22 | 2004-05-21 | Hon Hai Prec Ind Co Ltd | Switch device |
| TWM591231U (zh) * | 2019-10-05 | 2020-02-21 | 國立臺中科技大學 | 智能旅宿系統 |
| CN111727428A (zh) * | 2017-11-20 | 2020-09-29 | 欧簿客科技股份有限公司 | 基于区块链的房间库存管理系统 |
| CN112561105A (zh) * | 2020-12-16 | 2021-03-26 | 深圳市大中华区块链科技有限公司 | 一种基于区块链技术的酒店预订转让交易系统及方法 |
-
2022
- 2022-04-01 TW TW111112806A patent/TWI851985B/zh active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW588852U (en) * | 2003-01-22 | 2004-05-21 | Hon Hai Prec Ind Co Ltd | Switch device |
| CN111727428A (zh) * | 2017-11-20 | 2020-09-29 | 欧簿客科技股份有限公司 | 基于区块链的房间库存管理系统 |
| TWM591231U (zh) * | 2019-10-05 | 2020-02-21 | 國立臺中科技大學 | 智能旅宿系統 |
| CN112561105A (zh) * | 2020-12-16 | 2021-03-26 | 深圳市大中华区块链科技有限公司 | 一种基于区块链技术的酒店预订转让交易系统及方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202341056A (zh) | 2023-10-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI688907B (zh) | 基於區塊鏈的房間庫存管理系統 | |
| US12288168B2 (en) | Blockchain-based room inventory management system and method | |
| US10594477B2 (en) | Blockchain smart contract updates using decentralized decision | |
| US11038948B2 (en) | Real time updates and predictive functionality in block chain | |
| CN100558038C (zh) | 服务注册器以及相关系统和方法 | |
| CN108446975B (zh) | 一种额度管理方法及装置 | |
| US20050257197A1 (en) | Role-based object models | |
| US20080262878A1 (en) | Systems, methods, and computer program products for generating and updating a cache of price and availability information for travel packages and components | |
| TW202001608A (zh) | 基於區塊鏈的智慧合約調用方法及裝置、電子設備 | |
| WO2018106353A1 (en) | Method and system for travel itinerary bidding via blockchain | |
| US9697042B2 (en) | Extensibility of business process and application logic | |
| US12099520B2 (en) | Minimizing read and update conflict errors in blockchains | |
| US9547878B1 (en) | Central reservation system availability engine | |
| CN100568228C (zh) | 对数据的动态访问 | |
| TWI851985B (zh) | 基於區塊鏈的旅館房間庫存管理系統、方法、及其非暫時性計算機可讀媒體 | |
| JP7368531B2 (ja) | ブロックチェーンに基づく部屋在庫管理システム | |
| BRPI0803389B1 (pt) | métodos implementados por computador para gerenciamento de sequência de mensagem de eventos correlacionados e de uma sequência de solicitações de serviço correlacionados | |
| CN115686869B (zh) | 资源处理方法、系统、电子装置和存储介质 | |
| US20240265387A1 (en) | Method and system for blockchain itinerary support | |
| CN114077598B (zh) | 一种数据处理方法以及相关设备 | |
| CN113660338A (zh) | 数据交互方法、装置、系统和服务器 | |
| CN110930206A (zh) | 匹配发票的方法、装置和存储介质 | |
| US7856442B2 (en) | Method and system for communicating local content over a network | |
| CN120912287A (zh) | 交易信息公告方法、装置、电子设备及介质 | |
| CN118780906A (zh) | 额度管理方法、装置、设备及存储介质 |