新四季網

數據處理方法、裝置、電子設備及存儲介質與流程

2023-06-09 08:53:13 3



1.本技術涉及數據處理技術領域,具體而言,涉及一種數據處理方法、裝置、電子設備及存儲介質。


背景技術:

2.數據存儲和數據計算是數據處理發展過程中的重要技術,強大的數據處理系統均是基於數據存儲系統和數據計算系統而運行的,從而實現數據的各方面處理需求。
3.通常數據存儲系統和數據計算系統又分別包括多種處理引擎,以全面適配各種場景下的數據計算。但是由於不同的處理引擎其所使用的應用接口語言並不通用,這使得開發人員需要學習各種處理引擎的專用語言,導致開發人員的學習成本較高。


技術實現要素:

4.本技術的目的在於,針對上述現有技術中的不足,提供一種數據處理方法、裝置、電子設備及存儲介質,以便於解決現有技術中存在的數據處理系統使用門檻較高,用戶學習成本較高的問題。
5.為實現上述目的,本技術實施例採用的技術方案如下:
6.第一方面,本技術實施例提供了一種數據處理方法,應用於數據處理系統,所述方法包括:
7.獲取輸入的任務處理請求,所述任務處理請求包括:待處理的數據、以及待執行的操作,所述任務處理請求採用預先定義的接口描述語言編寫;
8.根據所述任務處理請求,確定所述任務處理請求對應的目標處理系統;
9.將所述任務處理請求轉換為所述目標處理系統對應的執行代碼,並提交至所述目標處理系統,並通過所述目標處理系統運行所述執行代碼,生成所述任務處理請求對應的任務執行結果。
10.第二方面,本技術實施例還提供了一種數據處理裝置,應用於數據處理系統,所述裝置包括:獲取模塊、確定模塊、執行模塊;
11.所述獲取模塊,用於獲取輸入的任務處理請求,所述任務處理請求包括:待處理的數據、以及待執行的操作,所述任務處理請求採用預先定義的接口描述語言編寫;
12.所述確定模塊,用於根據所述任務處理請求,確定所述任務處理請求對應的目標處理系統;
13.所述執行模塊,用於將所述任務處理請求轉換為所述目標處理系統對應的執行代碼,並提交至所述目標處理系統,並通過所述目標處理系統運行所述執行代碼,生成所述任務處理請求對應的任務執行結果。
14.第三方面,本技術實施例提供了一種電子設備,包括:處理器、存儲介質和總線,存儲介質存儲有處理器可執行的機器可讀指令,當電子設備運行時,處理器與存儲介質之間通過總線通信,處理器執行機器可讀指令,以執行時執行如第一方面中提供的數據處理方
法的步驟。
15.第四方面,本技術實施例提供了一種計算機可讀存儲介質,該存儲介質上存儲有電腦程式,該電腦程式被處理器運行時執行如第一方面提供的數據處理方法的步驟。
16.本技術的有益效果是:
17.本技術提供一種數據處理方法、裝置、電子設備及存儲介質,通過預先定義的接口描述語言編寫任務處理請求,通過對任務處理請求中關鍵欄位的解析,可確定任務處理請求所對應的目標處理系統,從而將任務處理請求轉換為目標處理系統所支持的執行代碼,通過目標處理系統運行執行代碼以執行任務處理請求,並生成任務執行結果。本方法通過預先定義的接口描述語言編寫任務處理請求,使得不同的用戶僅需學習所定義的統一的接口描述語言即可實現對數據處理系統中各目標處理系統的調用,從而大大的降低了用戶的學習成本,使得數據處理系統的學習門檻更低,提高了數據處理系統的通用性和使用性能。
18.而基於所定義的接口描述語言所實現的數據能力系統,打通了數據存儲和計算能力,給運維、開發、以及使用提供了統一的視角,在性能和通用型上實現了很好的平衡。能夠支持更多的數據模型,提供更加清晰的數據訪問接口;將計算系統與存儲系統進行了融合,無需為各類存儲系統單獨設計複雜的連接器,該數據處理系統同時支持數據批處理和流式處理,支持豐富的計算算子,使得用戶能方便地基於現有的算子進行數據處理系統的拓展開發。
附圖說明
19.為了更清楚地說明本技術實施例的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應當理解,以下附圖僅示出了本技術的某些實施例,因此不應被看作是對範圍的限定,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他相關的附圖。
20.圖1為本技術實施例提供的數據處理方法的流程示意圖一;
21.圖2為本技術實施例提供的數據處理方法的流程示意圖二;
22.圖3為本技術實施例提供的一種數據處理系統的架構示意圖;
23.圖4為本技術實施例提供的另一種數據處理系統的架構示意圖;
24.圖5為本技術實施例提供的數據處理方法的流程示意圖三;
25.圖6為本技術實施例提供的數據處理方法的流程示意圖四;
26.圖7為本技術實施例提供的一種數據處理裝置的示意圖;
27.圖8為本技術實施例提供的一種電子設備的結構示意圖。
具體實施方式
28.為使本技術實施例的目的、技術方案和優點更加清楚,下面將結合本技術實施例中的附圖,對本技術實施例中的技術方案進行清楚、完整地描述,應當理解,本技術中附圖僅起到說明和描述的目的,並不用於限定本技術的保護範圍。另外,應當理解,示意性的附圖並未按實物比例繪製。本技術中使用的流程圖示出了根據本技術的一些實施例實現的操作。應該理解,流程圖的操作可以不按順序實現,沒有邏輯的上下文關係的步驟可以反轉順序或者同時實施。此外,本領域技術人員在本技術內容的指引下,可以向流程圖添加一個或
多個其他操作,也可以從流程圖中移除一個或多個操作。
29.另外,所描述的實施例僅僅是本技術一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本技術實施例的組件可以以各種不同的配置來布置和設計。因此,以下對在附圖中提供的本技術的實施例的詳細描述並非旨在限制要求保護的本技術的範圍,而是僅僅表示本技術的選定實施例。基於本技術的實施例,本領域技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬於本技術保護的範圍。
30.需要說明的是,本技術實施例中將會用到術語「包括」,用於指出其後所聲明的特徵的存在,但並不排除增加其它的特徵。
31.首先,對本方案的相關背景信息進行簡單說明:
32.數據技術按照系統分,有資料庫、大數據系統等;按照處理的數據模式分,有關係型資料庫、文檔資料庫、搜尋引擎、圖資料庫等;按照處理時效性,有實時數據處理,離線數據處理等。圍繞著數據技術,誕生了形形色色的軟體,如資料庫領域的mysql、postgresql、oracle,大數據領域的hadoop、hive、spark、flink等,這些軟體構建在作業系統之上,廣泛地兼容各類硬體,並在過去的幾十年發展中,從單機系統逐漸發展為分布式系統。
33.紛繁複雜的數據軟體一方面解決了業務領域諸多的問題,另一方面也引入了複雜性,例如,搭建一套基於hadoop體系的大數據系統,會涉及到十幾種關鍵的組件(hadoop mapreduce、yarn、hive、kafka、elasticsearch、spark、flink等等)的部署,這些組件除了在部署的複雜度上不同,在使用方式、長期運維難度上也不盡相同,給開發人員帶來了繁重的負擔。例如,對於負責業務日誌接入的數據開發人員,除了要用計算框架(mr(mapreduce,分布式計算的編程框架)、hive、spark、flink等)提供的編程api(application programming interface,應用程式編程接口)編寫日誌解析邏輯,還需要熟悉上下遊的組件的使用,譬如怎樣從消息隊列中讀取數據,如何將解析好的數據寫入到下遊各類存儲引擎。
34.紛繁複雜的數據技術除了對於專業的數據開發人員引入了不小的學習成本,也給從事算法開發、數據科學以及相關領域的工作人員帶來了較高的上手門檻,例如,對於算法工程師,通常需要從各類大數據存儲系統批量讀取數據,並進行一定的清洗和轉換,來構建出訓練集和測試集,進而訓練機器學習/深度學習模型,然而,他們經常在數據讀取、清洗和轉換的過程中就遇到了諸多使用問題,比如無法找到適合自身運行時的軟體工具包sdk(software development kit,軟體開發工具包),或工具包上手使用難度大,不得不深入了解大數據相關的技術細節。
35.目前,sql(structured query language,結構化查詢語言)是資料庫領域被廣泛使用的進行數據操作的特定目的程式語言(domain-specific language,dsl)。傳統的關係型資料庫(mysql/oracle等)、大數據計算框架(spark/flink等)都支持通過sql來編寫數據處理邏輯,它們將用戶輸入的sql通過解析器轉化成對應的執行計劃並下發到執行器進行執行,實現數據的增刪改查。
36.sql給數據(尤其是結構化數據)相關的工作帶來了極大的便捷,無論是數據開發人員,還是數據分析師,抑或是數據科學家,都可以通過統一的sql語言來進行數據訪問,並且無需關係系統底層的細節。不同的資料庫引擎(例如mysql、sql serve、postgresql等)通過實現sql接口,顯著降低了用戶的上手門檻,用戶無需專門學習某款資料庫系統專用的dsl語言。
37.但是,隨著大數據存儲技術的成熟,許多支持大規模數據量的分布式nosql資料庫並不支持通過sql的方式來操作數據(如cassandra,hbase等),這些系統通常獨立實現了數據訪問api協議以及查詢語言。隨著軟體系統越老越複雜,軟體開發人員不得不學習不同資料庫的操作方式,帶來了顯著的學習成本。
38.除了存儲技術,越來越多的大數據計算引擎(如spark、flink)也開始使用sql作為用戶觸達層的api,用戶通過sql(如sparksql)編寫數據處理代碼,這些代碼被提交到大數據計算引擎翻譯和執行。存儲系統和計算系統雖然使用了相似的sql語言,但支持的完備程度、使用的原語並不完全相同,例如,在大數據流式計算場景下,在原先sql的基礎上進行了比較多的拓展,和存儲系統的sql語言並不完全相同。
39.不論是存儲系統還是計算系統,通常和一定的軟硬體系統強綁定,例如有的資料庫只能運行在特定的作業系統、硬體設備上(比如ibm推出的db2),受限於軟硬體環境,開發人員經常需要嘗試將原有的系統遷移到新的系統,並重新系統學習新系統的運維和使用,給開發人員帶來了不小的負擔,而底層的資料庫系統,受限於生態綁定關係,往往又不願意將各自的系統遷移到其他軟硬體平臺,進一步造成了整個存儲和計算生態產品叢生,相互割裂的局面。
40.因此,亟需一種更加通用的接口描述語言能夠統一各類存儲系統的訪問、統一各類數據計算框架的使用、兼容各類軟硬體系統。實現了通用接口描述語言的系統,不論是存儲系統,還是計算系統,都能使用統一的接口描述語言來描述數據存儲、計算的語義;不論是數據開發人員,還是數據科學家,都能使用統一的接口描述語言來描述數據處理邏輯,從而極大的降低數據處理系統的使用門檻。
41.基於此需求,本方案提出了如下解決方式:
42.第一、定義了一種通用的接口描述語言,在接口描述語言種中定義了數據處理的核心的關鍵欄位,是數據處理的頂層抽象。
43.第二、基於所定義的通用的接口描述語言實現了一套數據能力系統,定義了一系列基本的接口,通過組件化的設計適配各類存儲、計算框架。
44.如下通過具體的實施例對本方案的實現步驟和原理進行說明:
45.圖1為本技術實施例提供的數據處理方法的流程示意圖一;本方法可以應用於數據處理系統中,這裡的數據處理系統可以是包含存儲系統和計算系統的完整處理系統,既可實現資料庫訪問操作,例如數據的增刪改查、高級操作等,也可實現複雜的數據邏輯計算,例如數據的實時計算和邏輯計算等。
46.如圖1所示,該方法可包括:
47.s101、獲取輸入的任務處理請求,任務處理請求包括:待處理的數據、以及待執行的操作,任務處理請求採用預先定義的接口描述語言編寫。
48.通常,在採用數據處理系統執行數據處理任務時,用戶可通過向數據處理系統發送任務處理請求的方式,以告訴數據處理系統當前的數據處理需求。
49.可選地,任務處理請求中可包括至少兩部分內容,一部分可以是待處理的數據,也即指示當前要處理的數據是什麼,另一部分可以是待執行的操作,也即指示對待處理的數據執行怎樣的數據操作。
50.本實施例中,任務處理請求可以是採用預先定義好的接口描述語言進行編寫的,
這樣,不同的用戶均只需要學習預先定義的一套接口描述語言即可實現不同的數據處理業務,無需掌握數據處理系統中各計算引擎、各資料庫以及各組件的專用接口語言,從而可有效的降低用戶的學習任務量,使得數據處理系統的使用門檻變低,提高了數據處理系統的使用性能和通用性。
51.s102、根據任務處理請求,確定任務處理請求對應的目標處理系統。
52.這裡的目標處理系統可以指數據處理系統中的某個具體的細分系統。目標處理系統按照大類可以分為存儲系統和計算系統,而存儲系統和計算系統下面又包含很多細分的子系統,本實施例中的目標處理系統則是指細分的一個或多個子系統。
53.可對任務處理請求中的關鍵欄位進行解析,確定任務處理請求對應的目標處理系統,確定出的目標處理系統則是用於處理任務處理請求所指示的處理任務。
54.s103、將任務處理請求轉換為目標處理系統對應的執行代碼,並提交至目標處理系統,並通過目標處理系統運行執行代碼,生成任務處理請求對應的任務執行結果。
55.由於任務處理請求是採用預先定義的接口描述語言編寫的,其並不屬於目標處理系統所能識別執行的語言,那麼,可先將任務處理請求轉換為目標處理系統對應的執行代碼,並將轉換後的執行代碼提交至目標處理系統中,從而在目標處理系統中運行該執行代碼,以執行任務處理請求所請求的處理事項,生成任務執行結果。
56.在一些實施例中,這裡的目標處理系統並非指單純的一種系統,當任務處理請求所請求的處理事項較複雜時,可能需要通過數據處理系統中的多個處理系統之間相互配合以執行處理事項,那麼目標處理系統可能包括多個,從而多個目標處理系統之間相互配合執行任務處理請求,並最終生成任務執行結果。
57.綜上,本實施例提供的數據處理方法,通過預先定義的接口描述語言編寫任務處理請求,通過對任務處理請求中關鍵欄位的解析,可確定任務處理請求所對應的目標處理系統,從而將任務處理請求轉換為目標處理系統所支持的執行代碼,通過目標處理系統運行執行代碼以執行任務處理請求,並生成任務執行結果。本方法通過預先定義的接口描述語言編寫任務處理請求,使得不同的用戶僅需學習所定義的統一的接口描述語言即可實現對數據處理系統中各目標處理系統的調用,從而大大的降低了用戶的學習成本,使得數據處理系統的學習門檻更低,提高了數據處理系統的通用性和使用性能。
58.圖2為本技術實施例提供的數據處理方法的流程示意圖二;可選地,步驟s101中,獲取輸入的任務處理請求之前,可以包括:
59.s201、採用預設格式的語言創建語言描述關鍵欄位,語言描述關鍵欄位包括:命名空間、數據集、流程、任務。
60.可選地,可採用預設格式的語言定義適配於數據處理系統中各目標處理系統的接口描述語言,其中,可以創建語言描述關鍵欄位,語言描述關鍵欄位可以是數據處理的核心的關鍵字,是數據處理的頂層抽象。
61.可選地,語言描述關鍵欄位包括了數據存儲抽象和數據計算抽象,數據存儲和數據計算進一步地抽象了命名空間、數據集、流程、任務等概念。
62.其中,任務處理請求中待處理的數據對應於命名空間關鍵欄位及數據集關鍵欄位,通過命名空間關鍵欄位和數據集關鍵欄位,可以確定出待處理的數據。
63.當然,也有一種情況下,待處理的數據可以是直接採用其他的欄位進行指定,這種
情況下待處理的數據可以直接是一個特定的數字。
64.任務處理請求中的待執行的操作則可對應於命名空間關鍵欄位、流程關鍵欄位、任務關鍵欄位,通過命名空間、流程以及任務各關鍵欄位,可確定出調用什麼流程下的哪個具體任務來執行任務請求。
65.本實施例中,預設格式的語言可以為json語言,json是一種輕量級的數據交換格式(data interchange format),其內容由屬性(key)和值(value)構成,json由於其通用性和開放型,已經成為web開發等軟體開發領域最常用的數據交換格式。
66.當然,並不僅限於是json語言,也可以是python語言,當預設格式的語言選擇不同時,數據處理系統中的部分組件進行適應性調整。
67.s202、根據各語言描述關鍵欄位,生成接口描述語言。
68.可選地,基於上述所創建的語言描述關鍵欄位,可生成接口描述語言,從而用戶可根據接口描述語言種定義的各語言描述關鍵欄位編寫任務處理請求。
69.圖3為本技術實施例提供的一種數據處理系統的架構示意圖。數據處理系統可包括:數據存取抽象以及數據計算抽象,數據存取抽象用於表達存儲系統中數據的增刪改查以及高階的複雜查詢和處理,數據計算抽象用於表達計算系統中離線或實時的計算任務。
70.不論是數據存取抽象還是數據計算抽象,最上層均定義了命名空間關鍵欄位,命名空間是邏輯上的工作空間,通過命名空間,能對數據集、元信息、權限等資源進行統一管理。例如,同一個命名空間下,可以包括若干數據集,可以包含若干數據處理流程。
71.針對存儲系統而言,命名空間下一級還定義了數據集關鍵欄位,數據集是用於管理數據存取的基本單元,每一個數據集都和唯一的數據源進行綁定(例如關係型資料庫、分布式文件存儲等),數據集存儲若干數據模型一致的數據,例如,對於關係型資料庫的數據集,其下存儲若干數據模型(schema)一致的記錄(record)。
72.針對計算系統而言,命名空間的下一級還定義了流程關鍵欄位、任務關鍵欄位。
73.流程是用於管理數據計算任務的基本單元,每一個流程都和唯一的計算調度引擎綁定(例如airflow調度器、yarn調度器等)綁定,流程下包含若干任務,例如spark計算任務、hive計算任務等,流程通常具有業務屬性,業務上具有緊密關聯的一系列數據計算任務通常會放置在同一個流程下,並形成上下依賴關係。
74.任務是用於進行數據計算的基本單元,每個任務都和唯一的算子進行綁定(例如spark算子、flink算子、hive算子、http算子等),每個任務一定歸屬於某個流程,任務通常分為短時計算任務(short-running)和長時計算任務(long-running)。
75.除了上述基本的關鍵欄位外,數據存取抽象和數據計算抽象還包括了元數據(metadata)、權限(auth)等概念,例如每一個數據集都和一份元數據進行綁定,元數據描述了數據集的基本模型,又例如,命名空間和若干權限進行綁定,權限控制了用戶對命名空間下數據集、流程以及任務的操作權限。
76.可選地,命名空間包括:命名空間的名稱欄位及版本欄位;數據集包括:數據集的名稱欄位及數據集的來源欄位;流程包括:流程的名稱欄位及流程對應的調度器的描述欄位;任務包括:任務的名稱欄位及任務所綁定的算子欄位。
77.接下來將結合示意性代碼對各關鍵欄位所包含的具體欄位進行說明:
78.對於命名空間,除了基礎的name名稱欄位,還定義了包括描述(desc),版本
(version)等欄位,其中描述欄位是可選的,版本是必選的:
79.1.{
80.2."name":"my_namespace",
81.3."desc":"這是一個命名空間",
82.4."version"1
83.}
84.不同版本的命名空間中存儲的數據存在不同,也即命名空間中的數據是不斷更新的,會有多個版本,通常在不指定具體版本時,可默認選定最新版本的命名空間。
85.對於數據集,除了基礎的name名稱欄位,也包括了描述、版本等信息,同時數據集還包括了source欄位,這裡所說的source欄位也即指如下代碼中所展示的engine欄位,source欄位和engine欄位代表相同的含義,表示了這個數據集底層的存儲引擎,source欄位是對數據集來源的物理層面的一種叫法,而engine欄位則是邏輯層面的一種叫法,下文具體描述中均將以source欄位作為數據集的來源欄位進行描述。
86.1.{
87.2."name":"ds1",
88.3."desc":"這是一個數據集",
89.4."version":1,
90.5."engine""mysql",
91.6."input":"task1"
92.}
93."input":"task1"、"engine""mysql"表示名稱為ds1的數據集由任務1生成並被存儲至mysql資料庫中。任務代表了一個數據計算任務。
94.對於流程,其基本結構和命名空間類似,也包括了名稱、描述、版本等欄位,此外流程還包括了調度器(scheduler)欄位,表達了該流程採用何種調度引擎(airflow、yarn等):
95.1.{
96.2."name":"workflow1",
97.3."desc":"這是一個流程",
98.4."version"1,
99.5."scheduler":"airflow"
100.6.}
101.不同的調度器通常適合不同的場景,例如airflow適合於離線批處理流程,yarn適合於大數據離線+實時混合作業流程。
102.流程下可以包括一系列任務,任務的欄位除了基礎的名稱、描述、版本等欄位外,還包括算子(operator)欄位:
103.1.{
104.2."name":"task1",
105.3."desc":"這是一個任務",
106.4."version":1,
107.5."operator":"spark"
108.6.}
109.這裡任務(task)的名稱(name)通常在同一個namespace+workflow下唯一,因而可以在同一個流程下不同的數據集間進行引用(source欄位),不同流程下的數據集也可以構成依賴關係,只不過在這種情況下,數據集的source欄位需要帶上相應的workflow名稱前綴,不同的命名空間下的數據集也可以構成依賴關係,只不過在這種情況下,數據集的source欄位需要帶上命名空間+流程的前綴。
110.可選地,步驟s101中,獲取輸入的任務處理請求,可以包括:按照接口描述語言中定義的各語言描述關鍵欄位中的各欄位,輸入各欄位對應的信息,生成任務處理請求。
111.在一些實施例中,用戶可根據定義的語言描述關鍵欄位中的各欄位,在各欄位中輸入對應的任務相關的信息,生成任務處理請求,用戶在編寫生成任務處理請求後,可通過提交等操作,將任務處理請求發不出去,從而數據處理系統可接收並獲取到用戶輸入的任務處理請求。
112.可選地,步驟s102中,根據任務處理請求,確定任務處理請求對應的目標處理系統,可以包括:根據任務處理請求中的數據集的來源欄位和/或流程對應的調度器的描述欄位,確定任務處理請求對應的目標處理系統。
113.在一些實施例中,可以根據任務處理請求中數據集的來源欄位和/或流程對應的調度器的描述欄位,確定任務處理請求對應的目標處理系統。由於數據集是數據處理系統中的存儲系統中定義的語言描述關鍵欄位,數據集的來源欄位可以確定任務處理請求調用的是數據處理系統中的存儲系統,並且可以具體的確定所調用的是存儲系統中的哪個存儲引擎。流程是數據處理系統中的計算系統中定義的語言描述關鍵欄位,流程對應的調度器的描述欄位可以唯一的確定任務處理請求所調用的是數據處理系統中計算系統的哪個計算引擎。
114.從而基於數據集的來源欄位和/或流程對應的調度器的描述欄位可以準確的確定出任務處理請求對應的目標處理系統。
115.圖4為本技術實施例提供的另一種數據處理系統的架構示意圖。如圖4所示,本實施例提供的數據處理系統可包括:解釋器和至少一種目標處理系統。
116.在上述根據數據集的來源欄位和/流程對應的調度器的描述欄位確定了目標處理系統之後,如何能夠保證通過任務處理請求可以對目標處理系統中相應的存儲引擎、調度器以及算子能夠被調用到,這就涉及到了由定義的接口描述語言到目標處理系統的轉譯問題,基於此,在本方案的數據處理系統中還設計了解釋器,通過解釋器可以將用戶輸入的接口描述語言翻譯為目標處理系統所能夠運行的執行代碼,從而在目標處理系統中可以執行任務處理請求。
117.在一種可實現的方式中,解釋器可包括:1.註冊器(register)2.連接器(connector)3.代碼生成器(generator)4.代碼執行器(executor)5.結果收集器(collector)。
118.註冊器面向不同的異構存儲、計算系統,凡是所定義的接口描述語言所支持的存儲引擎、調度器、算子均需要在註冊器中註冊,註冊器底層依託於強一致性的中心存儲(如etcd),保證了註冊過程的原子性。
119.連接器用來實現不同存儲計算引擎的連接,例如對於存儲引擎,通常需要初始化
對應的連接池實例,對於計算引擎,通常需要初始化對應的計算會話。
120.代碼生成器是解釋器的核心組件,用於基於採用預先定義的接口描述語言所編寫的任務處理請求生成對應目標處理系統的執行代碼,這裡的難點在於如何對不同的存儲引擎或計算引擎進行統一。
121.基於此,可選地,在代碼生成器中可定義一系列接口,如數據的增刪改查接口,高級接口,數據計算接口等,對於不同的存儲、計算引擎,需要實現對應的接口。
122.對於存儲引擎,基礎的接口可包括:create創建、delete刪除、update更新、select篩選,分別代表了數據的增刪改查。
123.存儲引擎還包括了一系列高級接口,如:batch_create/delete/update/sele ct批量增刪改查、aggregate聚合、group分組、order排序、count計數、slice分片、limit限制數量。
124.對於計算引擎,基礎的接口可包括:map、reduce;分別代表大數據處理的兩個典型階段,map階段將數據分成一個個分片,mapper在每個分片上執行對應的map操作(map可以理解為一個函數),不同的分片通常是在不同的計算節點(worker node)進行,並將結果以(key,value)元組的形式輸出。map階段完成後,進入到reduce階段,reduce階段中相同的key會被分配給同一個reducer,對數據做進一步的聚合。map和reduce階段之間,一般可能還會包括以下階段:shuffle:將相同key的元組發送到相同的計算節點;combine:將同一個mapper函數下的數據進行歸併;partition:必選,將mapper階段的數據準備好劃分給reducer。
125.計算引擎還包括了一系列高級的接口,如:project:對現有的數據做reshape轉換,比如增減欄位;match:匹配過濾操作;group:分組操作;search:全文檢索;sort:排序;union:合併;flatmap:展開數組類型欄位;aggregate:通用的聚合,可以傳入用戶自定義函數。
126.對於自定義聚合函數(aggregate),支持綁定(binding)到某種程式語言,如python,但需要底層的計算引擎支持對應語言的sdk。
127.代碼執行器用於將生成的執行代碼提交到目標處理系統執行,並等待目標處理系統的返回執行結果。代碼執行器採用分布式的方式實現,因為一般來講,單個任務處理請求相互之間無依賴關係,因而可以方便地實現橫向拓展。
128.結果收集器用於將生成的任務執行結果返回給用戶,一個任務處理請求從解釋到執行可能包含多個階段,某一階段的輸出可能是另一個階段的輸入,根據任務處理請求最終輸出結果的不同,任務處理請求根據內容的不同又可以分為:
129.data definition(數據定義):涉及命名空間、數據集、流程、任務的創建、刪除、更新和查詢,也即任務處理請求中的待處理數據。
130.data manipulation(數據操作):涉及數據集的存儲或計算邏輯,也即任務處理請求中的待執行操作。
131.目標處理系統:目標處理系統接受解釋器中的代碼執行器提交的代執行碼,在引擎中執行對應的代碼邏輯並將任務執行結果返回給代碼執行器。目標處理系統按照大類可以分為存儲系統和計算系統,存儲系統可以分為面向聯機事務處理(oltp)的系統和面向聯機分析處理(olap)的系統,計算系統可以分為離線批處理系統和實時計算系統。
132.典型的oltp系統如:mysql、oracle、postgresql、hbase、cassandra;
133.典型的olap系統如:hive、impala、clickhouse、hadoop hdfs;
134.典型的離線批處理系統如:spark、hadoop、mapreduce;
135.典型的實時計算系統如:storm、flink。
136.目標處理系統紛繁複雜,各有其適應的場景,通過本發明中所定義的接口描述語言進行任務處理請求的編寫以及解釋器對任務處理請求的翻譯,能夠屏蔽這些底層系統的差異和細節,對外給用戶提供統一的入口。目標處理系統通過在解釋器中註冊,實現接口描述語言規範中定義的結構,就能夠方便地使用接口描述語言提供的完備的抽象能力,這種方式能顯著降低用戶的使用門檻,釋放數據的生產力。
137.基於上述對於數據處理系統的整體架構的說明。可選地,步驟s102中,根據任務處理請求,確定任務處理請求對應的目標處理系統,可以包括:通過代碼執行器,根據任務處理請求中的數據集的來源欄位和/或流程對應的調度器的描述欄位,確定任務處理請求對應的目標處理系統。
138.在通過解釋器接收到任務處理請求後,可通過解釋器中的代碼執行器根據任務處理請求中的數據集的來源欄位和/或流程對應的調度器的描述欄位來確定任務處理請求對應的目標處理系統。
139.圖5為本技術實施例提供的數據處理方法的流程示意圖三;可選地,上述步驟中,通過代碼執行器,根據任務處理請求中的數據集的來源欄位和/或流程對應的調度器的描述欄位,確定任務處理請求對應的目標處理系統,可以包括:
140.s501、根據數據集的來源欄位,確定任務處理請求對應的數據存儲引擎。
141.可選地,可根據數據集的來源欄位,確定任務處理請求對應的為存儲系統,而根據來源欄位的具體信息,則可以確定任務處理請求對應的具體的數據存儲引擎。
142.例如:來源欄位為:"engine""mysql",由此可確定任務處理請求對應的為存儲系統中的mysql存儲引擎。
143.s502、根據流程對應的調度器的描述欄位、以及任務所綁定的算子欄位,確定任務處理請求對應的數據計算引擎。
144.同樣的,根據流程對應的調度器的描述欄位以及任務所綁定的算子欄位,可確定任務請求對應的為計算系統,且可確定對應計算系統中的某個具體的數據計算引擎。
145.調度器主要負責把任務調度到具體的物理計算節點,並分配cpu、內存等物理資源,算子則對應了某一種具體的數據計算引擎,如spark算子、hive算子、flink算子,結合調度器和算子兩個信息,則可確定任務處理請求所要調用的具體的數據計算引擎。
146.例如:流程對應的調度器的描述欄位為"scheduler":"airflow",由此可確定任務處理請求對應的為計算系統中的airflow調度器,而任務所綁定的算子欄位為「spark算子」,則可確定任務處理請求對應的為計算系統中的spark算子,由此可確定任務處理請求通過airflow調度器在所調用的物理計算節點中應用spark算子執行任務。
147.s503、目標處理系統包括數據存儲引擎和/或數據計算引擎。
148.可選地,目標處理系統則可包括上述所確定出的數據存儲引擎和數據計算引擎,當數據集的來源欄位為空時,確定出的目標處理系統則可僅包括數據計算引擎,而當流程對應的調度器的描述欄位及算子欄位為空時,則確定出的目標處理系統可僅包括數據存儲
引擎。
149.圖6為本技術實施例提供的數據處理方法的流程示意圖四;可選地,步驟s103中,將任務處理請求轉換為目標處理系統對應的執行代碼,並提交至目標處理系統,可以包括:
150.s601、通過代碼生成器中預先定義的基礎接口,將任務處理請求轉換為目標處理系統對應的執行代碼。
151.可根據任務處理請求中的待執行操作,確定待執行操作對應的基礎接口,從而通過各基礎接口,將任務處理請求轉換為目標處理系統對應的執行代碼。
152.s602、通過代碼執行器將執行代碼提交至目標處理系統。
153.而生成的執行代碼則可通過代碼執行器提交至目標處理系統,從而在目標處理系統中運行執行代碼,生成任務處理請求對應的任務執行結果。
154.綜上,本實施例提供的數據處理方法,通過預先定義的接口描述語言編寫任務處理請求,通過對任務處理請求中關鍵欄位的解析,可確定任務處理請求所對應的目標處理系統,從而將任務處理請求轉換為目標處理系統所支持的執行代碼,通過目標處理系統運行執行代碼以執行任務處理請求,並生成任務執行結果。本方法通過預先定義的接口描述語言編寫任務處理請求,使得不同的用戶僅需學習所定義的統一的接口描述語言即可實現對數據處理系統中各目標處理系統的調用,從而大大的降低了用戶的學習成本,使得數據處理系統的學習門檻更低,提高了數據處理系統的通用性和使用性能。
155.而基於所定義的接口描述語言所實現的數據能力系統,打通了數據存儲和計算能力,給運維、開發、以及使用提供了統一的視角,在性能和通用型上實現了很好的平衡。能夠支持更多的數據模型,提供更加清晰的數據訪問接口;將計算系統與存儲系統進行了融合,無需為各類存儲系統單獨設計複雜的連接器,該數據處理系統同時支持數據批處理和流式處理,支持豐富的計算算子,使得用戶能方便地基於現有的算子進行數據處理系統的拓展開發。
156.下述對用以執行本技術所提供的數據處理方法的裝置、設備及存儲介質等進行說明,其具體的實現過程以及技術效果參見上述,下述不再贅述。
157.圖7為本技術實施例提供的一種數據處理裝置的示意圖,該數據處理裝置實現的功能對應上述方法執行的步驟。該裝置可以理解為數據處理系統,數據處理系統可以部署於計算機設備上。如圖7所示,該裝置可包括:獲取模塊710、確定模塊720、執行模塊730;
158.可選地,獲取模塊710,用於獲取輸入的任務處理請求,任務處理請求包括:待處理的數據、以及待執行的操作,任務處理請求採用預先定義的接口描述語言編寫;
159.確定模塊720,用於根據任務處理請求,確定任務處理請求對應的目標處理系統;
160.執行模塊730,用於將任務處理請求轉換為目標處理系統對應的執行代碼,並提交至目標處理系統,並通過目標處理系統運行執行代碼,生成任務處理請求對應的任務執行結果。
161.可選地,該裝置還可包括:生成模塊;
162.生成模塊,用於採用預設格式的語言創建語言描述關鍵欄位,語言描述關鍵欄位包括:命名空間、數據集、流程、任務;
163.根據各語言描述關鍵欄位,生成接口描述語言。
164.可選地,命名空間包括:命名空間的名稱欄位及版本欄位;數據集包括:數據集的
名稱欄位及數據集的來源欄位;流程包括:流程的名稱欄位及流程對應的調度器的描述欄位;任務包括:任務的名稱欄位及任務所綁定的算子欄位。
165.可選地,獲取模塊710,具體用於按照接口描述語言中定義的各語言描述關鍵欄位中的各欄位,輸入各欄位對應的信息,生成任務處理請求。
166.可選地,確定模塊720,具體用於根據任務處理請求中的數據集的來源欄位和/或流程對應的調度器的描述欄位,確定任務處理請求對應的目標處理系統。
167.可選地,數據處理系統包括:解釋器及至少一種目標處理系統,解釋器包括:代碼生成器及代碼執行器;
168.確定模塊720,具體用於通過代碼執行器,根據任務處理請求中的數據集的來源欄位和/或流程對應的調度器的描述欄位,確定任務處理請求對應的目標處理系統。
169.可選地,確定模塊720,具體用於根據數據集的來源欄位,確定任務處理請求對應的數據存儲引擎;
170.根據流程對應的調度器的描述欄位、以及任務所綁定的算子欄位,確定任務處理請求對應的數據計算引擎;
171.目標處理系統包括數據存儲引擎和/或數據計算引擎。
172.可選地,執行模塊730,具體用於通過代碼生成器中預先定義的基礎接口,將任務處理請求轉換為目標處理系統對應的執行代碼;
173.通過代碼執行器將執行代碼提交至目標處理系統。
174.通過上述裝置,獲取模塊在獲取了採用預先定義的接口描述語言編寫任務處理請求之後,確定模塊通過對任務處理請求中關鍵欄位的解析,可確定任務處理請求所對應的目標處理系統,從而執行模塊可將任務處理請求轉換為目標處理系統所支持的執行代碼,通過目標處理系統運行執行代碼以執行任務處理請求,並生成任務執行結果。通過預先定義的接口描述語言編寫任務處理請求,使得不同的用戶僅需學習所定義的統一的接口描述語言即可實現對數據處理系統中各目標處理系統的調用,從而大大的降低了用戶的學習成本,使得數據處理系統的學習門檻更低,提高了數據處理系統的通用性和使用性能。
175.以上這些模塊可以是被配置成實施以上方法的一個或多個集成電路,例如:一個或多個特定集成電路(application specific integrated circuit,簡稱asic),或,一個或多個微處理器(digital singnal processor,簡稱dsp),或,一個或者多個現場可編程門陣列(field programmable gate array,簡稱fpga)等。再如,當以上某個模塊通過處理元件調度程序代碼的形式實現時,該處理元件可以是通用處理器,例如中央處理器(central processing unit,簡稱cpu)或其它可以調用程序代碼的處理器。再如,這些模塊可以集成在一起,以片上系統(system-on-a-chip,簡稱soc)的形式實現。
176.上述模塊可以經由有線連接或無線連接彼此連接或通信。有線連接可以包括金屬線纜、光纜、混合線纜等,或其任意組合。無線連接可以包括通過lan、wan、藍牙、zigbee、或nfc等形式的連接,或其任意組合。兩個或更多個模塊可以組合為單個模塊,並且任何一個模塊可以分成兩個或更多個單元。所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統和裝置的具體工作過程,可以參考方法實施例中的對應過程,本技術中不再贅述。
177.圖8為本技術實施例提供的一種電子設備的結構示意圖,包括:處理器801、存儲介
質802和總線803,存儲介質802存儲有處理器801可執行的機器可讀指令,當電子設備運行如實施例中的一種數據處理方法時,處理器801與存儲介質802之間通過總線803通信,處理器801執行機器可讀指令,以執行以下步驟:
178.獲取輸入的任務處理請求,任務處理請求包括:待處理的數據、以及待執行的操作,任務處理請求採用預先定義的接口描述語言編寫;
179.根據任務處理請求,確定任務處理請求對應的目標處理系統;
180.將任務處理請求轉換為目標處理系統對應的執行代碼,並提交至目標處理系統,並通過目標處理系統運行執行代碼,生成任務處理請求對應的任務執行結果。
181.在一個可行的實施方案中,處理器801在執行獲取輸入的任務處理請求之前,具體用於:採用預設格式的語言創建語言描述關鍵欄位,語言描述關鍵欄位包括:命名空間、數據集、流程、任務;
182.根據各語言描述關鍵欄位,生成接口描述語言。
183.在一個可行的實施方案中,命名空間包括:命名空間的名稱欄位及版本欄位;數據集包括:數據集的名稱欄位及數據集的來源欄位;流程包括:流程的名稱欄位及流程對應的調度器的描述欄位;任務包括:任務的名稱欄位及任務所綁定的算子欄位。
184.在一個可行的實施方案中,處理器801在執行獲取輸入的任務處理請求時,具體用於:按照接口描述語言中定義的各語言描述關鍵欄位中的各欄位,輸入各欄位對應的信息,生成任務處理請求。
185.在一個可行的實施方案中,處理器801在執行根據任務處理請求,確定任務處理請求對應的目標處理系統時,具體用於:根據任務處理請求中的數據集的來源欄位和/或流程對應的調度器的描述欄位,確定任務處理請求對應的目標處理系統。
186.在一個可行的實施方案中,處理器801在執行根據任務處理請求,確定任務處理請求對應的目標處理系統時,具體用於:通過代碼執行器,根據任務處理請求中的數據集的來源欄位和/或流程對應的調度器的描述欄位,確定任務處理請求對應的目標處理系統。
187.在一個可行的實施方案中,處理器801在執行通過代碼執行器,根據任務處理請求中的數據集的來源欄位和/或流程對應的調度器的描述欄位,確定任務處理請求對應的目標處理系統時,具體用於:根據數據集的來源欄位,確定任務處理請求對應的數據存儲引擎;
188.根據流程對應的調度器的描述欄位,確定任務處理請求對應的數據計算引擎;
189.目標處理系統包括數據存儲引擎和/或數據計算引擎。
190.在一個可行的實施方案中,處理器801在執行將任務處理請求轉換為目標處理系統對應的執行代碼,並提交至目標處理系統時,具體用於:通過代碼生成器中預先定義的基礎接口,將任務處理請求轉換為目標處理系統對應的執行代碼;
191.通過代碼執行器將執行代碼提交至目標處理系統。
192.通過上述方式,當數據處理系統獲取到採用預先定義的接口描述語言編寫的任務處理請求之前,通過對任務處理請求中關鍵欄位的解析,可確定任務處理請求所對應的目標處理系統,從而將任務處理請求轉換為目標處理系統所支持的執行代碼,通過目標處理系統運行執行代碼以執行任務處理請求,並生成任務執行結果。本方法通過預先定義的接口描述語言編寫任務處理請求,使得不同的用戶僅需學習所定義的統一的接口描述語言即
可實現對數據處理系統中各目標處理系統的調用,從而大大的降低了用戶的學習成本,使得數據處理系統的學習門檻更低,提高了數據處理系統的通用性和使用性能。
193.其中,存儲介質802存儲有程序代碼,當程序代碼被處理器801執行時,使得處理器801執行本說明書上述「示例性方法」部分中描述的根據本技術各種示例性實施方式的數據處理方法中的各種步驟。
194.處理器801可以是通用處理器,例如中央處理器(cpu)、數位訊號處理器(digital signal processor,dsp)、專用集成電路(application specific integrated circuit,asic)、現場可編程門陣列(field programmable gate array,fpga)或者其他可編程邏輯器件、分立門或者電晶體邏輯器件、分立硬體組件,可以實現或者執行本技術實施例中公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者任何常規的處理器等。結合本技術實施例所公開的方法的步驟可以直接體現為硬體處理器執行完成,或者用處理器中的硬體及軟體模塊組合執行完成。
195.存儲介質802作為一種非易失性計算機可讀存儲介質,可用於存儲非易失性軟體程序、非易失性計算機可執行程序以及模塊。存儲器可以包括至少一種類型的存儲介質,例如可以包括快閃記憶體、硬碟、多媒體卡、卡型存儲器、隨機訪問存儲器(random access memory,ram)、靜態隨機訪問存儲器(static random access memory,sram)、可編程只讀存儲器(programmable read only memory,prom)、只讀存儲器(read only memory,rom)、帶電可擦除可編程只讀存儲器(electrically erasable programmable read-only memory,eeprom)、磁性存儲器、磁碟、光碟等等。存儲器是能夠用於攜帶或存儲具有指令或數據結構形式的期望的程序代碼並能夠由計算機存取的任何其他介質,但不限於此。本技術實施例中的存儲介質802還可以是電路或者其它任意能夠實現存儲功能的裝置,用於存儲程序指令和/或數據。
196.可選地,本技術實施例還提供了一種計算機可讀存儲介質,該計算機可讀存儲介質上存儲有電腦程式,該電腦程式被處理器運行時執行,處理器執行以下步驟:
197.獲取輸入的任務處理請求,任務處理請求包括:待處理的數據、以及待執行的操作,任務處理請求採用預先定義的接口描述語言編寫;
198.根據任務處理請求,確定任務處理請求對應的目標處理系統;
199.將任務處理請求轉換為目標處理系統對應的執行代碼,並提交至目標處理系統,並通過目標處理系統運行執行代碼,生成任務處理請求對應的任務執行結果。
200.在一個可行的實施方案中,處理器801在執行獲取輸入的任務處理請求之前,具體用於:採用預設格式的語言創建語言描述關鍵欄位,語言描述關鍵欄位包括:命名空間、數據集、流程、任務;
201.根據各語言描述關鍵欄位,生成接口描述語言。
202.在一個可行的實施方案中,命名空間包括:命名空間的名稱欄位及版本欄位;數據集包括:數據集的名稱欄位及數據集的來源欄位;流程包括:流程的名稱欄位及流程對應的調度器的描述欄位;任務包括:任務的名稱欄位及任務所綁定的算子欄位。
203.在一個可行的實施方案中,處理器801在執行獲取輸入的任務處理請求時,具體用於:按照接口描述語言中定義的各語言描述關鍵欄位中的各欄位,輸入各欄位對應的信息,生成任務處理請求。
204.在一個可行的實施方案中,處理器801在執行根據任務處理請求,確定任務處理請求對應的目標處理系統時,具體用於:根據任務處理請求中的數據集的來源欄位和/或流程對應的調度器的描述欄位,確定任務處理請求對應的目標處理系統。
205.在一個可行的實施方案中,處理器801在執行根據任務處理請求,確定任務處理請求對應的目標處理系統時,具體用於:通過代碼執行器,根據任務處理請求中的數據集的來源欄位和/或流程對應的調度器的描述欄位,確定任務處理請求對應的目標處理系統。
206.在一個可行的實施方案中,處理器801在執行通過代碼執行器,根據任務處理請求中的數據集的來源欄位和/或流程對應的調度器的描述欄位,確定任務處理請求對應的目標處理系統時,具體用於:根據數據集的來源欄位,確定任務處理請求對應的數據存儲引擎;
207.根據流程對應的調度器的描述欄位,確定任務處理請求對應的數據計算引擎;
208.目標處理系統包括數據存儲引擎和/或數據計算引擎。
209.在一個可行的實施方案中,處理器801在執行將任務處理請求轉換為目標處理系統對應的執行代碼,並提交至目標處理系統時,具體用於:通過代碼生成器中預先定義的基礎接口,將任務處理請求轉換為目標處理系統對應的執行代碼;
210.通過代碼執行器將執行代碼提交至目標處理系統。
211.通過上述方式,當數據處理系統獲取到採用預先定義的接口描述語言編寫的任務處理請求之前,通過對任務處理請求中關鍵欄位的解析,可確定任務處理請求所對應的目標處理系統,從而將任務處理請求轉換為目標處理系統所支持的執行代碼,通過目標處理系統運行執行代碼以執行任務處理請求,並生成任務執行結果。本方法通過預先定義的接口描述語言編寫任務處理請求,使得不同的用戶僅需學習所定義的統一的接口描述語言即可實現對數據處理系統中各目標處理系統的調用,從而大大的降低了用戶的學習成本,使得數據處理系統的學習門檻更低,提高了數據處理系統的通用性和使用性能。
212.在本技術實施例中,該電腦程式被處理器運行時還可以執行其它機器可讀指令,以執行如實施例中其它所述的方法,關於具體執行的方法步驟和原理參見實施例的說明,在此不再詳細贅述。
213.在本技術所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
214.所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
215.另外,在本技術各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用硬體加軟體功能單元的形式實現。
216.上述以軟體功能單元的形式實現的集成的單元,可以存儲在一個計算機可讀取存儲介質中。上述軟體功能單元存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)或處理器(英文:processor)執行本技術各個實施例所述方法的部分步驟。而前述的存儲介質包括:u盤、移動硬碟、只讀存儲器(英文:read-only memory,簡稱:rom)、隨機存取存儲器(英文:random access memory,簡稱:ram)、磁碟或者光碟等各種可以存儲程序代碼的介質。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