TW201030659A - Concurrent data processing method, device and electronic bookkeeping system - Google Patents

Concurrent data processing method, device and electronic bookkeeping system Download PDF

Info

Publication number
TW201030659A
TW201030659A TW98104231A TW98104231A TW201030659A TW 201030659 A TW201030659 A TW 201030659A TW 98104231 A TW98104231 A TW 98104231A TW 98104231 A TW98104231 A TW 98104231A TW 201030659 A TW201030659 A TW 201030659A
Authority
TW
Taiwan
Prior art keywords
request
processing
time slice
time
burst
Prior art date
Application number
TW98104231A
Other languages
Chinese (zh)
Inventor
Li Cheng
xing-jun Ni
Xu Zhao
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to TW98104231A priority Critical patent/TW201030659A/en
Publication of TW201030659A publication Critical patent/TW201030659A/en

Links

Abstract

The present invention discloses a concurrent data processing method and device, capable of solving the problem in that multiple requests occupy the same resource at the same time during a concurrent process. The method of the present invention comprises: dividing a processing time into a plurality of time slices; distributing concurrent requests into different time slices; and circularly processing the requests at each time slice. The present invention adopts the concept of time slice for being applied in processing web requests without processing the requests one by one as traditionally implemented. The present invention processes the requests according to the time slices, so as to solve the problem in that the same resource is occupied at the same, thereby increasing processing efficiency. Further, while processing the requests at the same time slice, the present invention combines the same kind of requests for being processed, so as to reduce the processing time of the system, reduce the number of frequently locking/unlocking the same resource, and reduce the queue waiting time of resource access as well.

Description

