海岸线数据共享分类编码与数据结构

2024-04-24

海岸线数据共享分类编码与数据结构(精选8篇)

篇1:海岸线数据共享分类编码与数据结构

海岸线数据共享分类编码与数据结构

按照海岸线的自然属性和社会属性对海岸线进行了分类和编码,并探讨了特征点和海域空间管理界线等海岸线辅助要素的`分类及编码规则,最后建立了海岸线数据共享空间数据库的分层及属性表结构框架.

作 者:刘林 吴桑云 王文海 田梓文 LIU lin WU Sang-yun WANG Wen-hai TIAN Zi-wen  作者单位:国家海洋局,第一海洋研究所,山东,青岛,266061 刊 名:海洋测绘  ISTIC英文刊名:HYDROGRAPHIC SURVEYING AND CHARTING 年,卷(期): 28(2) 分类号:P208 关键词:海岸线   数据共享   分类编码   标准   数据库  

篇2:海岸线数据共享分类编码与数据结构

通过对环境背景数据分类编码进行研究,形成如下主要结论:以环境背景数据为研究对象,在综合考察数据对象的地学基础、语义时间、存储格式、记载介质、负责机构、专题信息等属性特征的基础上,提出完整的环境背景数据概念;在以地球信息科学为技术支撑的陆地系统科学中,强调环境背景数据的分类编码应侧重从宏观角度实现环境背景数据的发现,“综合为体,分类为用”是环境背景数据分类及编码的意义所在;结合国家标准<地理数据-元数据>的具体实施,着重讨论分类编码的贯彻实施应以元数据为标准载体,在统一的`环境背景数据分类编码一时无法确定的阶段,可以利用核心元数据中的关键字字段实现分类编码的间接引用,确保元数据标准对不同系列分类编码的兼容并包.

作 者:刘劲松 陈辉 高吉喜 LIU Jin-song CHEN Hui GAO Ji-xi 作者单位:刘劲松,LIU Jin-song(河北师范大学,资源与环境科学学院,河北,石家庄,050016;中国环境科学研究院,区域生态创新基地,北京,100012)

陈辉,CHEN Hui(河北师范大学,资源与环境科学学院,河北,石家庄,050016)

高吉喜,GAO Ji-xi(中国环境科学研究院,区域生态创新基地,北京,100012)

篇3:海岸线数据共享分类编码与数据结构

在政府各职能部门的大量业务信息中, 约80%的信息都与地理空间位置密切相关, 这些非空间数据资源都具有具体发生地的描述信息或标识信息, 例如行政区划、自然地理区域、地址、电话号码等, 这类信息是非空间数据资源与空间数据发生联系的关键所在。可以通过建设地名地址数据库, 提供地址匹配功能, 实现非空间数据的空间化, 简单地说, 就是给某一地址制定地图坐标, 从而使该地址所代表的地理实体在地图上的现实。

1) 分类

地名地址的分类至少应当包括行政区域地名, 标志物名 (兴趣点名) 、门牌地址及所在道路名称等类。

行政区域地名至少细分为市 (地区、自治州、盟) 级、县 (区、县级市) 级、乡 (镇、街道) 三级子类。

兴趣点名至少分为制造企业、交通运输和邮政、信息传输和计算机服务、零售和批发、住宿和餐饮, 金融和保险、房地产、商务服务、居民服务、教育科研、卫生社会保障和社会福利、文化体育娱乐、公共管理和社会组织等13个子类。

门牌地址至少分为XX街XX号。

所在道路名称为标志物名所在道路名称。

2) 描述规则

地名地址分三段描述, 第一段为行政区域地名, 由三级行政区域地名构成;第二段为兴趣点名或标志物名;第三段为门牌地址。第四段为兴趣点名或标志物所在道路名称;第五段为地理坐标信息。

地名地址编码规则如下:

行政区域名|标志物名|门牌地址|所在道路名|地理坐标

3) 地理位置坐标

地名地址地理空间位置表示采用其对应空间实体的中心点坐标表示, 坐标信息的获取可以从基础地理信息标准数据中采集或通过外业测量采集。

4) 数据加工

新疆维吾尔自治区地理信息中心已在数字石河子项目中建设完成了地名地址库的建设工作, 依据地名的命名规则和性质, 建立了以下5类地名数据:

*路名门牌:以所依附的道路实体名称和流水编号而获得命名的地名。如北四路路15号, 北三路路2-3号。

*行政区划:各级行政区划范围及驻地名称, 含市、区、街道 (乡镇政府) 、社区 (村) 。如下城区政府、天水街道、灯芯巷社区。

*楼宇地名:具有重大影响、知名度高或标志性的建筑物名称。如石河子市军垦博物馆。

*企事业单位:具有地理定位意义的企事业单位范围及名称。如学校、大型企业、事业单位。

*其余地名:含自然地物 (山、河) 名, 人文景观 (公园、水库) 名, 小区名等。如玛纳斯河、第十九小区等。

需要对该成果数据按《地名地址数据规范》的相关要求进行加工处理, 为地址匹配服务奠定数据基础。

5) 地名地址数据采集流程

1、收集并分析与地名地址相关现有影像及文字资料

A、现实性比较好的0.6米高分辨率卫星影像数据

B、当地各种比例尺地名库 (1:10000、1:50000)

C、地名办的地名数据 (民政部门)

2、分析并处理收集到得数据

对收集到的高分辨率影像或者大比例尺地形图进行几何纠正, 将其坐标误差控制在0.05m范围以内。

3、利用地理信息软件进行地名地址数据匹配

通过ArcGIS创建符合规则的地名地址匹配器, 将当地地名办收集到的数据与各种比例尺地名库数据做初次地名地址匹配。

4、数据采集

(1) 使用收集到的影像数据作为地名地址数据采集的底图, 在当地地名办与当地工作人员 (熟悉当地情况) 配合, 将地名地址数据 (地名办收集的无地理坐标) 中兴趣点名或标志物名与影像数据做一一对应, 技术人员通过ArcGIS等地理信息系统软件在底图上采点, 以确定地名地址的空间位置并赋予相应的属性。

(2) 使用收集到的影像数据作为地名地址数据采集的底图, 在当地与国土、测绘、建设规划或社区街道等相关部门 (建议最好具体到街道社区一级, 因为其工作人员对辖区更为熟悉) 合作, 将各部门手中所掌握的地名地址数据 (例:石河子市国土局各街道分局将石河子市各街道地籍图作为采集基础数据) 中兴趣点名或标志物名与影像数据做一一对应, 技术人员通过ArcGIS等地理信息系统软件在底图上采点, 以确定地名地址的空间位置并赋予相应的属性。

5、现场采集+野外调绘地名地址数据

对于底图数据上不能确认或者不熟悉的地名地址及无门牌号的地名地址, 应采取现场采集+野外调绘的方式进行采集, 采集完后将其与通过软件采集的数据进行合并处理。

6、地名地址数据的规范化处理

