一種通用的客戶端與服務(wù)端數(shù)據(jù)綁定的方法
【專利摘要】本發(fā)明提供一種通用的客戶端與服務(wù)端數(shù)據(jù)綁定的方法,它通過設(shè)計通用的數(shù)據(jù)交換格式及綁定接口,將客戶端畫面數(shù)據(jù)直接與服務(wù)端數(shù)據(jù)對象綁定,實現(xiàn)客戶端畫面與服務(wù)端進程數(shù)據(jù)雙向交換。本發(fā)明設(shè)計的數(shù)據(jù)格式具有很高的通用性,適合各種控件數(shù)據(jù)結(jié)構(gòu),特別是Grid、Chart等數(shù)據(jù)長度可變的結(jié)構(gòu);同時具有較高的效率,格式簡單、清晰,易于人的閱讀與書寫。本方法對畫面中常用控件如TextBox、Lable、Grid、Chart等控件在服務(wù)端和客戶端分別進行封裝,降低了應(yīng)用開發(fā)難度,提高了前后開發(fā)效率。本發(fā)明解決了服務(wù)端C++進程與客戶端.net進程的數(shù)據(jù)交換問題,使得應(yīng)用可將大量的業(yè)務(wù)邏輯放在服務(wù)端實現(xiàn),方便與服務(wù)端其它進程間的信息交換,同時減輕客戶端畫面進程負荷,提高畫面反應(yīng)速度。
【專利說明】一種通用的客戶端與服務(wù)端數(shù)據(jù)綁定的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機信息【技術(shù)領(lǐng)域】,具體涉及一種通用的客戶端與服務(wù)端數(shù)據(jù)綁定的方法。
【背景技術(shù)】
[0002]在冶金過程控制計算機系統(tǒng)中,主要業(yè)務(wù)邏輯在服務(wù)端實現(xiàn),采用具有較高性能的C++語言開發(fā),一般部署在LINUX系統(tǒng)服務(wù)器中;而客戶端畫面使用.NET語言開發(fā),部署在多臺WINDOWS客戶端機器中。因此需要解決服務(wù)端C++程序與客戶端.NET畫面的數(shù)據(jù)交換問題。一般的解決方法通過數(shù)據(jù)庫進行交換數(shù)據(jù),即服務(wù)端將數(shù)據(jù)放入ORACLE或DB2數(shù)據(jù)庫中,客戶端畫面直接從數(shù)據(jù)庫獲取數(shù)據(jù)。這種方法的特點是架構(gòu)簡單,但存在的問題是客戶端的數(shù)量存在限制,因為數(shù)據(jù)庫的連接數(shù)存在限制。所以需要服務(wù)端與客戶端直接進行數(shù)據(jù)交換,即通過建立socket連接交換數(shù)據(jù)。服務(wù)端與客戶端采用了不同語言開發(fā),因此客戶端畫面與服務(wù)端進程之間的數(shù)據(jù)交換需要轉(zhuǎn)換成一種編碼格式。在大多數(shù)的客戶端/服務(wù)器架構(gòu)的系統(tǒng)中,使用可擴展標記語言(extensible Markup Language,簡稱XML)來攜帶交換數(shù)據(jù)信息。例如申請?zhí)枮椤?01010571730.9”、名稱為“異步跨域傳輸XML數(shù)據(jù)的方法、客戶端和服務(wù)端”的中國發(fā)明專利申請。又例如申請?zhí)枮椤?200810123845.4 ”、名稱為“基于XML的異源數(shù)據(jù)交換中間件的數(shù)據(jù)展示方法”的中國發(fā)明專利申請。這兩個專利申請公開的技術(shù)方案均使用XML語言具有很高的可讀性,具有規(guī)范的標簽形式。但是在有需要高速和高效率的要求的情況下,XML語法需要添加過多的語法標記,而使得傳輸?shù)臄?shù)據(jù)過于龐大。目前市場上缺乏有效的針對C++服務(wù)端與C#客戶端的數(shù)據(jù)交換方法。本發(fā)明設(shè)計的數(shù)據(jù)格式具有很高的通用性,適合各種控件數(shù)據(jù)結(jié)構(gòu),特別是Grid、Chart等控件對應(yīng)的數(shù)據(jù)長度可變的結(jié)構(gòu);具有較高的效率,格式簡單、清晰,易于人的閱讀與書寫。
【發(fā)明內(nèi)容】
[0003]針對現(xiàn)有技術(shù)中的缺陷,本發(fā)明提供了一種通用的客戶端與服務(wù)端數(shù)據(jù)綁定的方法,本發(fā)明提供的方法通過設(shè)計客戶端和服務(wù)端數(shù)據(jù)交換格式和數(shù)據(jù)綁定接口,將客戶端畫面.NET控件直接與服務(wù)端C++控件對象綁定,解決服務(wù)端C++進程與畫面C#進程的數(shù)據(jù)交換問題,使得應(yīng)用可將大量的業(yè)務(wù)邏輯放在服務(wù)端實現(xiàn),方便與服務(wù)端其它進程間的信息交換,同時減輕客戶端畫面進程負荷,提高畫面反應(yīng)速度。
[0004]本發(fā)明提供一種通用的客戶端與服務(wù)端數(shù)據(jù)綁定的方法,其特征在于,以畫面邏輯區(qū)域為數(shù)據(jù)處理基本單元,通過客戶端和服務(wù)端數(shù)據(jù)綁定接口、以及客戶端和服務(wù)端數(shù)據(jù)交換格式,將客戶端.NET控件直接與服務(wù)端C++控件綁定,使客戶端與服務(wù)端之間雙向交換進程數(shù)據(jù),
[0005]所述客戶端和服務(wù)端數(shù)據(jù)綁定接口包括客戶端向服務(wù)端注冊數(shù)據(jù)結(jié)構(gòu)接口、客戶端畫面激活及未激活接口、客戶端向服務(wù)端發(fā)送數(shù)據(jù)接口、服務(wù)端向客戶端發(fā)送數(shù)據(jù)接口,
[0006]所述客戶端和服務(wù)端數(shù)據(jù)交換格式用于客戶端.NET數(shù)據(jù)對象和服務(wù)端C++數(shù)據(jù)對象之間的數(shù)據(jù)轉(zhuǎn)換,客戶端和服務(wù)端數(shù)據(jù)交換格式包括描述數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)頭和存放實際數(shù)據(jù)的數(shù)據(jù)體,數(shù)據(jù)頭包含了控件屬性、類型、結(jié)構(gòu)信息,服務(wù)端及客戶端根據(jù)數(shù)據(jù)頭信息,實現(xiàn)對數(shù)據(jù)體的編碼及解碼。
[0007]所述客戶端和服務(wù)端控件封裝實現(xiàn)了客戶端.NET控件和服務(wù)端C++控件對象的數(shù)據(jù)映射。本方法對畫面中常用控件如TextBox、Lable、Grid、Chart等控件在服務(wù)端和客戶端分別進行封裝。
[0008]優(yōu)選地,客戶端通過所述客戶端向服務(wù)端注冊數(shù)據(jù)結(jié)構(gòu)接口,將畫面邏輯區(qū)域包含的控件對象數(shù)據(jù)結(jié)構(gòu)組織為客戶端和服務(wù)端數(shù)據(jù)交換格式向服務(wù)端注冊,服務(wù)端根據(jù)數(shù)據(jù)結(jié)構(gòu)解析及編碼控件實際數(shù)據(jù)。
[0009]優(yōu)選地,服務(wù)端通過所述客戶端畫面激活及未激活接口,根據(jù)當(dāng)前客服端的狀態(tài)決定是否發(fā)送數(shù)據(jù),即僅在客戶端激活狀態(tài)時才交換數(shù)據(jù),從而降低數(shù)據(jù)流量,提高應(yīng)用效率。
[0010]優(yōu)選地,客戶端通過所述客戶端向服務(wù)端發(fā)送數(shù)據(jù)接口,主動將畫面邏輯區(qū)域包括的控件數(shù)據(jù)組織為客戶端和服務(wù)端數(shù)據(jù)交換格式發(fā)送給服務(wù)端,服務(wù)端根據(jù)數(shù)據(jù)結(jié)構(gòu)解析數(shù)據(jù)并進一步作業(yè)務(wù)處理。
[0011]優(yōu)選地,服務(wù)端通過所述服務(wù)端向客戶端發(fā)送數(shù)據(jù)接口,根據(jù)業(yè)務(wù)邏輯組織數(shù)據(jù)并發(fā)送給客戶端,客戶端將客戶端和服務(wù)端數(shù)據(jù)交換格式數(shù)據(jù)解析為控件對象數(shù)據(jù)并刷新數(shù)據(jù)。
[0012]優(yōu)選地,所述客戶端和服務(wù)端數(shù)據(jù)交換格式具有良好的通用性,不僅支持基本數(shù)據(jù)、以及多層次結(jié)構(gòu)的復(fù)雜數(shù)據(jù),如表格、趨勢圖等控件數(shù)據(jù)。
[0013]優(yōu)選地,客戶端對.NET控件進一步封裝,增加控件serverKey屬性及數(shù)據(jù)類型信息,其中:控件serverKey屬性用于建立控件與畫面邏輯區(qū)域的所屬關(guān)系;數(shù)據(jù)類型信息指定了實際數(shù)據(jù)類型;服務(wù)端相應(yīng)地根據(jù).NET控件數(shù)據(jù)特性封裝C++數(shù)據(jù)類型,使得.NET控件與C++數(shù)據(jù)對象一一對應(yīng),簡化了客戶端的配置,方便服務(wù)端數(shù)據(jù)的操作。
[0014]為了實現(xiàn)上述的目的,本發(fā)明采用更為具體的如下技術(shù)方案:
[0015]服務(wù)端與客戶端采用不同的語言開發(fā),因此需要將服務(wù)端與客戶端數(shù)據(jù)轉(zhuǎn)換為一種通用的數(shù)據(jù)格式。這種編碼格式需要滿足以下需求:1.獨立于特定編程語言,因為服務(wù)端與客戶端采用了不同的開發(fā)語言。2.采用文本格式,易于閱讀和書寫,且便于兩種開發(fā)語言的解析與編碼。3.具有良好的通用性,不僅支持簡單的數(shù)據(jù)結(jié)構(gòu),如Text、Label等具有固定格式的控件,而且要支持復(fù)雜的多層次數(shù)據(jù)結(jié)構(gòu),如Grid控件,不同Grid控件對象的列名、類型、列數(shù)是不固定,即使相同Grid控件對象,它的數(shù)據(jù)行數(shù)是變化的。4.輕量級且高效率的數(shù)據(jù)格式,XML語言具有很高的可讀性,具有規(guī)范的標簽形式,但存在過多的語法標記所導(dǎo)致的冗余數(shù)據(jù)過大問題,不利于提高數(shù)據(jù)交換性能。本發(fā)明的數(shù)據(jù)格式采用了數(shù)據(jù)結(jié)構(gòu)的描述信息與實際數(shù)據(jù)相分離的手段,將數(shù)據(jù)格式分為數(shù)據(jù)頭區(qū)域與數(shù)據(jù)體區(qū)域。在數(shù)據(jù)頭區(qū)域中存放的信息包括標記關(guān)鍵字、屬性名稱、屬性類型。在數(shù)據(jù)體區(qū)域中存放的信息包括標記關(guān)鍵字、實際數(shù)據(jù)。數(shù)據(jù)頭與體之間以標記關(guān)鍵字互相對應(yīng),實現(xiàn)了帶有自描述信息的一個交換數(shù)據(jù)格式。
[0016]服務(wù)端與客戶端要實現(xiàn)數(shù)據(jù)交換需要定義一系列綁定接口。一般系統(tǒng)客戶端需要部署到多臺終端,客戶端由多幅畫面組成,一幅畫面根據(jù)數(shù)據(jù)來源或者數(shù)據(jù)處理方式可以邏輯劃分為多個區(qū)域,每個區(qū)域包含多個控件。本發(fā)明以畫面邏輯區(qū)域為基本單元,每個畫面邏輯區(qū)域關(guān)聯(lián)一個或多個服務(wù)端數(shù)據(jù)處理單元。為了實現(xiàn)客戶端畫面邏輯區(qū)域與服務(wù)端數(shù)據(jù)處理單元之間的數(shù)據(jù)交換定義多個綁定接口,包括客戶端向服務(wù)端注冊數(shù)據(jù)結(jié)構(gòu)接口、客戶端畫面激活及未激活接口、客戶端向服務(wù)端發(fā)送數(shù)據(jù)接口、服務(wù)端向客戶端發(fā)送數(shù)據(jù)接口。
[0017]所述客戶端向服務(wù)端注冊數(shù)據(jù)結(jié)構(gòu)接口實現(xiàn)了客戶端畫面邏輯區(qū)域內(nèi)所有控件向服務(wù)端注冊數(shù)據(jù)結(jié)構(gòu)的功能??蛻舳?NET控件包括多個屬性信息,屬性值可以是基本數(shù)據(jù)類型,如int、float、string等類型,也可以是復(fù)雜類型,即屬性分為多個子屬性,如Grid控件的Row屬性可以包含多列信息。當(dāng)客戶端畫面邏輯區(qū)域初始化時,客戶端將所有控件數(shù)據(jù)結(jié)構(gòu)組織為通用交換格式,通過socket通訊方式發(fā)送至服務(wù)端,相應(yīng)服務(wù)端處理單元保存數(shù)據(jù)結(jié)構(gòu)信息,以便后續(xù)實際數(shù)據(jù)的交換。
[0018]所述畫面激活及未激活接口實現(xiàn)了客戶端畫面狀態(tài)通知服務(wù)端功能??蛻舳水?dāng)前必定僅有一副畫面處于激活狀態(tài),其它畫面均處于非激活狀態(tài)。因此對于特定服務(wù)端數(shù)據(jù)處理單元僅在相應(yīng)畫面邏輯區(qū)域處于激活狀態(tài)時才需發(fā)送數(shù)據(jù)至客戶端,即服務(wù)端數(shù)據(jù)處理單元當(dāng)接收到客戶端畫面激活時,立即將數(shù)據(jù)發(fā)送至客戶端;服務(wù)端數(shù)據(jù)處理單元當(dāng)接收到客戶端畫面未激活時,停止將數(shù)據(jù)發(fā)送至客戶端。通過這個接口,可以有效減少服務(wù)端與客戶端數(shù)據(jù)交換。
[0019]所述客戶端向服務(wù)端發(fā)送數(shù)據(jù)接口實現(xiàn)了客戶端畫面邏輯區(qū)域內(nèi)所有.NET控件數(shù)據(jù)組織為通用交換格式發(fā)送至服務(wù)端的功能。當(dāng)客戶端畫面邏輯區(qū)域內(nèi)的按鈕控制被觸發(fā)時,自動收集該區(qū)域內(nèi)所有控件數(shù)據(jù),組織為通用交換格式,通過socket方式發(fā)送至服務(wù)端數(shù)據(jù)處理單元;服務(wù)端處理單元解析通用交換格式數(shù)據(jù),并轉(zhuǎn)換為C++控件對象,再進行相應(yīng)業(yè)務(wù)邏輯處理。
[0020]所述服務(wù)端向客戶端發(fā)送數(shù)據(jù)接口實現(xiàn)了服務(wù)端數(shù)據(jù)處理單元將C++控件對象數(shù)據(jù)組織為通用交換格式發(fā)送至客戶端功能。服務(wù)端處理單元進行相關(guān)業(yè)務(wù)處理之后,將C++控件對象數(shù)據(jù)組織為通用交換格式,通過socket方式發(fā)送至客戶端畫面邏輯區(qū)域;客戶端畫面邏輯區(qū)域解析通用交換格式數(shù)據(jù),并刷新.NET控件。
[0021]本發(fā)明提供了一系列常用控件的客戶端及服務(wù)端封裝,如TextBox、Lable, Grid、Chart等控件??蛻舳水嬅婵煞譃橐粋€或多個畫面邏輯區(qū)域,每個控件必定要關(guān)聯(lián)至一個畫面邏輯區(qū)域。通過對.NET控件的封裝新增了邏輯區(qū)域?qū)傩?,指定控件屬于哪個畫面邏輯區(qū)域;服務(wù)端根據(jù).NET控件的操作特性封裝了 C++控件數(shù)據(jù)類型,方便對控件數(shù)據(jù)的處理。
【專利附圖】
【附圖說明】
[0022]通過閱讀參照以下附圖對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯:
[0023]圖1為本發(fā)明的架構(gòu)圖;
[0024]圖2為客戶端和服務(wù)端數(shù)據(jù)交換格式原理圖;
[0025]圖3為本發(fā)明的結(jié)構(gòu)圖。
【具體實施方式】[0026]為了能夠更清楚地理解本發(fā)明的技術(shù)內(nèi)容,以下結(jié)合附圖和實施例對本發(fā)明的技術(shù)方案作進一步的解釋。
[0027]本發(fā)明提供了一種通用的客戶端與服務(wù)端數(shù)據(jù)綁定的方法。
[0028]圖1為根據(jù)本發(fā)明所提供方法的架構(gòu)圖,包括一個服務(wù)器和多個客戶機,服務(wù)器與客戶機通過局域網(wǎng)連接。服務(wù)端部署在服務(wù)器上,采用C++語言開發(fā),具有較高的執(zhí)行效率;客戶端部署在多個客戶機上,采用.NET語言開發(fā)。
[0029]本發(fā)明的實施包括客戶端和服務(wù)端數(shù)據(jù)交換格式實現(xiàn)、客戶端和服務(wù)端綁定接口實現(xiàn)和客戶端和服務(wù)端控件對象封裝。
[0030]I)客戶端和服務(wù)端數(shù)據(jù)交換格式實現(xiàn)
[0031]所述客戶端和服務(wù)端數(shù)據(jù)交換格式實現(xiàn)了客戶端.net數(shù)據(jù)對象和服務(wù)端C++數(shù)據(jù)對象數(shù)據(jù)轉(zhuǎn)換。通用數(shù)據(jù)格式包括結(jié)構(gòu)數(shù)據(jù)描述和實際數(shù)據(jù)描述。結(jié)構(gòu)數(shù)據(jù)描述包含了控件屬性、類型、結(jié)構(gòu)等信息;實際數(shù)據(jù)描述包含了實際屬性值信息。服務(wù)端及客戶端根據(jù)數(shù)據(jù)頭信息,實現(xiàn)對數(shù)據(jù)體的編碼及解碼。圖2為客戶端和服務(wù)端數(shù)據(jù)交換格式原理圖。
[0032]所述結(jié)構(gòu)數(shù)據(jù)描述格式包括KEY值和VALUE值兩部分,KEY值為控件名稱,VALUE值為控件屬性描述,可同時包含多個控件數(shù)據(jù)結(jié)構(gòu)信息。一個控件包含多個屬性,屬性之間用逗號隔開,屬性包含名稱、數(shù)據(jù)類型信息。數(shù)據(jù)類型目前支持INT、FLOAT、DOUBLE及STRING型。若屬性是復(fù)雜結(jié)構(gòu),如Grid的Row屬性下包含多列屬性,則該屬性用“[“和”]”包含多個屬性。依次類推,因此通過這種數(shù)據(jù)格式可以描述任何類型控件數(shù)據(jù)結(jié)構(gòu)信息。
[0033]所述實際數(shù)據(jù)描述格式包括KEY值和VAULE值兩部分,KEY值為控件名稱或關(guān)聯(lián)關(guān)系名稱,VAULE值為屬性值,可同時包含多個控件實際數(shù)據(jù)信息。屬性值之間以”,”號分隔,根據(jù)值所在位置與結(jié)構(gòu)數(shù)據(jù)描述的屬性名稱及數(shù)據(jù)類型信息實現(xiàn)一一對應(yīng)。對于復(fù)雜屬性,其值為格式為“ref:〈偽值〉“的值,其中偽值為隨機值,通過該值關(guān)聯(lián)至另一項數(shù)據(jù)值;復(fù)雜屬性可以包含多組屬性值,組與組之間通過”;”分隔,如Grid控件包含多行數(shù)據(jù)。
[0034]例如客戶端某畫面邏輯區(qū)域包含一個Textbox控件及Grid控件,則其客戶端和服務(wù)端數(shù)據(jù)格式如表一:
[0035]表一客戶端和服務(wù)端數(shù)據(jù)交換格式示例
[0036]
KEYYALlE
結(jié)構(gòu)數(shù)據(jù)描述
txtlName=s32sTextH4,Rackcolor=i4, Foreco1r=I4
gridlName=s32,Row=i4, Grid=[coll=i4,col2=r4, col3=s64]
實阮數(shù)據(jù)描述
txtltxtl,2012,-2354116, -16777216
gridlgridl, ref;gridlI
ref: gridl I I,11,rowl ;2, 22,row2; 3,33,row3
[0037]結(jié)構(gòu)數(shù)據(jù)描述定義了兩個控件的數(shù)據(jù)結(jié)構(gòu):txtl控件包含四個屬性,包括名稱、text值、背景色及前景色;gridl控件包含兩個屬性,其中” Grid”屬性復(fù)雜數(shù)據(jù)類型,表示該Grid控件包括4列數(shù)據(jù),分別定義了每列的數(shù)據(jù)類型。實際數(shù)據(jù)描述包含了兩個控件的數(shù)據(jù),其中g(shù)ridl控件包含了 3行數(shù)據(jù)。
[0038]2)客戶端和服務(wù)端綁定接口實現(xiàn)
[0039]所述客戶端和服務(wù)端數(shù)據(jù)綁定接口實現(xiàn)包括服務(wù)端綁定接口實現(xiàn)和客戶端綁定接口實現(xiàn)。服務(wù)端綁定接口實現(xiàn)包括服務(wù)端SOCKET組件、C++數(shù)據(jù)交換格式編碼解析組件、服務(wù)端綁定接口實現(xiàn)組件及服務(wù)端數(shù)據(jù)處理單元??蛻舳私壎ń涌趯崿F(xiàn)由客戶端SOCKET組件、.NET數(shù)據(jù)交換格式編碼解碼組件、客戶端綁定接口實現(xiàn)組件和畫面邏輯區(qū)域。圖3為本發(fā)明的結(jié)構(gòu)圖??蛻舳伺c服務(wù)端通過局域網(wǎng)TCP/IP協(xié)議通訊。
[0040]所述客戶端和服務(wù)端數(shù)據(jù)綁定接口包括客戶端向服務(wù)端注冊數(shù)據(jù)結(jié)構(gòu)接口、客戶端畫面激活及未激活接口、客戶端向服務(wù)端發(fā)送數(shù)據(jù)接口、服務(wù)端向客戶端發(fā)送數(shù)據(jù)接口??蛻舳伺c服務(wù)端通過這些端口實現(xiàn)數(shù)據(jù)交換。
[0041]所述客戶端向服務(wù)端注冊數(shù)據(jù)結(jié)構(gòu)接口實現(xiàn)了客戶端畫面邏輯區(qū)域內(nèi)所有控件向服務(wù)端注冊數(shù)據(jù)結(jié)構(gòu)的功能。其接口定義如下:
[0042]
【權(quán)利要求】
1.一種通用的客戶端與服務(wù)端數(shù)據(jù)綁定的方法,其特征在于,以畫面邏輯區(qū)域為數(shù)據(jù)處理基本單元,通過客戶端和服務(wù)端數(shù)據(jù)綁定接口、以及客戶端和服務(wù)端數(shù)據(jù)交換格式,將客戶端.NET控件直接與服務(wù)端C++控件綁定,使客戶端與服務(wù)端之間雙向交換進程數(shù)據(jù), 所述客戶端和服務(wù)端數(shù)據(jù)綁定接口包括客戶端向服務(wù)端注冊數(shù)據(jù)結(jié)構(gòu)接口、客戶端畫面激活及未激活接口、客戶端向服務(wù)端發(fā)送數(shù)據(jù)接口、服務(wù)端向客戶端發(fā)送數(shù)據(jù)接口, 所述客戶端和服務(wù)端數(shù)據(jù)交換格式用于客戶端.NET數(shù)據(jù)對象和服務(wù)端C++數(shù)據(jù)對象之間的數(shù)據(jù)轉(zhuǎn)換,客戶端和服務(wù)端數(shù)據(jù)交換格式包括描述數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)頭和存放實際數(shù)據(jù)的數(shù)據(jù)體,數(shù)據(jù)頭包含了控件屬性、類型、結(jié)構(gòu)信息,服務(wù)端及客戶端根據(jù)數(shù)據(jù)頭信息,實現(xiàn)對數(shù)據(jù)體的編碼及解碼。
2.根據(jù)權(quán)利要求1所述的通用的客戶端與服務(wù)端數(shù)據(jù)綁定的方法,其特征在于:客戶端通過所述客戶端向服務(wù)端注冊數(shù)據(jù)結(jié)構(gòu)接口,將畫面邏輯區(qū)域包含的控件對象數(shù)據(jù)結(jié)構(gòu)組織為客戶端和服務(wù)端數(shù)據(jù)交換格式向服務(wù)端注冊,服務(wù)端根據(jù)數(shù)據(jù)結(jié)構(gòu)解析及編碼控件實際數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的通用的客戶端與服務(wù)端數(shù)據(jù)綁定的方法,其特征在于:服務(wù)端通過所述客戶端畫面激活及未激活接口,根據(jù)當(dāng)前客服端的狀態(tài)決定是否發(fā)送數(shù)據(jù),即僅在客戶端激活狀態(tài)時才交換數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的通用的客戶端與服務(wù)端數(shù)據(jù)綁定的方法,其特征在于:客戶端通過所述客戶端向服務(wù)端發(fā)送數(shù)據(jù)接口,主動將畫面邏輯區(qū)域包括的控件數(shù)據(jù)組織為客戶端和服務(wù)端數(shù)據(jù)交換格式送給服務(wù)端,服務(wù)端根據(jù)數(shù)據(jù)結(jié)構(gòu)解析數(shù)據(jù)并進一步作業(yè)務(wù)處理。
5.根據(jù)權(quán)利要求1所述的通用的客戶端與服務(wù)端數(shù)據(jù)綁定的方法,其特征在于:服務(wù)端通過所述服務(wù)端向客戶端發(fā)送數(shù)據(jù)接口,根據(jù)業(yè)務(wù)邏輯組織數(shù)據(jù)并發(fā)送給客戶端,客戶端將客戶端和服務(wù)端數(shù)據(jù)交 換格式數(shù)據(jù)解析為控件對象數(shù)據(jù)并刷新數(shù)據(jù)。
6.根據(jù)權(quán)利要求1所述的通用的客戶端與服務(wù)端數(shù)據(jù)綁定的方法,其特征在于:所述客戶端和服務(wù)端數(shù)據(jù)交換格式支持基本數(shù)據(jù)、以及多層次結(jié)構(gòu)的復(fù)雜數(shù)據(jù)。
7.根據(jù)權(quán)利要求1所述的通用的客戶端與服務(wù)端數(shù)據(jù)綁定的方法,其特征在于:客戶端對.NET控件進一步封裝,增加控件serverKey屬性及數(shù)據(jù)類型信息,其中:控件serverKey屬性用于建立控件與畫面邏輯區(qū)域的所屬關(guān)系;數(shù)據(jù)類型信息指定了實際數(shù)據(jù)類型;服務(wù)端相應(yīng)地根據(jù).NET控件數(shù)據(jù)特性封裝C++數(shù)據(jù)類型,使得.NET控件與C++數(shù)據(jù)對象--對應(yīng)。
【文檔編號】G06F17/30GK103793384SQ201210419623
【公開日】2014年5月14日 申請日期:2012年10月26日 優(yōu)先權(quán)日:2012年10月26日
【發(fā)明者】李海剛, 應(yīng)海金, 沈杰, 蔡姍姍 申請人:上海寶信軟件股份有限公司