201030659 六、發明說明: 【發明所屬之技術領域】 本發明涉及資料處理技術,特別是涉及一種倂發資料 處理方法、裝置及一種電子記帳系統。 【先前技術】 在各種業務應用系統中,倂發處理是一種常見的處理 φ 方式。例如,在金融系統中,對於倂發量大的業務如帳務 處理,就涉及一個帳戶同時向多個帳戶付款或一個帳戶同 時從多個帳戶收款的記帳處理。 參照圖1,是標準的記帳處理流程圖。以交易過程中 的記帳處理爲例,針對一筆記帳請求事件:首先,對交易 相關帳戶(包括買方付款的帳戶和賣方收款的帳戶)進行 資源的加鎖,以保證不被其他請求影響資料的準確性;其 次,執行買方帳戶的記帳操作,包括記錄記帳憑證及更新 φ 餘額,然後執行賣方帳戶的記帳操作,也包括記錄記帳憑 證及更新餘額;待記帳請求事件處理完畢後,統一釋放買 方和賣方帳戶資源的鎖。 通常,每一次記帳都需要對相關帳號進行鎖資源的操 作,從而避免其他操作對正在處理的帳號進行再次操作造 成資料不一致。但是,隨著業務量的不斷增大,某些帳號 會在瞬間產生多個併發操作,所有倂發線程中只有一個線 程能夠持有當時的資源鎖,其他線程必須等待鎖被釋放後 再逐一進行記帳處理。這種情況下,其他的線程都在等待 -5- 201030659 ,嚴重影響了帳務系統的性能。 例如,同時有1 000名彩民向彩券帳號付款,此時, 對該彩券帳號一共約有1000筆請求佇列,而要逐一等待 取得鎖許可權再進行操作,將嚴重影響系統其他業務的處 理。 在其他業務系統的倂發處理中,也存在多個請求需要 在同一時間內佔用同一資源的問題,因此極大地影響了業 務處理的效率。 【發明內容】 本發明所要解決的技術問題是提供一種併發資料處理 方法及裝置,以解決倂發處理過程中,多個請求在同一時 間內佔用同一資源的問題。 本發明的另一個目的是提供一種電子記帳系統,以解 決現有的記帳系統在處理倂發請求時,逐個處理請求而影 響系統性能的問題。 爲解決上述技術問題,根據本發明提供的具體實施例 ,本發明公開了以下技術方案: 一種倂發資料處理方法,包括: 將處理時間劃分爲多個時間片; 將倂發請求分配到相應的時間片上: 循環處理每個時間片上的請求。 較佳的,所述循環處理每個時間片上的請求,具體包 括:針對當前時間片上的請求佇列,根據預置條件判斷是 -6- 201030659 否存在同類請求,如果存在,則將所述同類請求進行合倂 處理。 其中,將倂發請求分配到相應的時間片之前,還包括 :根據預設的配置資訊’判斷當前請求是否爲併發請求; 如果是,則分配到相應的時間片;如果否,則按照正常處 理流程進行處理。 其中,所述將倂發請求分配到相應的時間片具體包$ Φ :按照請求的時間將併發請求分配到對應該請求時間的時 間片上。 其中,當所述請求爲帳務請求時,所述預置條件是指 針對相同業務的請求,和/或,針對相同帳戶的付款/收款 請求。 一種倂發資料處理裝置,包括: 時間片劃分單元,用於將處理時間劃分爲多個時間片 * φ 請求分配單元,用於將倂發請求分配到相應的時間片 上; 時間片處理單元,用於循環處理每個時間片上的請求 〇 較佳的,所述時間片處理單元進一步包括:循環調度 單元,用於循環調度每個時間片上的請求;合倂處理單元 ,用於針對當前時間片上的請求佇列,根據預置條件判斷 是否存在同類請求,如果存在,則將所述同類請求合倂後 進行處理。 201030659 其中,所述請求分配單元進一步包括:判斷單元,用 於根據預設的配置資訊,判斷當前請求是否爲倂發請求; 分配單元’用於根據判斷單元的判斷結果,如果是倂發請 求,則將該請求分配到相應的時間片;如果否,則將該請 求分配到常規處理單元,按照正常處理流程進行處理。 其中,當所述請求爲帳務請求時,所述預置條件是指 針對相同業務的請求,和/或,針對相同帳戶的付款/收款 請求。 一種電子記帳系統,包括: 帳務處理單元,用於進行記帳處理; 儲存單元,用於劃分時間片來儲存帳務請求; 請求分配單元,用於將倂發的帳務請求分配到相應的 時間片上; 時間片循環處理器,用於循環處理每個時間片上的帳 務請求;針對當前時間片上的請求佇列,根據預置條件判 斷是否存在同類請求,如果存在,則將所述同類請求合倂 G 後通過帳務處理單元進行記帳處理。 其中,所述請求分配單元進一步包括:判斷單元,用 於根據預設的配置資訊,判斷當前帳務請求是否爲倂發請 求;分配單元,用於根據判斷單元的判斷結果,如果是倂 發請求,則將該請求分配到相應的時間片;如果否,則將 該請求分配到帳務處理單元按照正常處理流程進行記帳處 理。 其中,所述預置條件是指針對相同業務的請求,和/ -8 - 201030659 或,針對相同帳戶的付款/收款請求。 根據本發明提供的具體實施例,本發明具有以下技術 效果: 本發明借用時間片的槪念,將時間片的槪念應用於網 路請求的處理,將高倂發的特殊網路請求,按請求的時間 分配到不同的時間段上處理,這樣就不需要像傳統方式一 樣逐個的處理請求,而是面向時間片進行處理,從而解決 0 了在同一時間佔用同一資源的問題,提高了處理效率。 而且,在處理同一時間片上的請求時,將同類請求進 行合倂處理,減少了系統的處理次數,從而減少了對同一 資源的頻繁加鎖、解鎖次數,同時降低了該資源訪問的佇 列等待時間。 【實施方式】 爲使本發明的上述目的、特徵和優點能夠更加明顯易 φ 懂,下面結合附圖和具體實施方式對本發明作進一步詳細 的說明。 本發明借用時間片的槪念,將時間片的槪念應用於網 路請求的處理,將高倂發的特殊網路請求分配到不同的時 間段上進行處理,從而解決了在同一時間佔用同一資源的 問題,提高了處理效率。同時,將一個時間片上可合併的 請求進行統一處理,減少了對同一資源的頻繁加鎖、解鎖 次數。 本發明適用於各種業務系統中的倂發業務處理,下面 -9 - 201030659 將以金融系統中的併發帳務處理爲例進行詳細說明。其中 ,所述金融系統既包括金融機構內部的網路系統,還包括 基於第三方電子交易平台的金融資料處理系統。 在所述金融系統的帳務處理中,針對一筆帳務請求, 涉及付款帳戶和收款帳戶兩個記帳處理過程。因此,倂發 請求可能是多個倂發付款請求,即針對同一個收款帳戶, 有多個交易同時提出付款請求;倂發請求也可能是多個倂 發收款請求,即針對同一個付款帳戶,有多個交易同時提 @ 出收款請求。針對所述高倂發帳戶(包括收款帳戶和付款 帳戶)的處理,下面通過實施例進行說明。 實施例一: 參照圖2,是實施例一所述一種倂發資料處理方法的 流程圖。針對高倂發帳戶的請求,執行以下處理: S201,將系統的處理時間劃分爲多個時間段,毎個時 間段稱爲一個時間片。其中,所述系統的處理時間是指處 © 理交易請求的時間。 S2 02,將倂發請求分配到相應的時間片上,等待該時 間片被處理。 具體分配時,有不同的分配策略,主要依據時間段的 劃分方法。例如,將一分鐘以秒劃分爲60個時間段,當 收到請求時,按照請求的時間自動分配到相應的時間段上 ,如請求的時間爲第20秒,則將該請求分配到第20個時 間片上處理。如果是倂發請求,即針對某個高倂發帳戶, -10- 201030659 在同一時刻有多個請求,則將所述多個請求都分配到同一 時間片上。 S2 03,按照時間片的順序,循環依次處理每個時間片 上的請求。 在處理每個時間片上的請求時,本發明提供了 一種較 佳方式,如下: S 2 04,較佳的,在處理當前時間片上的請求佇列時, φ 根據預置條件判斷是否存在同類請求,如果存在,則繼續 S205 ;如果不存在,則繼續S206。 其中,所述同類請求是指可以合併統一處理的請求, 例如,針對同一個帳戶的付款請求,或者是針對同一個帳 戶的收款請求,或者是針對同一個帳戶的同類或相同業務 請求,等等。 S205,如果存在同類請求,則將同類請求合倂,統一 進行處理。 • S206,如果不存在同類請求,則對每個請求單獨處理 〇 在帳務處理中,涉及兩個帳戶(付款帳戶和收款帳戶 )的記帳處理。針對每一個帳戶’都需要通過加鎖、解鎖 操作,才能結束一個請求的處理。如果是同類請求’則可 以將針對同一帳戶的多個請求合併’這樣對該帳戶進行一 次加鎖、解鎖操作就可以完成處理;如果不是同類請求’ 則需要在處理每個請求的時候’對相應帳戶進行加、解鎖 201030659 S207,返回處理結果。 將上述處理過程與現有技術相比’現有技術是面向請 求的處理方式,是逐個的處理請求,而上述處理過程是面 向時間片的處理,因此解決了在同一時間佔用同一資源的 問題,提高了系統的倂發處理效率。同時’在處理同一時 間片上的請求時,將同類請求進行合倂處理,減少了系統 的處理次數,從而減少了對同一資源的頻繁加鎖、解鎖次 數,同時降低了該資源訪問的佇列等待時間。 @ 較佳的,在實際應用中,還可以包括一個預處理步驟 ,該步驟在將倂發請求分配到時間片之前,先對請求進行 —個識別處理,然後再進行分配。具體參照圖3,是處理 示意圖。 系統在對一個記帳請求進行處理時,先根據預設的配 置資訊,判斷當前請求是否爲倂發請求。如果是倂發請求 ,則轉到特殊記帳處理流程,將該請求分配到相應的時間 片上等待處理,當時間片被循環處理時,執行記帳處理; @ 如果在同一個時間片上存在同類請求,則合倂處理。如果 不是併發請求,則轉到正常記帳處理流程,執行記帳處理 〇 其中,所述特殊記帳處理是針對高倂發的業務或帳戶 進行的特殊處理。爲識別出哪些請求需要進行特殊處理, 會預先設定一些配置資訊,該配置資訊設定了哪些業務爲 高倂發業務,這些高倂發業務中的哪些資料處理是倂發處 理,等等。所述配置資訊可以根據具體業務進行設定,目 -12- 201030659 的是篩選出高倂發的處理請求,以便轉到特殊處理流程進 行基於時間片的處理。 基於上述方法的說明,本發明還提供了一種倂發資料 處理裝置的實施例。參照圖4,是所述裝置的結構圖。所 述裝置主要包括時間片劃分單元U41、請求分配單元U42 、時間片處理單元U43,其中: 時間片劃分單元U41,用於將處理時間劃分爲多個時 φ 間片; 請求分配單元U42,用於將倂發請求分配到相應的時 間片上; 時間片處理單元U43,用於按照時間片的順序循環處 理每個時間片上的請求。 較佳的,所述時間片處理單元U43進一步包括: 循環調度單元,用於循環調度每個時間片上的請求; 合倂處理單元,用於針對當前時間片上的請求佇列, φ 根據預置條件判斷是否存在同類請求,如果存在,則將所 述同類請求合倂後進行統一處理;如果不存在,則對每個 請求進行單獨處理。 較佳的,所述請求分配單元U42進一步包括: 判斷單元,用於根據預設的配置資訊,判斷當前請求 是否爲倂發請求; 分配單元,用於根據判斷單元的判斷結果,如果是併 發請求’則將該請求分配到時間片;如果否,則將該請求 分配到常規處理單元U44,按照正常處理流程進行處理。 -13- 201030659 其中,所述常規處理單元U44和時間片處理單元U43 是兩種不同管道的處理。常規處理單元U44是按照現有技 術的方式進行處理,即針對一個請求,分別對涉及的兩個 帳戶進行加鎖、記帳處理、解鎖的處理,可參照圖1所示 。而時間片處理單元U43是針對高倂發業務、倂發帳戶的 特殊處理,通過時間片及合倂同類請求的方式提高倂發處 理的效率。 圖4所示裝置中未詳述的部分可以參見圖2、圖3所 示方法的相關部分,爲了篇幅考慮,在此不再詳述。 由於目前電子交易的普遍性,下面將以基於第三方電 子交易平台的金融資料處理爲例,進一步詳細說明本發明 如何解決電子交易處理中的倂發帳務問題。 在電子交易中,帳務處理由第三方支付平台實現,平 台設有用戶虛擬帳戶,包括買方虚擬帳戶和賣方虛擬帳戶 @ 。買方先將交易資金從銀行帳戶轉入買方虛擬帳戶,在交 易過程中再由買方虛擬帳戶轉到賣方虛擬帳戶中,此時交 易資金控制在第三方支付平台,賣方無法提現。當買方確 認收貨之後,交易資金再由賣方虛擬帳戶轉入賣方銀行帳 戶。而本發明處理的帳務請求是指平台內部交易雙方虛擬 帳戶之間的轉帳處理,如前所述,包括倂發付款請求和倂 發收款請求。 下面將以倂發付款請求爲例進行說明(以下所述帳戶 -14- 201030659 均指虛擬帳戶)。如果有多個帳戶同時向一個帳戶付款, 則針對每一個付款請求,帳務處理包括三部分: 第一,帳務系統根據配置資訊區分處理通道; 第二,將請求分配到時間片; 第三,對該時間片的處理。 下面通過圖5、圖6和圖7進行詳細說明。 參照圖5,是帳務系統根據配置資訊區分處理通道的 0 示意圖。 圖中,週邊系統是指帳務系統之外的系統,如電子交 易系統或其他產生請求的業務系統。帳務系統是由第三方 支付平台實現,用於進行帳戶之間的轉帳處理。 假設帳務系統中的帳戶A向帳戶B轉帳,帳務系統收 到週邊系統發來的請求後,判斷該請求是否爲針對高倂發 業務或高倂發帳戶的請求,如果是,則分配到時間片處理 通道,通過時間片的方式進行特殊處理,具體參照圖6所 φ 示。如果否,則分配到帳務常規處理通道,按照現有技術 的方式進行處理,即針對一個請求,分別對涉及的兩個帳 戶進行加鎖、記帳處理、解鎖的處理,可參照圖1所示。 參照圖6,是將請求分配到時間片的示意圖。 如果將請求分配到了時間片處理通道,則根據請求的 時間,該請求會落入相應的時間片等待處理。如果一個時 間片上落入多個請求,則形成了該時間片的請求佇列。通 常,一次轉帳涉及到兩個帳戶,分別做付款和收款。如圖 所示,當帳戶A向帳戶B的轉帳請求落入一個時間片之後 -15- 201030659 ,時間片處理通道會將帳戶A的付款操作和帳戶B的收款 操作分爲兩個任務排列在時間片佇列中。 參照圖7,是對該時間片的處理示意圖。 該圖表示對一個時間片的處理。圖中,時間片輪轉處 理器用於循環調度時間片來處理各時間片佇列中的請求。 針對當前調度的目標時間片,首先獲取目標時間片佇列中 的任務1,進行付款處理;然後獲取任務2,進行收款處 理;最後,當任務1和任務2都處理完畢後,將任務1和 @ 任務2的處理結果返回週邊系統。201030659 VI. Description of the Invention: [Technical Field] The present invention relates to data processing technology, and in particular, to a method and device for processing burst data, and an electronic billing system. [Prior Art] Burst processing is a common processing φ method in various business application systems. For example, in the financial system, for a large-volume business such as accounting processing, an accounting process in which one account simultaneously pays to multiple accounts or one account receives money from multiple accounts at the same time is involved. Referring to Figure 1, it is a standard billing process flow chart. Taking the billing process in the transaction process as an example, the request event for a note-taking account: First, the transaction-related account (including the account paid by the buyer and the account of the seller's payment) is locked to ensure that the data is not affected by other requests. Accuracy; secondly, perform the billing operation of the buyer account, including recording the billing voucher and updating the φ balance, and then performing the billing operation of the seller account, including recording the billing voucher and updating the balance; after the billing request event is processed, the buyer and the unified release are released. Lock of the seller account resource. Usually, every time you need to perform a lock resource operation on the related account, you can prevent other operations from re-operating the account being processed to make the data inconsistent. However, as the volume of business continues to increase, some accounts will generate multiple concurrent operations in an instant. Only one thread of all burst threads can hold the resource lock at that time. Other threads must wait for the lock to be released and then proceed one by one. Billing processing. In this case, other threads are waiting -5 - 201030659, which seriously affects the performance of the accounting system. For example, at the same time, there are 1,000 lottery players paying for the lottery account. At this time, there are about 1000 requests for the lottery account, and waiting for the lock permission to be operated one by one will seriously affect the processing of other services of the system. In the burst processing of other business systems, there are also problems in that multiple requests need to occupy the same resource at the same time, thus greatly affecting the efficiency of business processing. SUMMARY OF THE INVENTION The technical problem to be solved by the present invention is to provide a concurrent data processing method and apparatus to solve the problem that multiple requests occupy the same resource in the same time during burst processing. Another object of the present invention is to provide an electronic billing system that solves the problem of existing system billing systems processing request one by one to affect system performance when processing burst requests. In order to solve the above technical problem, according to a specific embodiment provided by the present invention, the present invention discloses the following technical solutions: A method for processing burst data, comprising: dividing a processing time into a plurality of time slices; assigning a burst request to a corresponding one Time on-chip: Loop processing requests on each time slice. Preferably, the cyclic processing of the request on each time slice specifically includes: determining, for the current time slice, the request queue, according to the preset condition, whether it is -6-201030659, whether there is a similar request, and if so, the same type Request for a merger. Before the allocating the burst request to the corresponding time slice, the method further includes: determining whether the current request is a concurrent request according to the preset configuration information; if yes, assigning the corresponding time slice; if not, following the normal processing The process is processed. Wherein, the allocating the burst request to the corresponding time slice specific package $ Φ: assigning the concurrent request to the time slice corresponding to the requested time according to the requested time. Wherein, when the request is a billing request, the preset condition refers to a request for the same service, and/or a payment/receipt request for the same account. A burst data processing apparatus, comprising: a time slice dividing unit, configured to divide a processing time into a plurality of time slices* φ request allocation unit, configured to allocate a burst request to a corresponding time slice; and a time slice processing unit Preferably, the processing on each time slice is cyclically processed, the time slice processing unit further comprising: a cyclic scheduling unit for cyclically scheduling the request on each time slice; and a processing unit for the current time slice The request queue determines whether there is a similar request according to the preset condition, and if so, the same type of request is merged and processed. The request allocation unit further includes: a determining unit, configured to determine, according to the preset configuration information, whether the current request is a burst request; the allocating unit is configured to: according to the judgment result of the determining unit, if it is a burst request, The request is then assigned to the corresponding time slice; if not, the request is assigned to the regular processing unit and processed according to the normal processing flow. Wherein, when the request is a billing request, the preset condition refers to a request for the same service, and/or a payment/receipt request for the same account. An electronic billing system comprising: a billing processing unit for performing billing processing; a storage unit for dividing a time slice to store a billing request; and a request allocating unit for allocating the bursting billing request to a corresponding time On-chip; a time slice loop processor for cyclically processing a billing request on each time slice; for the request queue on the current time slice, determining whether there is a similar request according to a preset condition, and if so, combining the same type request After 倂G, the accounting processing is performed by the accounting processing unit. The request allocation unit further includes: a determining unit, configured to determine, according to the preset configuration information, whether the current accounting request is a burst request; and an allocating unit, configured to perform a burst request according to the judgment result of the determining unit , the request is assigned to the corresponding time slice; if not, the request is assigned to the accounting processing unit to perform the accounting process according to the normal processing flow. Wherein, the preset condition is a request for the same service, and / -8 - 201030659 or a payment/receipt request for the same account. According to the specific embodiment provided by the present invention, the present invention has the following technical effects: The present invention borrows the mourning of the time slice, applies the mourning of the time slice to the processing of the network request, and requests the special network request of the high burst according to the request. The time is allocated to different time periods for processing, so that it is not necessary to process the requests one by one as in the conventional manner, but to process the time slices, thereby solving the problem of occupying the same resource at the same time and improving the processing efficiency. Moreover, when processing the request on the same time slice, the same type of request is combined, which reduces the number of processing times of the system, thereby reducing the frequency of frequent locking and unlocking of the same resource, and reducing the queue waiting for the resource access. time. The present invention will be further described in detail with reference to the drawings and specific embodiments. The invention borrows the mourning of the time slice, applies the mourning of the time slice to the processing of the network request, and allocates the special network request of the high burst to different time segments for processing, thereby solving the problem of occupying the same resource at the same time. The problem is to improve the processing efficiency. At the same time, a request that can be merged on a time slice is uniformly processed, which reduces the frequency of frequent locking and unlocking of the same resource. The present invention is applicable to burst service processing in various service systems. The following -9 - 201030659 will be described in detail by taking concurrent accounting processing in the financial system as an example. The financial system includes not only a network system within the financial institution but also a financial data processing system based on a third-party electronic transaction platform. In the accounting process of the financial system, for a billing request, two billing processes are involved, namely, a payment account and a collection account. Therefore, the burst request may be multiple burst payment requests, that is, for the same receiving account, multiple transactions simultaneously make a payment request; the burst request may also be multiple burst receiving requests, that is, for the same payment In the account, there are multiple transactions at the same time to send out the payment request. The processing of the high-issuance account (including the payment account and the payment account) will be described below by way of examples. Embodiment 1 Referring to FIG. 2, it is a flowchart of a method for processing burst data according to Embodiment 1. The following processing is performed for the request of the high-issue account: S201, the processing time of the system is divided into multiple time segments, and one time period is called a time slice. The processing time of the system refers to the time when the transaction request is processed. S2 02, assigning the burst request to the corresponding time slice, waiting for the time slice to be processed. When it is specifically allocated, there are different allocation strategies, mainly based on the division method of the time period. For example, one minute is divided into 60 time segments in seconds. When a request is received, it is automatically allocated to the corresponding time period according to the requested time. If the requested time is 20 seconds, the request is assigned to the 20th. Time processing on the chip. If it is a burst request, that is, for a certain high-issue account, -10- 201030659 has multiple requests at the same time, the multiple requests are all allocated to the same time slice. S2 03 processes the requests on each time slice in turn in the order of time slices. In processing the request on each time slice, the present invention provides a preferred mode, as follows: S 2 04, preferably, when processing the request queue on the current time slice, φ determines whether there is a similar request according to the preset condition If yes, proceed to S205; if not, proceed to S206. The same type of request refers to a request that can be combined and processed uniformly, for example, a payment request for the same account, or a collection request for the same account, or a similar or identical service request for the same account, etc. Wait. S205. If there is a similar request, the same type of request is merged and processed uniformly. • S206, if there is no such request, it will be processed separately for each request. 〇 In the accounting process, the accounting processing involving two accounts (payment account and collection account) is involved. For each account, you need to lock and unlock the operation to end the processing of a request. If it is a similar request, you can combine multiple requests for the same account, so that the account can be locked and unlocked once, and the processing can be completed. If it is not the same type request, you need to process each request. The account is added and unlocked 201030659 S207, and the processing result is returned. Compared with the prior art, the prior art is a request-oriented processing method, which processes processing requests one by one, and the above processing is a time-oriented processing, thereby solving the problem of occupying the same resource at the same time and improving the problem. The burst processing efficiency of the system. At the same time, when processing requests on the same time slice, the same type of requests are processed together, which reduces the number of processing times of the system, thereby reducing the frequency of frequent locking and unlocking of the same resource, and reducing the queue waiting for the resource access. time. @ Preferably, in an actual application, a pre-processing step may be further included, which performs an identification process on the request before assigning the burst request to the time slice, and then performs the allocation. Referring specifically to Figure 3, there is a schematic diagram of the process. When the system processes a billing request, it first determines whether the current request is a burst request based on the preset configuration information. If it is a burst request, it goes to the special billing process, assigns the request to the corresponding time slice for processing, and performs the billing process when the time slice is looped; @If there is a similar request on the same time slice, then Combined processing. If it is not a concurrent request, it goes to the normal billing process to perform billing processing 〇 where the special billing process is a special process for the high-issue business or account. In order to identify which requests require special processing, some configuration information is set in advance, which configuration information sets which services are high burst services, which data processing in these high burst services is burst processing, and the like. The configuration information can be set according to a specific service, and the target processing is filtered out in order to go to the special processing flow for time slice-based processing. Based on the above description of the method, the present invention also provides an embodiment of a burst data processing apparatus. Referring to Figure 4, there is shown a structural view of the apparatus. The device mainly includes a time slice dividing unit U41, a request allocating unit U42, and a time slice processing unit U43, wherein: a time slice dividing unit U41 is configured to divide the processing time into a plurality of time φ slices; requesting the allocation unit U42, The burst request is allocated to the corresponding time slice; the time slice processing unit U43 is configured to cyclically process the request on each time slice in the order of the time slice. Preferably, the time slice processing unit U43 further includes: a cyclic scheduling unit configured to cyclically schedule requests on each time slice; a multiplexing processing unit configured to perform a request queue on the current time slice, φ according to a preset condition It is determined whether there is a similar request, and if so, the same type of requests are merged and then processed uniformly; if not, each request is processed separately. Preferably, the request allocating unit U42 further includes: a determining unit, configured to determine, according to the preset configuration information, whether the current request is a burst request; and an allocating unit, configured to perform a concurrent request according to the judgment result of the determining unit 'The request is then assigned to the time slice; if not, the request is assigned to the regular processing unit U44 and processed according to the normal processing flow. -13- 201030659 wherein the conventional processing unit U44 and the time slice processing unit U43 are processes of two different pipes. The conventional processing unit U44 performs the processing according to the prior art, that is, the processing of locking, billing, and unlocking the two accounts involved for one request, as shown in Fig. 1. The time slice processing unit U43 is a special process for the high-issue service and the burst account, and improves the efficiency of the burst processing by means of time slices and merged similar requests. The parts of the apparatus shown in Fig. 4 that are not detailed in the apparatus can be referred to the relevant parts of the method shown in Fig. 2 and Fig. 3. For the sake of consideration, they will not be described in detail herein. Due to the prevalence of electronic transactions, the following is an example of financial data processing based on third-party electronic trading platforms, and further explains how the present invention solves the problem of issuing accounts in electronic transaction processing. In electronic transactions, accounting processing is implemented by a third-party payment platform that has user virtual accounts, including buyer virtual accounts and seller virtual accounts @ . The buyer first transfers the transaction funds from the bank account to the buyer's virtual account, and then transfers the buyer's virtual account to the seller's virtual account during the transaction process. At this time, the transaction funds are controlled on the third-party payment platform, and the seller cannot withdraw the cash. After the buyer confirms the receipt, the transaction funds are transferred from the seller's virtual account to the seller's bank account. The accounting request processed by the present invention refers to the transfer processing between the virtual accounts of the two parties in the platform, as described above, including the payment request and the payment request. The following is an example of a burst payment request (the account -14- 201030659 described below refers to a virtual account). If there are multiple accounts paying to one account at the same time, the billing process includes three parts for each payment request: First, the accounting system distinguishes the processing channels according to the configuration information; second, assigns the request to the time slice; , the processing of the time slice. The details will be described below with reference to FIGS. 5, 6, and 7. Referring to FIG. 5, it is a schematic diagram of the accounting system that distinguishes the processing channel according to the configuration information. In the figure, a peripheral system refers to a system other than the accounting system, such as an electronic transaction system or other business system that generates requests. The accounting system is implemented by a third-party payment platform for transferring funds between accounts. Assume that account A in the accounting system transfers account B, and after receiving the request from the surrounding system, the accounting system determines whether the request is a request for a high-issuance service or a high-issue account, and if so, assigns a time slice processing channel. The special processing is performed by means of a time slice, and is specifically referred to as φ in FIG. If not, it is assigned to the accounting general processing channel, and is processed according to the prior art, that is, for two requests, the two accounts involved are locked, billed, and unlocked, as shown in FIG. Referring to Figure 6, a schematic diagram of assigning a request to a time slice. If the request is assigned to a time slice processing channel, the request will fall into the corresponding time slice pending processing based on the requested time. If multiple requests are dropped on one slice, a request queue for the time slice is formed. Typically, a single transfer involves two accounts, making separate payments and collections. As shown in the figure, when the account A's transfer request to account B falls into a time slice -15-201030659, the time slice processing channel divides the payment operation of account A and the collection operation of account B into two tasks. The time slice is in the queue. Referring to Figure 7, a schematic diagram of the processing of the time slice is shown. This figure shows the processing of a time slice. In the figure, the time slice rotation processor is used to cyclically schedule time slices to process requests in each time slice queue. For the target time slice of the current scheduling, firstly, the task 1 in the target time slice queue is obtained, and the payment processing is performed; then the task 2 is acquired, and the payment processing is performed; finally, after both the task 1 and the task 2 are processed, the task 1 is obtained. And the result of @ task 2 is returned to the surrounding system.

由於本實施例是對倂發付款請求的處理,即同時有多 個帳戶向一個帳戶付款,所以針對每個付款帳戶(如帳戶 A ),都進行一次記帳處理,但對於同一個收款帳戶(如 帳戶B),則需要進行多次記帳處理。因此在本例中,帳 戶A不是高倂發帳戶,只進行常規帳務處理即可,即直接 對帳戶A進行加鎖、記帳處理和解鎖,其中記帳處理包括 記錄記帳憑證和更新帳戶餘額。 Q 而帳戶B是高併發帳戶,所以在同一個時間片裏可能 會有多個請求。較佳的,爲減少對帳戶B的頻繁加、解鎖 ,可以將同類請求合倂,當作一個請求進行處理。此時, 將可合倂的任務2加入匯總列表,該匯總列表記錄了同一 個時間片上的所有同類請求。然後,將匯總列表的集合進 行統一收款處理’即進行一次加鎖、記帳處理和解鎖,就 可完成多個請求的收款, 舉例說明,參照下表,請求A-->B、C-->B落入時間 -16- 201030659 片1。在該時間片的處理中’從帳戶A中扣除10元,從 帳戶C中扣除20元;而對於倂發帳戶b,進行合倂處理 的結果是,一次性增加30元。 請求 時間片 合倂 A-->B 10 元 片1 A 一 10 C 一 20 B + 30 C-->B 20 元 E-->D 5 元 片2 E — 20 D + 5 F + 15 E-->F 15 元 表1 同樣,對於倂發收款請求E-->D、E-->F,都落入時間 片2。在該時間片的處理中,對倂發帳戶E進行合併處理 ,即一次性扣除20元,同時對帳戶d增加5元,對帳戶 F增加1 5元。 針對上述電子交易中的倂發帳務處理方法,本發明實 施例還提供了 一種電子記帳系統。參照圖8,是實施例所 述一種電子記帳系統的結構圖。所述系統包括: 帳務處理單元U81’用於進行記帳處理,包括記錄記 帳憑證及更新帳戶餘額; 儲存單元U82,用於劃分時間片來儲存帳務請求:在 實際應用中,可以由記憶體裝置來實現; 請求分配單元U83,用於將倂發的帳務請求,按照請 求的時間分配到相應的時間片上; -17- 201030659 時間片循環處理器U84,用於按照時間片的順序循環 處理每個時間片上的帳務請求,並針對當前時間片上的請 求佇列,根據預置條件判斷是否存在同類請求,如果存在 ,則將所述同類請求合倂後通過帳務處理單元U81進行統 一的記帳處理;如果不存在,則直接由帳務處理單元U81 進行處理。 較佳的,所述請求分配單元U8 3進一步包括: 判斷單元,用於根據預設的配置資訊,判斷當前帳務 請求是否爲併發請求; 分配單元,用於根據判斷單元的判斷結果,如果是倂 發請求,則將該請求分配到時間片;如果否,則將該請求 分配到帳務處理單元U81按照正常處理流程進行記帳處理 〇 所述電子記帳系統將傳統的面向請求處理變爲面向時 間片的處理,並對同一時間片上的同類請求進行合倂處理 ,從而極大地提高了高倂發業務訪問同一資源的效率,減 少了對同一資源的加、解鎖次數,降低了系統的壓力。圖 8所示系統中未詳述的部分可以參見圖5、圖6、圖7所示 方法的相關部分,爲了篇幅考慮,在此不再詳述。 以上對本發明所提供的一種倂發資料處理方法、裝置 及一種電子記帳系統,進行了詳細介紹,本文中應用了具 體個例對本發明的原理及實施方式進行了闡述,以上實施 例的說明只是用於幫助理解本發明的方法及其核心思想; 同時,對於本領域的一般技術人員,依據本發明的思想, -18- 201030659 在具體實施方式及應用範圍上均會有改變之處。綜上所述 ,本說明書內容不應理解爲對本發明的限制。 【圖式簡單說明】 圖1是現有技術中標準的記帳處理流程示意圖; 圖2是本發明實施例一所述一種併發資料處理方法的 流程圖; φ 圖3是本發明較佳實施例所述的處理示意圖; 圖4是本發明實施例所述一種倂發資料處理裝置的結 構圖; 圖5是本發明實施例二中帳務系統根據配置資訊區分 處理通道的示意圖; 圖6是本發明實施例二中將請求分配到時間片的示意 圖, 圖7是本發明實施例二中對該時間片的處理示意圖; • 圖8是本發明實施例所述—種電子記帳系統的結構圖 【主要元件符號說明】 U41 :時間片劃分單元 U42:請求分配單元 U43 :時間片處理單元 U44 :常規處理單元 U81 :帳務處理單元 -19- 201030659 U82 :儲存單元 U83 :請求分配單元 U84 :時間片循環處理器 -20-Since this embodiment is a process for issuing a payment request, that is, there are multiple accounts paying for one account at the same time, for each payment account (such as account A), a billing process is performed, but for the same receiving account ( For example, account B) requires multiple billing processes. Therefore, in this example, account A is not a high-issue account, and only general account processing can be performed, that is, account A is directly locked, billed, and unlocked, wherein the billing process includes recording billing vouchers and updating account balances. Q and Account B is a high concurrent account, so there may be multiple requests in the same time slice. Preferably, in order to reduce the frequent addition and unlocking of the account B, the same type of request can be combined and treated as a request. At this point, the mergeable task 2 is added to the summary list, which records all similar requests on the same time slice. Then, the collection of the summary list is subjected to unified collection processing, that is, one lock, billing processing, and unlocking are performed, and the collection of multiple requests can be completed. For example, refer to the following table to request A-->B, C. -->B falls into time-16- 201030659 piece 1. In the processing of the time slice, '10 yuan is deducted from the account A, and 20 yuan is deducted from the account C. For the burst account b, the result of the merger process is a one-time increase of 30 yuan. Request time slice combination A-->B 10 yuan piece 1 A to 10 C a 20 B + 30 C--> B 20 yuan E-->D 5 element piece 2 E - 20 D + 5 F + 15 E-->F 15 Meta-Table 1 Similarly, for the burst receipt request E-->D, E-->F, it falls into time slice 2. In the processing of the time slice, the burst account E is merged, that is, the deduction of 20 yuan at a time, and the account d is increased by 5 yuan, and the account F is increased by 15 yuan. The embodiment of the present invention also provides an electronic billing system for the above-described billing processing method in electronic transactions. Referring to Fig. 8, there is shown a block diagram of an electronic billing system according to an embodiment. The system includes: a billing processing unit U81' for performing billing processing, including recording billing vouchers and updating an account balance; a storage unit U82 for dividing a time slice to store a billing request: in an actual application, the memory may be The device is configured to: allocate the U.S. transaction request to the corresponding time slice according to the requested time; -17- 201030659 time slice loop processor U84, for cyclic processing in time slice order The accounting request on each time slice, and for the request queue on the current time slice, judge whether there is a similar request according to the preset condition, and if so, merge the same type request and then perform unified by the account processing unit U81. Billing processing; if not, it is directly processed by the accounting processing unit U81. Preferably, the request allocating unit U83 further includes: a determining unit, configured to determine, according to the preset configuration information, whether the current accounting request is a concurrent request; and an allocating unit, configured to determine, according to the judgment result of the determining unit, If the request is bursted, the request is allocated to the time slice; if not, the request is distributed to the accounting processing unit U81 for accounting processing according to the normal processing flow, and the electronic billing system changes the traditional request-oriented processing to time-oriented The processing of the slice and the same type of request on the same time slice are combined, thereby greatly improving the efficiency of the high-frequency service accessing the same resource, reducing the number of times of adding and unlocking the same resource, and reducing the pressure on the system. For the parts not shown in the system shown in Fig. 8, reference may be made to the relevant parts of the method shown in Fig. 5, Fig. 6, and Fig. 7, which will not be described in detail herein for the sake of space. The method and device for processing burst data provided by the present invention and an electronic billing system are described in detail. The principle and implementation manner of the present invention are described in the following. The description of the above embodiment is only used. To help understand the method of the present invention and its core idea; at the same time, for those of ordinary skill in the art, in accordance with the idea of the present invention, -18-201030659 will have a change in the specific embodiment and application range. In summary, the content of the specification should not be construed as limiting the invention. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic diagram of a standard billing process in the prior art; FIG. 2 is a flow chart of a concurrent data processing method according to a first embodiment of the present invention; FIG. 3 is a preferred embodiment of the present invention. FIG. 4 is a structural diagram of a burst data processing apparatus according to an embodiment of the present invention; FIG. 5 is a schematic diagram of a processing system for distinguishing processing channels according to configuration information according to Embodiment 2 of the present invention; FIG. 6 is a schematic diagram of the present invention; FIG. 7 is a schematic diagram of processing the time slice in the second embodiment of the present invention; FIG. 8 is a structural diagram of an electronic billing system according to an embodiment of the present invention. Explanation of Symbols] U41: Time slice division unit U42: Request allocation unit U43: Time slice processing unit U44: Conventional processing unit U81: Account processing unit -19-201030659 U82: Storage unit U83: Request allocation unit U84: Time slice loop processing -20-