对于采集的地名地址数据需要规范化处理, 主要是包括属性项和数据的空间坐标系。需要规范化处理的属性项包括:标准地址名称、地址代码、地理实体名称、地址分类代码。这些属性的规范化需要参照《地名地址数据规范 (试行稿-20100125版) 》、《GB/T18521-2001地名分类与类别代码编制规则》以及规范中涉及到的其他规范。

摘要:地名地址数据是专业或社会经济信息与地理空间信息通过地理编码或地址匹配进行挂接的媒介与桥梁, 在数字城市建设的过程中起到了不可或缺的重要作用。

关键词:地理位置坐标,数据加工,数据采集

参考文献

篇4:大数据思维与共享经济

为什么会发生这样的改变?我认为是数据化,数据化在驱动共享经济的发展。数据化就是我们今天一切的商务过程、一切的生活都在被数据记录下来,都在变成数据。我对大數据有个定义,数据不仅仅是测量,还是记录。传统的数据是测量,比如测量气温把它变成数据;今天的数据是记录,消费一次酒店、吃一顿饭都会被记录下来。今天的数据爆炸不是测量数据的爆炸,是记录数据的爆炸。记录的手段变得越来越廉价,越来越普及,导致了现在的爆炸。

数据化怎么驱动共享经济?把供方和需方数据化,然后放在一个平台上。平台可以把正确的数据、用正确的方式、传递给正确的人,完成快速匹配的过程。但前提是要把“供”和“需”数据化。

篇5:数据的编码与处理技术

在编程实践中,对于信息的显示、传输、加密与解密等方面的问题,经常需要对相同含义的数据采用不同的表示方法,即编码。例如,对于人们日常使用的中文短信,一般采用PDU模式对信息进行编码(结果为16进制字符串),其中,需要求出中文汉字的Unicode编码。表1是字节0x41、0x39、0x6d、0x0d与0的不同表示方法,后两个字节是不可见字符,所以用“-”表示。但是,通过将“16进制字节”转换为“16进制字符串”,可以将不可见的字符(串)变成可见的16进制字符串。特别地,在Visual Basic和C系列的编程语言中,用NULL(即字节0)表示字符串的结尾,如果在数据传输过程中收到的数据中间部分有字节0,那么,后面的数据就会被截断。如果将收到的数据转换为16进制字符串,所有数据都可以显示,同时,也可以充分利用Visual Basic丰富的字符串处理函数来分析处理数据。由于Visual Basic 6.0无法在Vista以上的操作系统中运行,在文献[1]的基础上,利用Visual Basic 2008 Express Edition工具,实现了文献[1]中的所有功能,并做了改进和扩充。

2 枚举类型和常量的定义

普通的调制解调器使用AT命令进行工作,传输的数据都是可见字符和回车换行符号,一般使用字符形式进行显示。如果用一个字节表示8个开关的状态,肯定会出现不可见字符,因而,必须采用16进制字符串来显示数据。DisplayMode枚举型的CharMode表示以普通字符串的形式显示数据,HexMode表示以16进制字符串显示数据。

Public Enum DisplayMode

CharMode=0

HexMode=1

End Enum

字符串常量HEX_CHAR_SET是模块内部使用的,因而,定义为私有类型。通过String对象HEX_CHAR_SET的IndexOf方法,可以很方便地计算出一个16进制字符(如“C”)对应的数字(如12),避免了求取ASCII码后再做调整的麻烦。

PrivateConstHEX_CHAR_SETAsString="0123456789ABCDEF"

一个英文字母对应一个ASCII码,一个汉字则对应一个Unicode编码,前者是一个字节,后者是两个字节。既然Unicode是两个字节,就涉及到高字节和低字节的顺序问题。这就需要引入System.Text命名空间,利用其ASCIIEncoding类的GetString方法将字节数组转换为英文字符串,利用GetBytes方法将英文字符串转换为字节数组。另外,UnicodeEncoding类用来处理中文信息,如果初始化时bigEndian为True时表示顺序存放,即高字节在前,低字节在后;bigEndian为False时表示逆序存放,即低字节在前,高字节在后。

3 16进制字符串的预处理

对于16进制字符串“3D2A”,为了便于阅读,中间加一个空格写成“3D 2A”将更好;如果写成“3D2a”就显得不整齐了,空格写错地方变成“3D2 a”就乱了。对16进制字符串进行预处理,就是将各种形式的16进制字符串规范化成大写且中间没有空格的16进制字符串,这样,便于将每两个16进制字符转换为一个字节。

String对象的TrimEnd方法只能删除字符串尾部的指定字符,TrimStart方法只能删除首部的指定字符,Trim方法只能删除首尾的指定字符,这些方法都不能删除中间的指定字符。TrimAllChar方法可以删除字符串strVal中的所有指定字符chVar。如果strVal中没有指定字符chVar,则直接返回strVal。否则,调用String类的Split方法,以chVar为分隔符,结果中删除空项,将strVal分割为子字符串组成的数组,并存放到临时字符串数组strTmp中,最后用String类的静态方法Join将strTmp数组中的子字符串连接起来,保存到strResult变量中,并返回该变量。在本模块中,调用TrimAllChar方法删除16进制字符串中的空格,因而,第二个参数应该为一个空格字符。

Public Function TrimAllChar(ByVal strVal As String,ByVal chVar As String)As String

Dim strTmp()As String

Dim strResult As String=""

If strVal.Contains(chVar)=False Then Return strVal

strTmp=strVal.Split(chVar.ToCharArray,_

System.StringSplitOptions.RemoveEmptyEntries)strResult=String.Join("",strTmp)

Return strResult

End Function

16进制字符串与16进制字节(数组)相对应,两个16进制字符对应一个字节,因而,对于字节3,对应的16进制字符串应该是“03”,同理,16进制字符串应该包含偶数个16进制字符。GetEvenHexChars方法删除16进制字符串中最后一个不成对的字符(如果存在的话)。首先计算字符串strVal的长度,如果模2余1,表示字符串长度为单数,则减去1变成偶数。如果减1后,长度变为0,则返回空字符串,否则,取源字符串strVal中的子字符串,并返回该子字符串。

Public Function GetEvenHexChars(ByVal strVal As String)As String

Dim n As Integer

n=strVal.Length

If n Mod 2=1 Then n-=1

If n=0 Then

Return""

Else

Return strVal.Substring(0,n)End If

End Function

NormalizeHexChars方法完成16进制字符串的综合标准化,首先调用TrimAllChar方法删除其中的所有空格,然后,调用GetEvenHexChars方法将字符串个数变成偶数,最后,调用String对象的ToUpper方法转换为大写。

Public Function NormalizeHexChars(ByVal strHexChars As String)As String

Return GetEvenHexChars(TrimAllChar(strHexChars,"")).ToUpper

End Function

4 16进制字符串中插入或删除空格

将16进制字符串转换为16进制字节(数组),最好能提供标准化的16进制字符串。但是,为了便于阅读,应该每两个16进制字符之间插入一个空格,Debug工具显示内存字节的时候,就是这么做的。InsertSpaceToHexChars方法完成这一功能,首先,规范化16进制字符串,然后,在一个For循环中,依次读取源字符串中的两个字符,插入一个空格,最后调用Trim方法删除尾部空格并返回结果。

