一種數(shù)據(jù)格式轉(zhuǎn)換方法及數(shù)據(jù)格式轉(zhuǎn)換器的制造方法
【專利摘要】本發(fā)明涉及一種數(shù)據(jù)格式轉(zhuǎn)換方法及數(shù)據(jù)格式轉(zhuǎn)換器,所述方法包括:步驟1,將系統(tǒng)外部數(shù)據(jù)的格式轉(zhuǎn)換成統(tǒng)一的XML對(duì)象;步驟2,若配置有存儲(chǔ)了轉(zhuǎn)換規(guī)則的XSLT模板,則將XML對(duì)象作為XSLT模板的輸入數(shù)據(jù),并根據(jù)轉(zhuǎn)換規(guī)則,將XML對(duì)象轉(zhuǎn)換為預(yù)期的數(shù)據(jù)格式,再輸出作為系統(tǒng)內(nèi)部數(shù)據(jù);步驟3,若未配置存儲(chǔ)了轉(zhuǎn)換規(guī)則的XSLT模板,將XML對(duì)象輸出成與系統(tǒng)內(nèi)部數(shù)據(jù)所要求的數(shù)據(jù)格式相對(duì)應(yīng)的字符串,并以該字符串作為系統(tǒng)內(nèi)部數(shù)據(jù)。本發(fā)明的數(shù)據(jù)格式轉(zhuǎn)換方法及轉(zhuǎn)換器具有靈活的配置性,能根據(jù)配置策略將數(shù)據(jù)透?jìng)鳌⒏袷睫D(zhuǎn)換、數(shù)據(jù)提取。
【專利說(shuō)明】一種數(shù)據(jù)格式轉(zhuǎn)換方法及數(shù)據(jù)格式轉(zhuǎn)換器
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及電信行業(yè)及互聯(lián)網(wǎng)行業(yè)支撐系統(tǒng)的通訊【技術(shù)領(lǐng)域】,特別是涉及一種數(shù) 據(jù)格式轉(zhuǎn)換方法及數(shù)據(jù)格式轉(zhuǎn)換器。
【背景技術(shù)】
[0002] 基于XML的數(shù)據(jù)格式轉(zhuǎn)換器,將輸入格式(XML、MML、JS0N)的數(shù)據(jù)按照預(yù)置條件轉(zhuǎn) 換輸出為預(yù)期格式的數(shù)據(jù)(XML、MML、JS0N)。
[0003] XML Extensible Markup Language,可擴(kuò)展標(biāo)記語(yǔ)言,標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的子集, 一種用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語(yǔ)言。它可以用來(lái)標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類型, 是一種允許用戶對(duì)自己的標(biāo)記語(yǔ)言進(jìn)行定義的源語(yǔ)言。它非常適合進(jìn)行網(wǎng)絡(luò)傳輸,提供統(tǒng) 一的方法來(lái)描述和交換獨(dú)立于應(yīng)用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù)。
[0004] MML :Man_Machine Language,人機(jī)語(yǔ)言。MML接口也指人機(jī)訪問(wèn)接口,在電信通信 業(yè)務(wù)中,也指營(yíng)業(yè)支撐系統(tǒng)中的營(yíng)業(yè)系統(tǒng)接口。
[0005] JSON :JavaScript Object Notation,-種輕量級(jí)的數(shù)據(jù)交換格式。它基于 JavaScript (Standard ECMA_2623rd Edition-December 1999)的一個(gè)子集。JSON 米用完 全獨(dú)立于語(yǔ)言的文本格式,但是也使用了類似于C語(yǔ)言家族的習(xí)慣(包括C,C++,C#,Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語(yǔ)言。易于人閱讀 和編寫(xiě),同時(shí)也易于機(jī)器解析和生成。
[0006] 隨著互聯(lián)網(wǎng)的迅速發(fā)展,電信行業(yè)、互聯(lián)網(wǎng)行業(yè)支撐系統(tǒng)與其他第三方系統(tǒng)也逐 步擴(kuò)展、放開(kāi)。當(dāng)現(xiàn)有系統(tǒng)需要對(duì)接到其他已有系統(tǒng)時(shí),就需要建立系統(tǒng)直接的對(duì)接接口, 這些接口用以進(jìn)行兩個(gè)系統(tǒng)間的交易請(qǐng)求、數(shù)據(jù)同步等等。由于不同的系統(tǒng)使用的實(shí)現(xiàn)方 式、實(shí)現(xiàn)編程語(yǔ)言不同,在現(xiàn)有系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)新的接口或復(fù)用老的接口進(jìn)行數(shù)據(jù)傳輸 時(shí),系統(tǒng)內(nèi)部的數(shù)據(jù)格式大多數(shù)情況下不能直接以約定的接口規(guī)范與其他系統(tǒng)對(duì)接,需要 先將內(nèi)部的數(shù)據(jù)格式轉(zhuǎn)成接口協(xié)議上的數(shù)據(jù)格式進(jìn)行傳輸,或者是將接收到接口協(xié)議上的 數(shù)據(jù)格式轉(zhuǎn)換成內(nèi)部的數(shù)據(jù)格式。隨著需要對(duì)接的系統(tǒng)越來(lái)越多,要進(jìn)行的數(shù)據(jù)格式轉(zhuǎn)換 工作就越來(lái)越多,數(shù)據(jù)格式轉(zhuǎn)換器正是著眼于在不改變系統(tǒng)平臺(tái)之間接口協(xié)議的情況下, 減少解決系統(tǒng)內(nèi)外部數(shù)據(jù)格式差異帶來(lái)的開(kāi)銷,使各系統(tǒng)平臺(tái)的接入數(shù)據(jù)經(jīng)過(guò)數(shù)據(jù)格式轉(zhuǎn) 換器的處理后,均能使用自己內(nèi)部的數(shù)據(jù)格式進(jìn)行相應(yīng)的業(yè)務(wù)處理。
[0007] 目前這些接口主要用以下3種數(shù)據(jù)格式進(jìn)行傳輸:
[0008] 1)基于http協(xié)議的form表單格式。典型應(yīng)用于瀏覽器提交或者模擬瀏覽器提交 數(shù)據(jù)。因其實(shí)際傳輸中的格式為分隔符連接的鍵值對(duì),因其類似于MML人機(jī)交互語(yǔ)言格式, 因此我們范稱這種格式為MML格式。
[0009] 2)基于http協(xié)議的restful+json格式,典型應(yīng)用與Ajax實(shí)時(shí)數(shù)據(jù)交互。
[0010] 3)基于http協(xié)議的xml格式。由于webservice基于http,soap基于xml。因此 基于webservice協(xié)議的soap格式我們也歸于此類。
[0011] 數(shù)據(jù)格式轉(zhuǎn)換器圍繞上述3種常用數(shù)據(jù)格式進(jìn)行定制,要求輸入數(shù)據(jù)為MML、 JSON、XML(不限于上述格式,可通過(guò)插件進(jìn)行格式擴(kuò)展),同時(shí)支持輸出為MML、JSON、 XML (不限于上述格式,可通過(guò)插件進(jìn)行格式擴(kuò)展)。
【發(fā)明內(nèi)容】
[0012] 本發(fā)明所要解決的技術(shù)問(wèn)題是提供數(shù)據(jù)格式轉(zhuǎn)換方法及數(shù)據(jù)格式轉(zhuǎn)換器,用于解 決系統(tǒng)內(nèi)外部數(shù)據(jù)的格式差異問(wèn)題。
[0013] 本發(fā)明解決上述技術(shù)問(wèn)題的技術(shù)方案如下:一種數(shù)據(jù)格式轉(zhuǎn)換方法,包括:
[0014] 步驟1,將系統(tǒng)外部數(shù)據(jù)的格式轉(zhuǎn)換成統(tǒng)一的XML對(duì)象;
[0015] 步驟2,若配置有存儲(chǔ)了轉(zhuǎn)換規(guī)則的XSLT模板,則將XML對(duì)象作為XSLT模板的輸 入數(shù)據(jù),并根據(jù)轉(zhuǎn)換規(guī)則,將XML對(duì)象轉(zhuǎn)換為預(yù)期的數(shù)據(jù)格式,再輸出作為系統(tǒng)內(nèi)部數(shù)據(jù);
[0016] 步驟3,若未配置存儲(chǔ)了轉(zhuǎn)換規(guī)則的XSLT模板,將XML對(duì)象輸出成與系統(tǒng)內(nèi)部數(shù)據(jù) 所要求的數(shù)據(jù)格式相對(duì)應(yīng)的字符串,并以該字符串作為系統(tǒng)內(nèi)部數(shù)據(jù)。
[0017] 對(duì)應(yīng)地,本發(fā)明的技術(shù)方案還包括一種數(shù)據(jù)格式轉(zhuǎn)換器,其包括:
[0018] 外部數(shù)據(jù)轉(zhuǎn)換模塊,用于將系統(tǒng)外部數(shù)據(jù)的格式轉(zhuǎn)換成統(tǒng)一的XML對(duì)象;
[0019] 第一內(nèi)部數(shù)據(jù)轉(zhuǎn)換模塊,用于在配置有存儲(chǔ)了轉(zhuǎn)換規(guī)則的XSLT模板時(shí),將XML對(duì) 象作為XSLT模板的輸入數(shù)據(jù),并根據(jù)轉(zhuǎn)換規(guī)則,將XML對(duì)象轉(zhuǎn)換為預(yù)期的數(shù)據(jù)格式,再輸出 作為系統(tǒng)內(nèi)部數(shù)據(jù);
[0020] 第二內(nèi)部數(shù)據(jù)轉(zhuǎn)換模塊,用于在未配置存儲(chǔ)了轉(zhuǎn)換規(guī)則的XSLT模板時(shí),將XML對(duì) 象輸出成與系統(tǒng)內(nèi)部數(shù)據(jù)所要求的數(shù)據(jù)格式相對(duì)應(yīng)的字符串,并以該字符串作為系統(tǒng)內(nèi)部 數(shù)據(jù)。
[0021] 本發(fā)明的有益效果是:通過(guò)本發(fā)明,使內(nèi)部系統(tǒng)無(wú)需關(guān)心外部系統(tǒng)的數(shù)據(jù)格式,能 夠直接以內(nèi)部數(shù)據(jù)格式進(jìn)行業(yè)務(wù)處理,本發(fā)明的數(shù)據(jù)格式轉(zhuǎn)換方法及轉(zhuǎn)換器具有靈活的配 置性,能根據(jù)配置策略將數(shù)據(jù)透?jìng)?、格式轉(zhuǎn)換、數(shù)據(jù)提取,其主要的優(yōu)點(diǎn)包括以下三個(gè)部分。
[0022] -、通過(guò)適度拆分,將數(shù)據(jù)格式轉(zhuǎn)換部分與系統(tǒng)業(yè)務(wù)處理分離,程序功能分割更清 晰。
[0023] 二、數(shù)據(jù)格式轉(zhuǎn)換器具有動(dòng)態(tài)配置性,它能根據(jù)具體業(yè)務(wù)處理中需要的數(shù)據(jù)格式 進(jìn)行配置后轉(zhuǎn)換,應(yīng)用無(wú)需關(guān)心外部數(shù)據(jù)格式,減輕業(yè)務(wù)層面的數(shù)據(jù)處理復(fù)雜度。
[0024] 三、通過(guò)數(shù)據(jù)格式轉(zhuǎn)換器處理業(yè)務(wù)數(shù)據(jù)格式轉(zhuǎn)換,減輕系統(tǒng)針對(duì)業(yè)務(wù)數(shù)據(jù)格式轉(zhuǎn) 換專項(xiàng)開(kāi)發(fā)、處理的時(shí)間開(kāi)銷,提高處理效率。
【專利附圖】
【附圖說(shuō)明】
[0025] 圖1為本發(fā)明所述的數(shù)據(jù)格式轉(zhuǎn)換方法的流程示意圖;
[0026] 圖2為本發(fā)明實(shí)施例一中進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換的流程示意圖;
[0027] 圖3為本發(fā)明本發(fā)明實(shí)施例一中進(jìn)行外部數(shù)據(jù)格式轉(zhuǎn)換的流程示意圖;
[0028] 圖4為本發(fā)明本發(fā)明實(shí)施例一中進(jìn)行內(nèi)部數(shù)據(jù)格式轉(zhuǎn)換的流程示意圖;
[0029] 圖5為本發(fā)明實(shí)施例二中HTTP協(xié)議落地方適配器數(shù)據(jù)流圖。
【具體實(shí)施方式】
[0030] 以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并 非用于限定本發(fā)明的范圍。
[0031] 如圖1所示,實(shí)施例一給出了一種數(shù)據(jù)格式轉(zhuǎn)換方法,包括:
[0032] 步驟1,將系統(tǒng)外部數(shù)據(jù)的格式轉(zhuǎn)換成統(tǒng)一的XML對(duì)象;
[0033] 步驟2,若配置有存儲(chǔ)了轉(zhuǎn)換規(guī)則的XSLT模板,則將XML對(duì)象作為XSLT模板的輸 入數(shù)據(jù),并根據(jù)轉(zhuǎn)換規(guī)則,將XML對(duì)象轉(zhuǎn)換為預(yù)期的數(shù)據(jù)格式,再輸出作為系統(tǒng)內(nèi)部數(shù)據(jù);
[0034] 步驟3,若未配置存儲(chǔ)了轉(zhuǎn)換規(guī)則的XSLT模板,將XML對(duì)象輸出成與系統(tǒng)內(nèi)部數(shù)據(jù) 所要求的數(shù)據(jù)格式相對(duì)應(yīng)的字符串,并以該字符串作為系統(tǒng)內(nèi)部數(shù)據(jù)。
[0035] 基于上述三個(gè)基礎(chǔ)步驟,如圖2所示,具體的實(shí)施過(guò)程如下。
[0036] 一、系統(tǒng)外部數(shù)據(jù)轉(zhuǎn)換
[0037] 如圖3所示,判斷輸入的字符串?dāng)?shù)據(jù)(即系統(tǒng)外部數(shù)據(jù))格式是否XML格式,若系 統(tǒng)外部數(shù)據(jù)為XML格式,則直接將系統(tǒng)外部數(shù)據(jù)轉(zhuǎn)換成Document對(duì)象,否則判斷系統(tǒng)外部 數(shù)據(jù)是否為JSON格式;若系統(tǒng)外部數(shù)據(jù)為JSON格式,則將JSON格式的系統(tǒng)外部數(shù)據(jù)轉(zhuǎn)換 成XML對(duì)象,否則默認(rèn)系統(tǒng)外部數(shù)據(jù)為MML格式,并將MML格式的系統(tǒng)外部數(shù)據(jù)轉(zhuǎn)換成XML 對(duì)象。
[0038] Document對(duì)象為XML文檔在Java程序內(nèi)存中的描述對(duì)象,表示整個(gè)XML文檔,從 概念上講,它是文檔樹(shù)的根,并提供對(duì)文檔數(shù)據(jù)的基本訪問(wèn)。
[0039] 將JSON格式的系統(tǒng)外部數(shù)據(jù)轉(zhuǎn)換成XML對(duì)象具體包括:將JSON格式的系統(tǒng)外部 數(shù)據(jù)映射成XML字符串,將XML字符串映射成Document對(duì)象,形成XML對(duì)象。
[0040] 將MML格式的系統(tǒng)外部數(shù)據(jù)轉(zhuǎn)換成XML對(duì)象具體包括:將MML格式的系統(tǒng)外部數(shù) 據(jù)映射成Map鍵值對(duì),將Map鍵值對(duì)映射成XML字符串,再將XML字符串映射成Document 對(duì)象,形成XML對(duì)象。
[0041] 具體的程序?qū)崿F(xiàn)過(guò)程,舉例如下:
[0042]
【權(quán)利要求】
1. 一種數(shù)據(jù)格式轉(zhuǎn)換方法,其特征在于,包括: 步驟1,將系統(tǒng)外部數(shù)據(jù)的格式轉(zhuǎn)換成統(tǒng)一的XML對(duì)象; 步驟2,若配置有存儲(chǔ)了轉(zhuǎn)換規(guī)則的XSLT模板,則將XML對(duì)象作為XSLT模板的輸入數(shù) 據(jù),并根據(jù)轉(zhuǎn)換規(guī)則,將XML對(duì)象轉(zhuǎn)換為預(yù)期的數(shù)據(jù)格式,再輸出作為系統(tǒng)內(nèi)部數(shù)據(jù); 步驟3,若未配置存儲(chǔ)了轉(zhuǎn)換規(guī)則的XSLT模板,將XML對(duì)象輸出成與系統(tǒng)內(nèi)部數(shù)據(jù)所要 求的數(shù)據(jù)格式相對(duì)應(yīng)的字符串,并以該字符串作為系統(tǒng)內(nèi)部數(shù)據(jù)。
2. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)格式轉(zhuǎn)換方法,其特征在于,所述步驟1具體包括:若系 統(tǒng)外部數(shù)據(jù)為XML格式,則直接將系統(tǒng)外部數(shù)據(jù)轉(zhuǎn)換成Document對(duì)象,否則判斷系統(tǒng)外部 數(shù)據(jù)是否為JS0N格式;若系統(tǒng)外部數(shù)據(jù)為JS0N格式,則將JS0N格式的系統(tǒng)外部數(shù)據(jù)轉(zhuǎn)換 成XML對(duì)象,否則默認(rèn)系統(tǒng)外部數(shù)據(jù)為MML格式,并將MML格式的系統(tǒng)外部數(shù)據(jù)轉(zhuǎn)換成XML 對(duì)象。
3. 根據(jù)權(quán)利要求2所述的數(shù)據(jù)格式轉(zhuǎn)換方法,其特征在于,將JS0N格式的系統(tǒng)外部數(shù) 據(jù)轉(zhuǎn)換成XML對(duì)象具體包括:將JS0N格式的系統(tǒng)外部數(shù)據(jù)映射成XML字符串,將XML字符 串映射成Document對(duì)象,形成XML對(duì)象。
4. 根據(jù)權(quán)利要求2所述的數(shù)據(jù)格式轉(zhuǎn)換方法,其特征在于,將MML格式的系統(tǒng)外部數(shù)據(jù) 轉(zhuǎn)換成XML對(duì)象具體包括:將MML格式的系統(tǒng)外部數(shù)據(jù)映射成Map鍵值對(duì),將Map鍵值對(duì)映 射成XML字符串,再將XML字符串映射成Document對(duì)象,形成XML對(duì)象。
5. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)格式轉(zhuǎn)換方法,其特征在于,所述步驟2中將XML對(duì)象轉(zhuǎn) 換為預(yù)期的數(shù)據(jù)格式,再輸出作為系統(tǒng)內(nèi)部數(shù)據(jù),具體包括:若轉(zhuǎn)換后的數(shù)據(jù)為XML格式, 則將該XML格式的數(shù)據(jù)直接輸出成XML字符串作為系統(tǒng)內(nèi)部數(shù)據(jù),否則判斷轉(zhuǎn)換后的數(shù)據(jù) 是否為JS0N格式,若是則將JS0N格式的數(shù)據(jù)轉(zhuǎn)換成JS0N對(duì)象,并輸出成JS0N字符串,以 JS0N字符串作為系統(tǒng)內(nèi)部數(shù)據(jù),否則將轉(zhuǎn)換后的數(shù)據(jù)默認(rèn)為MML格式,并直接輸出成MML字 符串作為系統(tǒng)內(nèi)部數(shù)據(jù)。
6. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)格式轉(zhuǎn)換方法,其特征在于,所述步驟3具體包括:若系 統(tǒng)內(nèi)部數(shù)據(jù)所要求的數(shù)據(jù)格式為XML格式,則將XML對(duì)象輸出成XML字符串,并作為系統(tǒng)內(nèi) 部數(shù)據(jù),否則判斷系統(tǒng)內(nèi)部數(shù)據(jù)所要求的數(shù)據(jù)格式是否為JS0N格式,若是,則將XML對(duì)象轉(zhuǎn) 換成JS0N對(duì)象,并輸出成JS0N字符串,作為系統(tǒng)內(nèi)部數(shù)據(jù),否則默認(rèn)系統(tǒng)內(nèi)部數(shù)據(jù)所要求 的數(shù)據(jù)格式為MML格式,并將XML對(duì)象元素以MML鍵值對(duì)方式輸出成MML字符串,作為系統(tǒng) 內(nèi)部數(shù)據(jù)。
7. -種數(shù)據(jù)格式轉(zhuǎn)換器,其特征在于,包括: 外部數(shù)據(jù)轉(zhuǎn)換模塊,用于將系統(tǒng)外部數(shù)據(jù)的格式轉(zhuǎn)換成統(tǒng)一的XML對(duì)象; 第一內(nèi)部數(shù)據(jù)轉(zhuǎn)換模塊,用于在配置有存儲(chǔ)了轉(zhuǎn)換規(guī)則的XSLT模板時(shí),將XML對(duì)象作 為XSLT模板的輸入數(shù)據(jù),并根據(jù)轉(zhuǎn)換規(guī)則,將XML對(duì)象轉(zhuǎn)換為預(yù)期的數(shù)據(jù)格式,再輸出作為 系統(tǒng)內(nèi)部數(shù)據(jù); 第二內(nèi)部數(shù)據(jù)轉(zhuǎn)換模塊,用于在未配置存儲(chǔ)了轉(zhuǎn)換規(guī)則的XSLT模板時(shí),將XML對(duì)象 輸出成與系統(tǒng)內(nèi)部數(shù)據(jù)所要求的數(shù)據(jù)格式相對(duì)應(yīng)的字符串,并以該字符串作為系統(tǒng)內(nèi)部數(shù) 據(jù)。
8. 根據(jù)權(quán)利要求7所述的數(shù)據(jù)格式轉(zhuǎn)換器,其特征在于,所述外部數(shù)據(jù)轉(zhuǎn)換模塊將系 統(tǒng)外部數(shù)據(jù)的格式轉(zhuǎn)換成統(tǒng)一的XML對(duì)象具體包括:若系統(tǒng)外部數(shù)據(jù)為XML格式,則直接 將系統(tǒng)外部數(shù)據(jù)轉(zhuǎn)換成XML對(duì)象,否則判斷系統(tǒng)外部數(shù)據(jù)是否為JSON格式;若系統(tǒng)外部數(shù) 據(jù)為JS0N格式,則將JS0N格式的系統(tǒng)外部數(shù)據(jù)轉(zhuǎn)換成XML對(duì)象,否則默認(rèn)系統(tǒng)外部數(shù)據(jù)為 MML格式,并將MML格式的系統(tǒng)外部數(shù)據(jù)轉(zhuǎn)換成XML對(duì)象。
9.根據(jù)權(quán)利要求7所述的數(shù)據(jù)格式轉(zhuǎn)換器,其特征在于,所述第一內(nèi)部數(shù)據(jù)轉(zhuǎn)換模塊 將XML對(duì)象轉(zhuǎn)換為預(yù)期的數(shù)據(jù)格式,再輸出作為系統(tǒng)內(nèi)部數(shù)據(jù),具體包括:若轉(zhuǎn)換后的數(shù)據(jù) 為XML格式,則將該XML格式的數(shù)據(jù)直接輸出成XML字符串作為系統(tǒng)內(nèi)部數(shù)據(jù),否則判斷轉(zhuǎn) 換后的數(shù)據(jù)是否為JS0N格式,若是則將JS0N格式的數(shù)據(jù)轉(zhuǎn)換成JS0N對(duì)象,并輸出成JS0N 字符串,以JS0N字符串作為系統(tǒng)內(nèi)部數(shù)據(jù),否則將轉(zhuǎn)換后的數(shù)據(jù)默認(rèn)為MML格式,并直接輸 出成MML字符串作為系統(tǒng)內(nèi)部數(shù)據(jù)。
【文檔編號(hào)】G06F17/21GK104391826SQ201410602663
【公開(kāi)日】2015年3月4日 申請(qǐng)日期:2014年10月31日 優(yōu)先權(quán)日:2014年10月31日
【發(fā)明者】劉 東 申請(qǐng)人:北京思特奇信息技術(shù)股份有限公司