Claims (1)

201030659 七、申請專利範团: 1. 一種倂發資料處理方法,其特徵在於,包括: 將處理時間劃分爲多個時間片; 將倂發請求分配到相應的時間片上; 循環處理每個時間片上的請求。 2. 根據申請專利範圍第1項所述的方法,其中,所述 循環處理每個時間片上的請求,具體包括·· • 針對當前時間片上的請求佇列,根據預置條件判斷是 否存在同類請求,如果存在,則將所述同類請求進行合倂 處理。 3_根據申請專利範圍第1項所述的方法,其中,將併 發請求分配到相應的時間片之前,還包括: 根據預設的配置資訊,判斷當前請求是否爲併發請求 * 如果是,則分配到相應的時間片;如果否,則按照正 φ 常處理流程進行處理。 4.根據申請專利範圍第1項所述的方法,其中,所述 將倂發請求分配到相應的時間片具體包括: 按照請求的時間將倂發請求分配到對應該請求時間的 時間片上。 5 ·根據申請專利範圍第1所述的方法,其中: 當所述請求爲帳務請求時’所述預置條件是指針對相 同業務的請求,和/或,針對相同帳戶的付款/收款請求。 6. —種倂發資料處理裝置,其特徵在於,包括: -21 - 201030659 時間片劃分單元,用於將處理時間劃分爲多個時間片 t 請求分配單元,用於將倂發請求分配到相應的時間片 上; 時間片處理單元,用於循環處理每個時間片上的請求 〇 7. 根據申請專利範圍第6項所述的裝置,其中,所述 時間片處理單元進一步包括: @ 循環調度單元,用於循環調度每個時間片上的請求; 合倂處理單元,用於針對當前時間片上的請求佇列, 根據預置條件判斷是否存在同類請求,如果存在,則將所 述同類請求合倂後進行處理。 8. 根據申請專利範圍第6項所述的裝置,其中,所述 請求分配單元進一步包括: 判斷單元,用於根據預設的配置資訊,判斷當前請求 是否爲倂發請求; © 分配單元,用於根據判斷單元的判斷結果,如果是倂 發請求,則將該請求分配到相應的時間片;如果否,則將 該請求分配到常規處理單元,按照正常處理流程進行處理 〇 9. 根據申請專利範圍第6項所述的裝置,其中: 當所述請求爲帳務請求時,所述預置條件是指針對相 同業務的請求,和/或,針對相同帳戶的付款/收款請求。 10. —種電子記帳系統,其特徵在於,包括: -22- 201030659 帳務處理單元,用於進行記帳處理; 儲存單元,用於劃分時間片來儲存帳務請求; 請求分配單元,用於將倂發的帳務請求分配到相應的 時間片上; 時間片循環處理器,用於循環處理每個時間片上的帳 務請求;針對當前時間片上的請求佇列,根據預置條件判 斷是否存在同類請求,如果存在,則將所述同類請求合倂 Φ 後通過帳務處理單元進行記帳處理。 11 ·根據申請專利範圍第1 0項所述的系統,其中,所 述請求分配單元進一步包括: 判斷單元,用於根據預設的配置資訊,判斷當前帳務 請求是否爲倂發請求; 分配單元,用於根據判斷單元的判斷結果,如果是倂 發請求,則將該請求分配到相應的時間片;如果否,則將 該請求分配到帳務處理單元按照正常處理流程進行記帳處 Φ 理。 12.根據申請專利範圍第10項所述的系統,其中: 所述預置條件是指針對相同業務的請求,和/或,針 對相同帳戶的付款/收款請求。 -23-201030659 VII. Application for Patent Group: 1. A method for processing burst data, comprising: dividing processing time into multiple time slices; allocating burst requests to corresponding time slices; cyclic processing on each time slice Request. 2. The method according to claim 1, wherein the loop processing the request on each time slice, specifically comprising: • determining whether the same type request exists according to the preset condition for the request queue on the current time slice If it exists, the same type of request is merged. The method of claim 1, wherein before the concurrent request is allocated to the corresponding time slice, the method further comprises: determining, according to the preset configuration information, whether the current request is a concurrent request*, if yes, assigning Go to the corresponding time slice; if not, follow the positive φ process. 4. The method of claim 1, wherein the allocating the burst request to the corresponding time slice comprises: assigning the burst request to a time slice corresponding to the requested time according to the requested time. 5. The method of claim 1, wherein: when the request is a billing request, the pre-condition is a request for the same service, and/or a payment/receipt for the same account request. 6. A burst data processing apparatus, comprising: -21 - 201030659 a time slice dividing unit, configured to divide processing time into a plurality of time slice t request allocation units, for distributing burst requests to corresponding A time slice on-chip; a time slice processing unit for cyclically processing a request on each time slice. The apparatus according to claim 6, wherein the time slice processing unit further comprises: @cyclic scheduling unit, The method is used for cyclically scheduling the request on each time slice; the processing unit is configured to determine whether there is a similar request according to the preset condition for the request queue on the current time slice, and if yes, merge the same type request deal with. 8. The device according to claim 6, wherein the request allocating unit further comprises: a determining unit, configured to determine, according to the preset configuration information, whether the current request is a burst request; According to the judgment result of the judging unit, if it is a burst request, the request is allocated to the corresponding time slice; if not, the request is allocated to the regular processing unit, and processed according to the normal processing flow. The device of clause 6, wherein: when the request is a billing request, the preset condition is a request for the same service, and/or a payment/receipt request for the same account. 10. An electronic billing system, comprising: -22- 201030659 a billing processing unit for performing billing processing; a storage unit for dividing a time slice to store a billing request; a request allocating unit for The bursted accounting request is allocated to the corresponding time slice; the time slice cyclic processor is used for cyclic processing of the accounting request on each time slice; for the request queue on the current time slice, it is determined whether there is a similar request according to the preset condition If yes, the similar requests are merged and then processed by the accounting processing unit. The system according to claim 10, wherein the request allocating unit further comprises: a determining unit, configured to determine, according to preset configuration information, whether the current accounting request is a burst request; And, according to the judgment result of the judging unit, if it is a burst request, the request is allocated to the corresponding time slice; if not, the request is distributed to the account processing unit to perform the billing in accordance with the normal processing flow. 12. The system of claim 10, wherein: the preset condition is a request for the same service, and/or a payment/receipt request for the same account. -twenty three-
TW98104231A 2009-02-10 2009-02-10 Concurrent data processing method, device and electronic bookkeeping system TW201030659A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW98104231A TW201030659A (en) 2009-02-10 2009-02-10 Concurrent data processing method, device and electronic bookkeeping system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW98104231A TW201030659A (en) 2009-02-10 2009-02-10 Concurrent data processing method, device and electronic bookkeeping system