Public Function InsertSpaceToHexChars(ByVal strHexChars As String)As String

Dim nLen As Integer

Dim strTmp As String=""

Dim I As Integer

strHexChars=NormalizeHexChars(strHexChars)

nLen=strHexChars.Length

For I=0 To nLen/2-1

strTmp&=strHexChars.Substring(I*2,2)+""Next I

Return strTmp.Trim

End Function

InsertSpaceToHexChars方法的相反功能就是删除16进制字符串中的空格,这可以直接通过NormalizeHexChars方法来实现,但是,为了便于记忆,设置一个DeleteSpaceFromHexChars方法,来调用NormalizeHexChars方法。

Public Function DeleteSpaceFromHexChars(ByVal strHexChars As String)As String

Return NormalizeHexChars(strHexChars)End Function

5 字节(数组)转换为16进制字符串

ByteToTwoHexChars方法实现一个字节到两个16进制字符的转换,例如,将字节0x3d转换为“3D”。ByteToTwoHexChars方法主要使用了数据的格式化处理知识,格式字符“X2”表示两位16进制字符。

Public Function ByteToTwoHexChars(ByVal iVal As Integer)As String

'from 0x3d to"3D"

iVal=iVal And&HFF

Return iVal.ToString("X2")End Function

TwoBytesToHexChars方法实现将两个字节转换为一个16进制字符串,与ByteToTwoHexChars方法的原理类似。TwoBytesToHexChars方法主要用于将双字节长度的数据转换为16进制字符串。

Public Function TwoBytesToHexChars(ByVal iVal As Long)As String

'from 0x3d2c to"3D2C"

iVal=iVal And&HFFFF

Return iVal.ToString("X4")End Function

在信息传输过程中,一般需要将接收到的数据进行累加,最后作为一个整体进行处理。将原始的两个字节数组连接起来,没有连接两个字符串方便,BytesToHexChars方法主要用于将原始字节数组以16进制字符串的形式进行保存。BytesToHexChars方法调用ByteToTwoHexChars方法,依次将一个字节转换为两个16进制字符,然后连接起来。

Public Function BytesToHexChars(ByRef byteArray As Byte())As String

Dim I As Integer

Dim strHexChars As String=""

For I=0 To byteArray.Length-1

strHexChars&=ByteToTwoHexChars(byteArray(I))

Next I

Return strHexChars End Function

616进制字符串转换为字节(数组)

要将16进制字符串转换为字节,首先需要将16进制字符转换为对应的数值。例如,将“A”转换为整数10、“9”转换为整数9等。HexCharToNum方法利用16进制字符集常量HEX_CHAR_SET的IndexOf方法获取转换值,第二个参数表示忽略大小写,因而,无论对于字符“A”或“a”都能得到结果10。如果给定的字符不是16进制字符,将返回0。

Public Function HexCharToNum(ByVal cVal As String)As Byte

Dim bData As Byte

If cVal.Length<>1 Then Return 0

b Data=HEX_CHAR_SET.IndexOf(cVal,_

StringComparison.CurrentCultureIgnore-Case)

Return bData End Function

实现了将16进制字符转换为数值后,对于"A7",只要将第一个字符转换所得数值乘以16再加上第二个字符转换所得数值即可得到字节,TwoHexCharsToByte方法实现这一功能。

Public Function TwoHexCharsToByte(ByVal strHexChars As String)As Byte

'from"3D"to 3*16+13

Dim nHex0 As Byte

Dim nHex1 As Byte

strHexChars=NormalizeHexChars(strHexChars)If strHexChars.Length<>2 Then Return 0

nHex1=HexCharToNum(strVal.Substring(0,1))

nHex0=HexCharToNum(strVal.Substring(1,1))

Return nHex1*16+nHex0End Function

HexCharsToBytes方法将16进制字符串转换为字节数组,主要调用TwoHexCharsToByte方法,将每两个16进制字符转换为一个字节,存入字节数组。

Public Function HexCharsToBytes(ByVal strHexChars As String)As Byte()

Dim I As Integer

Dim nLength As Integer

Dim bBytes()As Byte

If strHexChars=""Then Return Nothing

strHexChars=NormalizeHexChars(strHexChars)

'规范化

nLength=strHexChars.Length/2'求得字节长度

ReDim bBytes(nLength-1)'可变数组保存字节序列

For I=0 To nLength-1

bBytes(I)=TwoHexCharsToByte((strHexChars.Substring(I*2,2)))

Next I

Return bBytes End Function

7 普通字符串与16进制字符串之间的相互转换

字符“1”的ASCII码为16进制0x31,普通字符串转换为16进制字符串,就是将字符"1"转换为16进制字符串“31”。同样的道理,字符串“AB”转换为“4142”。将普通字符串转换为16进制字符串,是为了处理数据方便,例如,对于不可见字符,如何输入?可以将可见字符转换成16进制字符串,将不可见字符的16进制字符串(如“00”)插入其中,并进一步将16进制字符串转换为字节流,从而进行数据的传输。

StringToHexChars方法的主要原理是调用ASCIIEncoding对象的GetBytes方法,将普通字符串转换为字节数组,然后,调用BytesToHexChars方法将字节数组转换为16进制字符串。

Public Function StringToHexChars(ByVal strVal As String,Optional ByVal bigEndian_

As Boolean=True)As String)As String'from"1"to"31"

Dim ascEncode As ASCIIEncoding=New ASCIIEncod-ing

Return BytesToHexChars(ascEncode.GetBytes(strVal))End Function

HexCharsToString方法实现将16进制字符串转换为普通字符串,例如,将16进制字符串“4142”转换为字符串“AB”,就是将16进制字符串转换为普通字符串的实例。这种转换也是为了处理数据方便,可以将从通信端口接收到的字节流转换为16进制字符串,从而,根据需要进一步转换为普通字符串。转换原理就是先调用HexCharsToBytes方法将16进制字符串转换为字节数组,然后,调用ASCIIEncoding对象ascEncode的GetString方法将字节数组转换为对应的普通字符串。

Public Function HexCharsToString(ByVal strHexChars As String)As String

'from"31"to"1"

Dim ascEncode As ASCIIEncoding=New ASCIIEncoding

strHexChars=NormalizeHexChars(strHexChars)

Return ascEncode.GetString(HexCharsToBytes(strHex-Chars))

End Function

8 字节数组与普通字符串转换

字节数组与普通字符串之间的转换,即表.1中16进制字节序列与普通字符串之间的转换,例如,将16进制字节4142转换为字符串“AB”。BytesToString方法实现字节数组到普通字符串之间的转换,首先调用BytesToHexChars方法将字节数组转换为16进制字符串,然后,调用HexCharsToString方法将16进制字符串转换为普通字符串。当然,也可以通过For循环逐个字节转换为普通字符,然后进行累加。

