您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 综合/其它 > witsml简单介绍
WITSML简介WITSML(WellsiteInformationTransferStandardMarkupLanguage)井场信息传递标准标记语言为什么需要WITSML?近年来数字油田的概念已经形成,而数字井场是数字油田的基础,数字井场的一个关键就是井场数据的传输。WITSML因此应需而生。3什么是WITSML?•油田传输数据的开放标准•实现井场服务公司和油公司之间信息的实时无缝连接,加快信息交换,提高决策能力。•继石油与天然气工业全球化之后,共同分享现场模式的关键一步。WITSML前身WITS(WellsiteInformationTransferSpecification)井场信息传输规范(WITS)是一种通信格式,它应用于从一个计算机系统向另一个计算机系统传输各种各样的井场数据。在石油工业的勘探和开发领域中,它作为一种推荐格式,使作业和服务公司,既可以在联机状态下,也可以批传递方式进行数据交换。在上世纪八十年代开始设计与应用,20多年来,一直用于共享信息和远程控制。WITS的特点(1)WITS是一种多级格式,它提供一个容易实现的具有灵活性不断增加的较高级别的进入点。在低级别时,使用一种固定格式的数据流;而在高级别时,可应用一种自定义的定制的数据流。WITS0级是ASCII码格式数据值的单向传输组成。WITS0级以上传送的是二进制流,很少使用。WITS的特点(2)WITS数据流由不连续的数据记录组成。每个数据记录的产生都是独立于其它数据类型,并且每个数据记录都有唯一的触发变量和采样间距。通常,钻机动作决定了在其一给定时间内使用哪个记录,以便只有合适的数据被传输。WITS的特点(3)WITS还包括远程计算机系统向发送系统发送指令的方式,以便设置或改变某些参数,其中包括传输的数据类型和传输间距。WITS的特点(4)除规定了数据传输格式外,WITS还定义了25个数据类型。(详细信息)9WITS0级是由从一个计算机系统到另一个计算机系统的ASCII码格式数据值的单向传输组成。这个级别的基本用意是为服务公司在井场进行数据交换提供一个简单的方法。WITS0级介绍零级传输会话由一组数据集组成,数据集表示一组相关的数据项。一个数据集可以仅由一项组成,也可以括很多项。事实上,连续的数据集可以包含不同的项目号。一个数据集以一对表AND(&&)的字符(HEX26)开始,跟着是一个回车及换行(HEXOD,OA)。一个数据集以一对惊叹号(!!)(HEX21)和一个回车及换行结束。数据项由一个回车及换行分开。WITS0级介绍包含4个数据项的数据集&&CRLF08133561.35CRLF0815.97CRLF数据集108213565.13CRLF082387.1CRLF!!CRLF&&CRLF08133561.61CRLF0815.02CRLF数据集208213565.39CRLF0823100.4CRLF!!CRLFWITS0级介绍WITS的局限性2002年,LankMark公司的一位专家说:原来的WITS的二进制文件,形式太多,实际上没有标准,没有井场和陆上办公室之间的数据兼容性。WITS规范目前的局限性在于:1、过时的MWD数据记录2、数据是记录驱动的,而不是面向对象的3、WITS记录可扩展,却不能自我描述4、二进制数据格式不能跨平台使用5、……基于这样,油公司和服务公司共同协商的结果就形成WITSML。WITSVSWITSMLAWITSMLDataStreamnameWellTEST/nameWellnameWellbore1/nameWellboreindexTypeDepth/indexTypestartIndex7051.0/startIndexendIndex7851.0/endIndexindexCurveDMEA/indexCurvestepIncrement1.5/stepIncrementindexUnitsFT/indexUnitslogCurveInfocurveDescriptionMeasuredDepth/curveDescriptionmnemonicTIME/mnemonicunitS/unitnullValue-999.2500/nullValue/logCurveInfologCurveInfocurveDescriptionTime/curveDescriptionmnemonicACTC/mnemonicunit/nullValue-999.2500/nullValue/logCurveInfoAWITS0DataStream&&0201OperatorName1-5a0202102031520204169902270.973022888710229484!!&&1401OperatorName1-5a14021140888711419-9.25142026614211484!!6WITSML=WITS+XML结论WITSML的产生WITSML项目启动于2002年,最先参加这一项目的是油公司BP和Statoil,后来,陆续一些公司也加入这一项目。WITSML的目的在井眼修建过程中,不同的服务公司将提供井场数据监测和采集服务,以收集工程数据,地质数据,每日报告数据以及来自随钻测井(LWD)和随钻测量(MWD)工具的测井数据。石油公司项目组需要使用各类不同的处理软件及时分析这些数据WTISML提供一种更好的石油行业标准,使井场的服务公司,在井眼建设、设计和执行阶段,不用考虑数据的来源,就能与石油公司基地的软件系统进行无缝的数据交换。18PartnersServicecompaniesWITSML应用示例图•Mudlogging•LWD•Other…Corporate:Office:Replication关于SIG2002年6月,WITSML工作指导委员会原则上同意把钻井部分的技术规范交给POSC(石油技术开放标准协会)这样,WITSML使用者委员会,就成了POSCWISTML的一个特别利益组织,简称SIG(SepcialInterestGroup)部分SIG成员WITSML标准的内容•数据架构(DataSchema)•应用程序接口(ApplicationProgramInterface)DataSchema一个正确的XML文档一般要求具有良构性和有效性,良构性是指XML文档符合XML的基本语法,而有效性则由Schema来控制,XMLSchema对数据进行定义和约束。WITSML是使用XML文档来在计算机系统之间发送井信息的,DataSchema用来定义XML文档的有效性的。XML文档?xmlversion=1.0?notetoGeorge/tofromJohn/fromheadingReminder/headingbodyDon'tforgetthemeeting!/body/noteSchema?xmlversion=1.0?xs:schemaxmlns:xs====qualifiedxs:elementname=notexs:complexTypexs:sequencexs:elementname=totype=xs:string/xs:elementname=fromtype=xs:string/xs:elementname=headingtype=xs:string/xs:elementname=bodytype=xs:string//xs:sequence/xs:complexType/xs:element/xs:schemaWITSMLdataschemaWITSMLdataschema由一组相互独立但又有联系的dataobjectschema组成。一个dataobjectschema定义了一套可以使用XML进行传输的数据集。(详细信息)WITSMLAPIWITMSLAPI定义了在计算机系统之间交换数据动态的高级协议。WITSMLAPI是平台无关的,具有函数调用功能的程序设计语言都可以使用WITSMLAPI。WITSML定义了函数调用的语法,规定了参数的类型和返回值。WITSMLAPI版本WITSMLAPIWITSMLAPI定义了两种类型的接口STORE(Client/ServerorWMLS)客户/服务器架构下的存储接口PUBLISH(Subscribe/PublishorWMLP)订阅/发布接口它们都设计为web服务,在WSDL(web服务描述语言)文件中描述了这些接口。用SOAP(简单对象访问协议)来实施API,并将其部署到HTTP(超文本传输协议)或安全系统HTTPS的上方。什么是WebServices?从表面上看,Webservice就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web来调用这个应用程序。我们把调用这个Webservice的应用程序叫做客户。Webservice提供的接口可以通过WSDL文档查看。WSDL(WebServiceDescriptionLanguage)Web服务器描述语言是用XML文档来描述Web服务的标准,是Web服务的接口定义语言。(示例)对客户端来说,WSDL定义了可以调用的方法和传递的参数信息。什么是SOAP?简单对象访问协议(SOAP)是一种轻量的、简单的、基于XML的协议,它被设计成在WEB上交换结构化的和固化的信息。SOAP可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP)等…。SOAP协议实现APISTORE接口(客户/服务器)该接口将提供从数据存储到客户端应用程序的输入和输出读写功能。涵盖存储接口的功能有获取、新增、更新和删除。为了从服务器读取数据,客户端应用程序发出一个请求,对一个或多个WITSML对象进行询问。随后,服务器将用客户端所支持的属性来返回与请求匹配的WITSML对象。实际上由部分填补的WITSML对象模板组成了查询语言。该语言为“拉”架构,客户端应用程序将发起并控制每一个WITSML对象交换。主要的API•向WITSML服务器写数据•在WITSML服务器删数据•从WITSML服务器取数据•从WITSML服务器取提供的功能说明(示例)取数据示例Publish接口(订阅/发布接口)接口可以视为通知服务,它采取“推”架构:数据用户应用程序(订阅者)将一个订阅对象发送到服务器(发布者)。订阅定义了订阅者希望从发布者接受到的对象清单。然后,只要满足订阅触发标准,订阅者将等待发布者定期向它发送请求对象。指定WITSML对象的新增、更新或删除都会触发数据对象的发送。Publish接口为SubscriberApplication提供了三个功能:查询可发布的数据对象请求要接受的数据对象在Publisher保存请求描述Publish接口的功能主要API•处理订阅者的请求信息PUBLISH接口实现实时数据示例订阅者向发布者请求的过程请求过程说明(1)WMLP_GetCap调用,获取Publisher提供的数据对象。查看结果WMLS_GetFromStore调用,形式如下:请求过程说明(2)调用后,可获取实时数据的通道请求调用SubscriptionIn参数请求过程说明(3)Publish接口实现实时数据示例发布者向订阅者发送实时数据的过程Pub
本文标题:witsml简单介绍
链接地址:https://www.777doc.com/doc-7320164 .html