Publications (1)

Publication Number Publication Date
TW201030659A true TW201030659A (en) 2010-08-16

Family

ID=44854326

Family Applications (1)

Application Number Title Priority Date Filing Date
TW98104231A TW201030659A (en) 2009-02-10 2009-02-10 Concurrent data processing method, device and electronic bookkeeping system

Country Status (1)

Country Link
TW (1) TW201030659A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108734574A (en) * 2017-04-19 2018-11-02 中思博安科技(北京)有限公司 A kind of across the chain operating method and block chain management system of block chain

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108734574A (en) * 2017-04-19 2018-11-02 中思博安科技(北京)有限公司 A kind of across the chain operating method and block chain management system of block chain
CN108734574B (en) * 2017-04-19 2021-07-23 中思博安科技(北京)有限公司 Cross-chain operation method of block chain and block chain management system

Similar Documents

Publication Publication Date Title
CN101639792B (en) A kind of concurrent data disposal route, device and a kind of electronic accounting system
TWI733057B (en) Method and device for resource transfer and fund transfer
US7765154B2 (en) Methods and apparatus for funding transactions using debit cards issued by one institution and funds from accounts at other institutions
WO2020001370A1 (en) Multi-chain concurrent transaction method
US20200076574A1 (en) Systems and methods of blockchain platform for rule-based de-centralized roles and control
US20200258152A1 (en) Systems and methods for storage of cryptocurrencies and transactions thereof
US8660920B2 (en) Managed deposit program
CN110709878A (en) Chained multiple blockchain system
CN109858915B (en) Transaction system and service processing method
JP2006523895A (en) Various methods and devices for mediation between functional blocks
US10268604B2 (en) Adaptive resource management in a pipelined arbiter
RU2689442C2 (en) Transaction device
TW201030659A (en) Concurrent data processing method, device and electronic bookkeeping system
TWM609161U (en) Virtualized inter-bank fund transfer system
CN110298746A (en) Hot spot account concurrent data processing system and method
FR3093830A1 (en) Method for managing access to a shared bus, and corresponding electronic device
WO2021088829A1 (en) Capital management method and apparatus
JP3710094B2 (en) Withdrawal management system and withdrawal management method
CN111797074A (en) Database connection method and device, electronic equipment and readable storage medium
US20230230072A1 (en) Access control tower
TWI502532B (en) Account batch instant processing system and account batch instant processing method
CN114118712A (en) Resource scheduling dispute processing method and device
TWM646432U (en) Debit card installment system
KR101550097B1 (en) Account management method and server performing the same
EA040345B1 (en) METHOD FOR SETTLEMENTS FOR TRANSACTIONS BETWEEN LEGAL ENTITIES USING DISTRIBUTED REGISTER TECHNOLOGY