Public Function BytesToString(ByRef bData()As Byte)As String

Dim strHexChars As String

strHexChars=BytesToHexChars(bData)

Return HexCharsToString(strHexChars)End Function

StringToBytes方法实现普通字符串到字节数组之间的转换,首先调用StringToHexChars方法将16进制字符串转换为字节数组,然后,调用HexCharsToBytes方法将16进制字符串转换为字节数组。

Public Function StringToBytes(ByVal strVal As String)As Byte()

Dim strHexChars As String

strHexChars=StringToHexChars(strVal)

Return HexCharsToBytes(strHexChars)End Function

9 普通字符串与Unicode字符串转换

计算机只是处理数字,指定一个数字来表示并储存字母或其它字符。在创造Unicode之前,有数百种指定这些数字的编码系统。没有一个编码可以包含足够的字符:例如,仅欧州共同体就需要好几种不同的编码来包括所有的语言。即使是一种语言,例如英语,也没有哪一个编码可以适用于所有的字母、标点符号和常用的技术符号。

这些编码系统也会互相冲突。也就是说,两种编码可能使用相同的数字代表两个不同的字符,或使用不同的数字代表相同的字符。任何一台特定的计算机(特别是服务器)都需要支持许多不同的编码,但是,无论什么时候,数据通过不同的编码或平台之间,那些数据总会有被损坏的危险。

Unicode的出现改变了这一切。Unicode是一个16位的字符集,给每个字符提供了一个唯一的数字,可以移植到所有主要的计算机平台并且覆盖几乎整个世界。它也是单一地区的,不包括代码页或者其他让软件很难读写和测试的复杂的东西。现在,还没有一个合理的多平台的字符集可以和它竞争。Unicode标准已经被这些工业界的领导们所采用,例如:Apple,HP,IBM,JustSystem,Microsoft,Oracle,SAP,Sun,Sybase,Unisys和其他许多公司。最新的标准都需要Unicode,例如XML,Java,ECMAScript(JavaScript),LDAP,CORBA 3.0,WML等等,并且,Unicode是实现ISO/IEC 10646的正规方式。许多操作系统,所有最新的浏览器和许多其他产品都支持它。Unicode标准的出现和支持它工具的存在,是近来全球软件技术最重要的发展趋势。

将Unicode与客户服务器或多层应用程序和网站结合,比使用传统字符集节省费用。Unicode使单一软件产品或单一网站能够贯穿多个平台、语言和国家,而不需要重建,可以将数据传输到许多不同的系统而无损坏。

9.1 普通字符串转换为Unicode字符串

StringToUnicodeHexChars方法实现普通字符串(可以包含汉字)到Unicode字符串之间的转换,第二个可选参数默认高字节在前,这适用于中文短信的编码。得到字节数组后,调用BytesToHexChars方法转换为16进制字符串。

Public Function StringToUnicodeHexChars(ByVal strVal As String,_

Optional ByVal bigEndian As Boolean=True)As String

'Big Endian:from"1春"to"00316625",for GSM Modem short message service.

'Little Endian:from"1春"to"31002566"

Dim ucEncode As UnicodeEncoding=New UnicodeEncoding(bigEndian,True)

If strVal.Length=0 Then Return""

Dim nBytes()As Byte=ucEncode.GetBytes(strVal)

Return BytesToHexChars(nBytes)End Function

如果将纯英文字符串转换为Unicode字符串,就会造成空间浪费。因而,该编码方法主要针对字符串中含有汉字的情况。

9.2 Unicode字符串转换为普通字符串

UnicodeHexCharsToString方法将Unicode字符串转换为普通字符串,例如,从“00316625”转换为“1春”。其基本原理是先调用HexCharsToBytes方法转换为字节数组,然后,调用UnicodeEncoding对象ucEncode的GetString方法转换为普通字符串。

Public Function UnicodeHexCharsToString(ByVal strHexChars As String,_

Optional ByVal bigEndian As Boolean=True)AsString

'Big Endian:from"00316625"to"1春"

'Little Endian:from"31002566"to"1春"

Dim ucEncode As UnicodeEncoding=New UnicodeEn-coding(bigEndian,True)

strHexChars=NormalizeHexChars(strHexChars)

If 0=strHexChars.Length4 Then Return""

Dim nBytes()As Byte=HexCharsToBytes(strHex-Chars)

Return ucEncode.GetString(nBytes)End Function

1 0 随机字节(数组)的生成

随机字节可以用于博彩和计算机仿真。随机字节也可用于抓阄,应用程序不断产生随机数,按键以后停止生成,最后一个随机数就是抓阄的结果。如果需要产生若干随机字节,来模拟计算机监控系统中的采样数据,则可以通过GetRandomBytes方法来完成。该方法的参数nCount表示产生随机字节的数量,结果返回一个随机字节数组。GetRandomBytes方法调用Random对象的NextBytes方法来产生随机字节数组,并填入NextBytes方法的参数中。

Public Function GetRandomBytes(ByVal nCount As Integer)As Byte()

Dim rnd As New Random

Dim BytesBuffer()As Byte

If nCount<1 Then nCount=1

ReDim BytesBuffer(nCount-1)

rnd.NextBytes(BytesBuffer)

Return BytesBuffer End Function

如果在即时窗口中输入GetRandomBytes(5),将输出一个拥有5个随机字节的数组。

1 1 字节的位操作与二进制转换

在汇编语言中,对一个字节中的指定位进行测试、置位或复位,是一种基本技巧。在计算机监控系统中,常用1表示开关闭合,0表示开关打开(反之也可),因而,测试开关状态是通过位测试进行的,控制开关闭合和打开则是通过对控制字节置位和复位进行的。

1 1.1 字节的位操作

CheckByteBit方法测试字节中的某一位是否为1,第一个参数bData是需要测试的字节,第二个参数nBit表示第几位。bTmp将n Bit位置1,然后,bData和bTmp相与(And),如果结果不等于0,则返回True,表示nBit位为1;否则,返回False,表示nBit位为0。

Public Function CheckByteBit(ByVal bData As Byte,ByVal n Bit As Integer)As Boolean

Dim bTmp As Byte

Dim bResult As Byte

If nBit>7 Or nBit<0 Then Return False

bTmp=2^nBit

bResult=bData And bTmp

If bResult<>0 Then

Return True Else

Return False End If

End Function

SetByteBit方法利用或运算(Or)给nBit位置位,并返回置位后的字节。

Public Function SetByteBit(ByVal bData As Byte,ByVal nBit As Integer)As Byte

Dim bTmp As Byte

If nBit>7 Or nBit<0 Then

Return bData End If

bTmp=2^nBit

Return bData Or bTmp End Function

ResetByteBit方法使得nBit位复位,并返回复位后的字节。如果一个字节的某位为0,其他位为1,那么,这个字节与其他字节相与,即可使得该位复位,且其他位不受影响。ResetByteBit方法首先通过异或生成这样的一个字节,并保存到bTmp中,然后,利用bTmp与bData相与,即可得到期望的结果。

Public Function ResetByteBit(ByVal bData As Byte,ByVal nBit As Integer)As Byte

Dim bTmp As Byte

If nBit>7 Or nBit<0 Then

Return bData End If

bTmp=(2^nBit)Xor&HFF

Return bData And bTmp End Function

1 1.2 二进制转换

为了查看一个字节中1和0的具体情况,需要将字节转换为二进制字符串进行显示;如果用户提供8位二进制字符串,也应该能够转换为一个字节进行处理。ByteToBinaryString方法实现将一个字节转换为二进制字符串的功能,主要在一个For循环中调用CheckByteBit方法从高位到低位进行逐位检查,如果为1,就累加“1”;如果为0,就累加“0”,最后返回结果。

Public Function ByteToBinaryString(ByVal bData As Byte)As String

Dim strResult As String=""

For I As Integer=7 To 0 Step-1

If CheckByteBit(bData,I)Then

strResult&="1"Else

strResult&="0"End If

Next I

Return strResult End Function

BinaryStringToByte方法实现将8个二进制字符串转换为一个字节的功能。J是二进制字符串strBinary的索引号,从0开始依次截取二进制字符存入strChar中。For循环从7到0,如果strChar中包含非二进制字符,说明strBinary是一个错误的二进制字符串,就直接返回0;如果strChar为“1”,则存放结果的bResult与该位的权值相加,最后返回bResult即可。

Public Function BinaryStringToByte(ByVal strBinary As String)As Byte

Dim bResult As Byte

Dim J As Integer=0

Dim strChar As String

If strBinary.Length<>8 Then Return 0

For I As Integer=7 To 0 Step-1

strChar=strBinary.Substring(J,1)

Select Case strChar

Case"0","1"

If strChar="1"Then

bResult+=2^I End If

Case Else

Return 0End Select

J+=1Next I

Return bResult End Function

1 2 结语

详细实现了通用数据的编码与处理技术,涉及字节(数组)、普通字符、16进制字符串、Unicode等之间的相互转换。最后,介绍了随机字节(数组)的产生方法与用途,以及字节的位测试、置位和复位操作。数据处理技术来源于多个工程项目的经验总结,由于篇幅所限,没有给出测试效果。这些技术是中文短信平台、中日韩语言编码和计算机监控系统等工程项目中的关键技术,也是数据传输、加密解密等领域的重要基础,应用非常广泛。

参考文献

[1]马玉春.数据的表示与转换[J].专家论坛.电脑编程技巧与维护,2007.1.

篇6:数据交换与信息共享在广西的实践

交流和网上服务的要求逐步提高,一些异构政务系统间的信息交换与共享问题,迫切需要获得良好解决途径。笔者在广西开展电子政务建设、推进政务服务跨系统、跨部门、跨地域数据交换、信息共享和业务协同中作了一些研究和实践,取得了一些经验。

业务需求与难点分析

广西在推进一服务两公开信息化中,数据交换和信息共享需求较为迫切地体现在以下三个方面:

一是自然人(人口)基础性数据和信息共享需求。在人口领域,各部门的人口信息库存在着多头采集、重复采集、信息一致性差等问题,特别是人员的死亡、失踪、出境定居等带来的户籍注销和变更的信息无法及时共享,急需通过整合公安、劳动、教育、民政、计生、司法、残联、老龄等部门人口信息,进行数据交换和共享,以便各级各部门统筹资源,更好的提供社保、司法、医保、计生、教育培训等公共服务。

二是法人基础性数据交换和共享需求。在社会管理公共服务方面,与法人相关的数据使用频率很高,在实际业务中,工商、税务、质监等部门在企业管理方面建有各自的业务系统和企业信息数据库,存在着独立运行、无法实现共享等问题,造成单部门掌握信息不完整,影响了监管和服务水平的提升,急需建立企业(法人)基础信息数据交换和共享,确保企业基础信息的准确、完整、一致,优化企业登记数据流程,减少企业重复填报,提高政府部门的监管水平和服务水平。

三是部门联合发文、并联审批等管理和服务行为需要进行数据交换和信息共享。政府在服务和管理中,相当一部分工作需要多个部门相互配合才能有效推进,如联合发文需数据信息能在部门间流转;并联审批需通过审批信息在部门之间交换,实现审批业务调度,推进跨部门协同审批办事,实现“一门受理、协同处理”。

电子政务要朝纵深发展,必须解决部门间信息数据不一致、共享程度低等问题,目前难点主要在于:

一是电子政务应用无操作性的细化标准。国家陆续出台的一系列电子政务方面的标准,大都是“关于标准的标准”,描述的是以怎样的技术和规范来做标准,即标准框架。标准框架是指导标准本身建设的,标准本身的内容才是指导信息系统项目建设的实质。信息资源整合是当前电子政务建设的主要矛盾,有标准框架而无应用标准是无法实现信息资源整合的。

二是需要建立电子政务核心组织枢纽。在各级政府大力推进电子政务建设的同时,大量存在各自为政、多头管理的问题,各地区在电子政务建设中普遍缺乏统筹组织、统一规划和集中管理,导致各级政府之间、政府各部门之间无法实现资源共享和有效协同,无法释放电子政务的潜能和体现其价值。电子政务分散建设模式和分部门管理方式本身,成为阻碍电子政务发展的重要瓶颈。

三是需要建立和完善电子政务绩效管理机制。目前电子政务重建设、轻维护的现象仍然相当突出,电子政务绩效管理体系缺失,电子政务建设实际处于一种监督缺失状态,电子政务资金投入后,难以说清其建设是否达到了预期效果。

基于数据交换和信息共享的政务服务信息化实践

广西在推进政务服务政务公开政府信息公开信息化建设中,不断深化政务信息资源在部门之间共享,逐步实现政务信息资源管理的集约化、规范化、更新制度化、共享普遍化,促进政府行政能力和服务水平的提升。

(一)明确牵头和组织实施机构

为加强组织领导,广西先后成立了广西壮族自治区政务服务工作领导小组、广西壮族自治区政务公开工作领导小组、广西壮族自治区政府信息公开工作领导小组,实行三块牌子一套人马的机制,并明确其作为信息化的牵头单位,负责指导全区政务服务政务公开政府信息公开信息化建设,实行全区统一规划,突出顶层设计,以信息共享、互联互通、业务协同为原则,逐步将一服务两公开信息化建设由传统型的碎片式、项目式的发展方式,向集约化、效能型的发展方式转变。

(二)建立标准规范,共建数据交换和信息共享平台

解决“信息孤岛”问题、促进资源共享和业务协同,统一标准规范是关键。2006年国家信息化工作领导小组发布的《国家电子政务总体框架》(国信〔2006〕2号)中提出,将政务信息资源目录体系与交换体系列为电子政务基础设施,以支持政务信息资源的共享交换。

广西以“参照、设计、整合”为出发点,从政务信息资源目录内容建设、标准规范制定、目录系统建设和管理制度制定等多方入手,启动了电子政务信息共享交换标准规范体系的建设工作。其中,政务信息资源编码作为规范体系建设的核心工作,在参照国家标准和国际相关标准的基础上,采用9位字母和数字作为前段、不定长字符串作为后段的两段码格式,对政务信息进行编码,编码形式如图所示。

各级各部门在梳理制作本单位政务信息资源目录的基础上,依照统一编码规范为政务信息资源赋予唯一标识符,以方便信息的采集、监管和使用。目前,依托编码规范,广西统一规范了政府信息公开、政务服务审批事项、政府网站信息内容保障等政务信息资源的编码方案,为进一步深化全区政务服务、政务公开和政府信息公开工作,起到了良好的推动作用。

与此同时,广西积极研究探索建立覆盖全区各级各部门业务系统的电子政务信息资源共享交换平台,平台以统一的政务信息资源编码规范、统一的信息共享交换模式、统一的信息管理方式为基础,引入数据字典概念,各级各部门在共享交换平台上注册并公布本单位政务信息资源目录和按规则编码编制的信息资源码表,信息需求者想要获取信息时,需按照信息提供方码表向其提交所需信息编码,信息提供方解析编码并从前置交换信息库中查找所需共享信息,以XML标准文档格式通过信息交换系统传递给使用者。

在具体交换共享过程中,根据信息共享范围可将应用模式划分“公共信息共享模式”和“部门信息交换模式”。其中,公共信息共享模式是指将需要长期定时定期交换的信息存储在前置共享信息库中,信息需求方通过信息码表识别共享信息,采用数据交换系统和数据自动获取的方式,实现业务系统对基础数据从“重复录入”向“核对读入”的转变,实现所有用户访问和下载。如下图:

“部门信息交换模式”交换的政务信息按照“按需交换”的原则,在指定的或事先约定的部门之间进行交换的信息,信息在传输交换过程中需要共享交换平台对交换信息内容进行加密,同时根据信息提供方的设定范围,判定信息需求方是否有权限获得所需信息。“部门信息交换模式”又可划分为“协同交换”和“请求交换”两种模式。“请求交换模式”需要信息需求方根据信息码表发送请求,经共享交换平台验证后方可传递请求到信息提供方,信息提供方通过解析请求中的信息编码回送反馈信息,见下图。

与“请求交换模式”中信息需求方主动提出交换申请不同,“协同交换模式”不需要上图中①—⑤的过程,信息提供方需主动提供交换信息,并将交换时限纳入电子监察,在规定时间内, 对外交换的信息仍未发送,电子监察系统就会督促信息提供方尽快发送信息,该种模式主要应用在多部门应用系统的协同办公中。

(三)建立基于业务协同的数据交换和基于审批结果的信息共享

为加强全区政务服务信息共享工作的组织领导,推动全区各级各部门行政审批和政务服务事项信息共享,2011年自治区人民政府决定成立自治区政务服务信息共享和窗口服务扁平化工作领导小组,负责组织、指导、协调、监督全区政务服务信息共享和窗口服务扁平化工作。并于同年针对全区各级各部门行政审批业务需求,联合自治区人力资源和社会保障厅、自治区商务厅、自治区工商行政管理局、自治区质量技术监督局等多个部门,整合政务服务资源,实现了“全区高级职称信息”、“全区参保人员社保信息”、“全区外商投资企业注册登记信息”、“工商企业注册登记信息”、“全区组织机构代码证信息”等信息资源的全区政务服务试点共享工作。

自治区政务服务信息共享试点单位通过前置机方式,提供完整、准确、实时更新的项目信息作为自治区政务服务信息共享数据信息。全区各级政务服务中心窗口在办理行政审批事项时,可以通过自治区政务服务业务通用软件的“信息共享”功能实现共享校验,从而减少申请人提交材料,降低审批工作强度,提高审批工作效率。

(四)建立数据交换和信息共享评估机制,纳入绩效考核

随着“一服务两公开”信息化工作的推进,广西依托全区统一的绩效考核体系,对“一服务两公开”信息化项目建设单位、共建部门进行考核,细化考评指标,不断完善、创新信息化建设绩效考核方式方法,使考核工作制度化、常态化。以制度机制来规范和引导“一服务两公开”数据交换和信息共享,把绩效评估结果与政府部门业绩挂钩,发挥绩效评估的正面导向作用,更好地控制和引导一服务两公开信息化的发展方向,提高建设实效,避免重复建设,保证“一服务两公开”数据交换和信息共享目标的实现。

篇7:海岸线数据共享分类编码与数据结构

数据压缩一般分为两大类, 无损数据压缩和有损数据压缩[1]。无损数据压缩指在解码后可以无失真的恢复出原始数据, 不会丢失信息;有损数据压缩允许在解码后的数据与原始数据存在一定的误差。下面将主要研究无损数据压缩。

无损数据压缩技术的发展从最初的单纯的熵编码, 发展到今天, 出现了很多新的压缩方法[2]。现在比较常见的数据压缩方法有:

1.1 Huffman编码

Huffman编码是1952年由D.A Huffman在《论最小冗余度代码的构造》论文中提出, Huffman编码由于完全按照字符出现的概率构造编码, 但存在没有错误保护功能和需要缓存区较大等局限性, 效率不高。

1.2 算数编码

算数编码压缩也是一种基于统计模型的压缩方案, 由Elias提出, 在80年代发展起来的一种熵编码方法。和Huffman编码不同的是, 算数编码不用单个信源符号去映射一个码字, 而是将整条输入序列映射成为[0, 1) 区间内的一个小区间, 该序列的概率就等于区间的长度;实际的编码输出是从上述小区间内选择一个代表性的二进制小数, 这就实现高效编码的目的。不足的是实现较为复杂。

1.3 LZ编码

LZ编码是字典编码的英文简称, 是一种基于字典方法的数据压缩技术。是1970年代末由两位以色列科学家Jacoh Ziv和Abraham Lempel提出, 现在由LZ编码衍生出来的算法很多, 比较著名的有LZ77、LZ78、LZS、LZW等, LZ字典编码与基于统计的数据压缩技术不同, 前者既不使用变长码, , 也不使用统计模型, 使有的是字符串, 利用字典将需要的字符串进行编码形成一个标识, 字典保存这些字符串及其标识。字典保存的字符串既可以是静态的, 也可以是动态的 (自适应的) 。静态字典是固定的, 添加字符串是允许的, 但删除是不允许的;而动态字典中的字符串是先前输入流中出现过的, 当读取新的字符串时, 允许字符串的添加或删除。字典编码以压缩效果好和实现方法简单的优势, 得到人们的一致认可。

但是, LZW压缩算法也存在着一些不足之处:

(1) 在LZW算法中, 字典的初始化需要按照ASCLL码表, 消耗256个左右的字典词条数, 而实现字典的寻址, 至少需要9位的地址位去表示相应的词条位置, 需要消耗大量的码字。这样的初始化过程中浪费了大量的字典容量, 直接导致输出码长的浪费, 严重降低最终的压缩比。

(2) 传统的LZW算法在执行过程中, 字典的生成和查找是基于顺序插入和检索模式, 当需要处理的数据量较大时, 会导致生成的字典项较多, 严重降低查找效率;同时, 通过顺序检索模式浪费了大量的算法执行时间, 无法充分利用数据之间的局部相关性, 降低算法的执行效率。

(3) 传统的LZW压缩算法采用8位数据输入, 固定长度编码输出, 随着字典内容的不断增多, 输出编码的位数不断增加, 固定的输出编码长度造成资源的浪费, 系统的压缩率下降。

本文对LZW算法进行相应改进, 实现了高效数据压缩, 提高了压缩性能。

2. 改进的LZW方法

2.1对于字典初始化的方式, 由于在语音识别中使用的更多的是16进制的数据, 因此, 对于字典的初始化, 只需要将16进制数进行字典的初始化, 不需要将所有的ASCLL字符全部初始化。

2.2LZW压缩算法的执行速度依赖于字典查找的速度。在LZW压缩算法中, 若直接检索字典, 编码的速度很低, 同时时间复杂度较高, 为O (n2) 。因此, 选择一种效率较高的字典存储和遍历索引的方式是提高LZW编码效率的主要途径。为了提高字典的存储和索引效率, 引入散列表 (Hash Table) 来存储字典, 只需通过关键字就可以确定结点的存储位置, 这样能有效提高字符串表的检索效率。

2.3为了提高编码的效率, 采用可变长度的编码方法。在系统中, 使用的可变编码位数从8位开始, 当编码长度超过了8位的表示范围, 则自动增加到9位编码, 依次递增编码位数。但增加编码位数使得算法性能和执行效率都受到影响, 因此, 设定编码长度的最大范围为12位, 当编码超出12位 (4096) 表示范围, 需要重新开始字典的生成和编码。

2.4当词条数目过多导致字典容量饱和时, 需要重新生成字典, clear操作会严重影响压缩编码的压缩比和执行效率, 因此, 为了解决传统的LZW编码压缩效率低的问题, 现作出以下改进:

当字典中串表填满之后, 不立即输出clear信号, 删除字典表, 而是继续输入一定长度的数据流, 使用现有的字典表表对其进行压缩编码, 同时计算出这时被压缩的数据流的压缩比, 如果所得到的压缩比较低, 满足系统要求即Rn≤Ro (其中Rn为当前计算的压缩比, Ro为系统给定的一个阀值) , 则继续先前的操作;如果所得到的压缩比Rn>Ro时, 表示现在的字典表无法满足当前数据压缩的要求, 则进行删除和重建字典表的操作。这样可以有效抑制那些突发的数据对整体压缩性能的影响, 使得系统不会由于一些数据毛刺的影响导致多次删除和重建字典表, 提高了LZW压缩算法的压缩比和执行效率。

改进的LZW编码算法的软件流程图如下图1所示:

可以通过流程图看出, 改进的LZW编码方式主要在添加新词条字符串时, 需要判断码长是否满足要求, 同时当系统码长达到最大, 即12位码长之后, 是否输出clear信号需要通过判断一段数据流的压缩比后决定。

3. 算法的压缩比性能仿真

在对算法性能测试时使用系统中需要存储的数据, 分别使用改进的LZW算法和传统LZW算法在不同输出码长情况下进行数据压缩, 得到部分节点的输出数据, 再将这些点的数据通过MATLAB以线图形式输出, 得到对于改进的LZW压缩算法的性能通过与传统LZW编码方法分别通过8位码长和12位码长输出的压缩比性能比较数据图如图2所示, 其中压缩比的定义为:

4. 结论

在图2中可以看出, 改进型LZW算法的压缩比小于传统的LZW算法, 实测结果表明, 对于传统的LZW压缩算法, 在选择输出码长为12位时, 在文件较大时, 压缩性能优于8位输出的LZW算法, 但是压缩数据较小时, 压缩性能较差;传统的LZW算法在压缩过程中, 压缩比在更新字典起初有明显上升, 而在改进型LZW算法中, 在字典更新过程中压缩比明显改善, 提高了约8%。

摘要:分析了传统LZW编码算法的不足, 根据语音数据的特点, 对传统LZW编码数据压缩算法进行了改进, 将字典初始化为16位, 采用散列法和拉链法进行词条检索, 采用阈值判断和LRU淘汰机制改进条目更新的方式, 编码时采用自适应变码长方式。经测试, 相比于传统LZW编码数据压缩算法, 改进的算法对不同码长的数据的适应性更好, 并且压缩比提高了约8%。

关键词:数据压缩,LZW,字典

参考文献

[1]卢开澄, 卢华明.编码理论与通信安全[M].北京:清华大学出版社.2006.

[2]赵楠.航电数据压缩及传输算法研究.2011.1西安电子科技大学硕士学位论文.

[3]David Salomom.Data Compression and The Complete Reference[M].北京:电子工业出版社.2005.

篇8:海岸线数据共享分类编码与数据结构

关键词:国家教育管理信息系统;数据共享;研究;实践

中图分类号:TP315 文献标志码:B 文章编号:1673-8454(2016)07-0021-03

引言

经过多年的教育信息化建设,全国机构、学生、教师、校舍等基础数据库基本形成。按照《教育管理信息化建设与应用指南》中 “核心系统国家建、通用系统上级建、特色系统本级建”的要求,下一阶段教育管理信息化建设的重点是教育机构(学校)对各级各类教育管理信息系统的广泛应用和数据价值的深度挖掘。在建设过程中,要实现国家教育管理信息系统数据的有效共享和业务的高效对接,避免新的应用孤岛和数据孤岛。

一、国家教育管理信息系统数据共享的需求

国家教育管理信息系统具有整体和综合优势,教育机构(学校)要依托各类教育基础数据进行深度应用。

1.自建业务系统数据整合的需求

通过对基层信息系统建设情况调研,我们发现各级教育机构(学校)基本上都存在早期建设但仍在使用的各类业务管理信息系统。由于历史原因,自建业务系统间没有统一的信息标准与技术规划,部分自建业务系统功能与国家教育管理信息系统相同,基础数据分散、重复、孤立。数据重复采集、数据不一致等问题造成工作效率低下,同时教育管理对数据依赖程度越来越高,只有通过系统间数据共享才能解决基层管理信息系统建设中遇到的问题。

2.数据统计分析和决策支持的需求

目前教育统计数据主要还是依靠人工从各业务管理信息系统查询相关数据后录入统计系统并上报,原始数据的来源多,时间节点又不一致,客观上对统计数据的质量带来影响。深化教育领域综合改革的各项举措需要全面准确的基础数据与大数据分析支持,这就要求各级教育机构(学校)以管理信息系统及基础数据库为依据,进行跨系统的综合数据分析。

3.教育管理模式创新的需求

云计算、物联网、大数据等现代技术正在慢慢改变人们的生活、工作和思维方式。大数据时代,只有让教育机构(学校)整合中央和省级教育数据中心资源,共享各类最新教育基础数据,深度挖掘数据的价值,才能适应快速变化的社会需求,才能推动教育管理与教育教学的深度融合,促进教育教学管理模式创新。

二、国家教育管理信息系统数据共享的支撑平台

凡通用系统和特色系统需要使用国家教育管理信息系统基础数据(如学生、教师等信息),教育机构(学校)可通过教育基础信息数据库管理与服务平台(以下简称“基础库平台”)和国家核心业务系统融合与开放共享平台(以下简称“开放共享平台”)获取相关数据。

1.教育基础信息数据库管理与服务平台

基础库平台部署在教育部和省级数据中心,基础库管理由教育部制订统一的指标体系、数据源信息和抽取模型并通过交互下发到省级,省级将部级下发的元数据进行装载,同时可以根据需要进行扩展和调整。基础库将业务系统之间联系起来,作为统一数据出口,解决不同业务系统之间数据需求。通过基础库平台可实现省级数据中心内国家教育管理信息系统间及国家教育管理信息系统与省级自建业务系统间的数据共享。

基础库平台首先从国家各业务系统抽取一份原始的数据保存到基础库,在基础库中对元数据进行统一描述和管理,形成一份完整的原始数据;然后将各阶段原始数据进行清洗,按照一定的规则,将学生基本信息、状态,教职工基本信息、状态,学校基本信息等主数据进行集成,形成以学生、教师、学校为主线的主数据;原始数据、集成的主数据、归档数据都会作为基础库的数据资源。基础库平台根据业务系统数据共享的需求,按照一定同步规则,将数据推送到各业务系统的前置库中,各业务系统根据基础库提供的数据共享方式从前置库中获取本系统需要的共享数据。

2.国家核心业务系统融合与开放共享平台

开放共享平台由管理平台、服务平台、共享终端的软件系统和基础支撑设施组成。管理平台部署在教育部,通过对数据开放权限控制、数据安全体系构建、数据同步服务策略等方式对服务平台及数据共享服务进行管理,各级管理机构可登录分平台使用。服务平台部署在省级数据中心,从省基础库平台中获取数据并为各级教育机构(学校)提供数据服务,是数据融合共享服务的具体实现部分。共享终端部署在省级以下教育机构(学校),负责为扩展应用提供安全的数据共享通道。网络、安全等基础运行环境由各级教育机构(学校)按照相关技术要求准备。

开放共享平台是省级以下教育机构(学校)进行国家教育管理信息系统数据扩展应用的唯一渠道,教育机构(学校)可以通过共享终端及数据安全通道访问权限范围内国家教育管理信息系统的数据。同时,教育机构(学校)还可以根据开放共享平台接口规范与各级通用系统对接,共享通用系统基础数据。通过开放共享平台提供集成的管理信息服务,实现教育部、省、市、县(区)、学校信息系统的贯通和数据共享,便于各级教育机构(学校)基于国家教育管理信息系统开系统应用。

三、国家教育管理信息系统数据共享的实践

2015年10月教育部在福建省开展基础库平台试点,试点工作包括基础库平台部署和平台应用培训。试点工作结束后,我们立即启动了《福建省免费教科书征订核算系统》数据共享的建设工作。

1.基本情况

《福建省免费教科书征订核算系统 》是2013年上线的本地通用系统,主要功能是对免费教科书征订、发放、核算、循环使用等环节进行管理。系统中每个学校享受免费教科书的学生数,由系统管理员每隔半个月从全国中小学生学籍系统中导出,再手工导入免费教科书系统进行批量更新,学校不能更改。学生的学籍每天都在动态变化,由于学生信息未能实时共享,免费教科书系统中学生数无法反应实际情况,学校的免费教科书核算工作常受此问题的困扰,使工作效率大大降低。

2.建设过程

(1)需求分析

免费教科书系统需要共享的数据表包含学校代码、学校名称、年级名称、在校学生数字段,同时为了保证数据同步,共享数据表中还要增加时间戳标识字段和读取标识符字段。需共享的数据从基础库平台的中小学生基础库中学校信息表、学生信息表、年级信息表中抽取,基础库平台每天在基础库数据更新后将所抽取的共享数据推送到前置库的共享数据表。免费教科书系统每天定时读取前置库的共享数据表实现数据共享。

(2)共享数据表的创建及注册

考虑到共享数据的安全性和可扩展性,在数据库服务器上单独创建一个实例作为省级自建业务系统的前置库。在实例中创建共享数据表及用户,并给用户赋于读写的权限。登录基础库平台,对前置库(省级自建业务系统)进行注册,进行测试连接并获取共享数据表信息。

(3)数据整合模型设计

在基础库平台上创建数据共享任务(免费教科书系统在校生数),任务的数据源为基础库和前置库。创建数据共享任务的新业务(分年级在校生数抽取),业务类型为抽取类,并在数据共享任务中引用该业务。

利用数据整合设计器创建新作业(分年级在校生数统计),作业的表输入为中小学生基础库,表输出为前置库的省免费教科书系统数据共享表,数据抽取的SQL语句为:

作业编辑完成后保存并发布到服务器中。在基础库平台将作业(分年级在校生数统计)注册到业务(分年级在校生数抽取)中。

(4)数据整合模型调度

在基础库平台的运行调度管理模块中选择业务(分年级在校生数抽取)并运行,运行配置:业务类型为周期,类型为天,时间为5点。由于基础库数据每天凌晨1点进行增量更新,因此设定每天凌晨5点基础库平台向前置库推送免费教科书系统需共享的数据,并在数据共享表写入时间标识和未读取标志。

(5)共享数据调用

免费教科书系统按照提供的用户名和密码每天定时访问前置库的共享数据表,并根据时间戳标识来判断数据是否有更新。如果有更新,则将更新的数据同步到本系统,同时在共享数据表的读取标识字段写入已读取标志;如果没有更新,则不进行任何操作。

三、建设效果

通过数据共享,免费教科书系统中学校的分年级学生数更新频率由每半个月一次调整为每天一次,基本实现了与全国中小学生学籍信息管理系统数据同步,解决了学校因学生数不准确而造成免费教科书核算数据误差的问题,大大提高了核算的工作效率。同时,数据共享应用又促使学校重视学生的学籍管理工作,及时在全国中小学生学籍管理信息系统中录入学生变动信息,保证系统数据的真实性和准确证。

四、结束语

虽然国家教育管理信息系统数据共享的基础条件已经具备,教育机构(学校)可以通过数据共享进行信息系统深度应用和数据挖掘,但要实现为深化教育领域综合改革的各项举措提供大数据支持的目标,还应出台相应的政策和激励机制来推动此项工作。

参考文献:

[1]蒋东兴.国家教育管理信息系统总体设计[J].中国信息界,2013(12).

[2]方丹丹等.对外经贸大学:高校数据整合实施策略[J].中国教育网络,2014(5).

上一篇:XX镇2014年饮用水源保护工作总结下一篇:高渗药物外渗演练脚本