《一种大型SCL文件的快速处理方法.pdf》由会员分享,可在线阅读,更多相关《一种大型SCL文件的快速处理方法.pdf(5页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN101996251A43申请公布日20110330CN101996251ACN101996251A21申请号201010547304122申请日20101117G06F17/3020060171申请人浙江省电力试验研究院地址310014浙江省杭州市下城区朝晖八区华电弄1号申请人浙江省电力试验研究院技术服务中心72发明人吴俊黄晓明陆承宇楼伯良王松阮黎翔董毅74专利代理机构浙江翔隆专利事务所33206代理人张建青54发明名称一种大型SCL文件的快速处理方法57摘要本发明公开了一种处理大型SCL文件的方法。文档对象模型DOM的性能问题使得利用它来实现的SCL配置工具完全不适用于处理。
2、SCD文件。本发明的特征在于首先将SCL文件全部读入计算机内存,在读入文件的同时,对文件中所包含的节点信息进行分析,找出文件中的节点元素存储其在文件中的相对位置以及节点中数据的信息;在对变电站进行配置的过程中,当设备的添加、更新、删除操作涉及改变SCL文件的内容时,通过SCL缓存控制来实现,缓存控制在内存或磁盘上暂存所有对SCL文件的编辑操作,这些操作在用户保存SCL文件时被写入到原始的SCL文件中。本发明使处理过程计算机资源消耗少,也提升了对大型SCL文件的处理效率。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书2页附图1页CN101996256A1/1页。
3、21一种大型SCL文件的快速处理方法,其特征在于首先将SCL文件全部读入计算机内存,在读入文件的同时,对文件中所包含的节点信息进行分析,找出文件中的节点元素存储其在文件中的相对位置以及节点中数据的信息;在对变电站进行配置的过程中,当设备的添加、更新、删除操作涉及改变SCL文件的内容时,通过SCL缓存控制来实现,缓存控制在内存或磁盘上暂存所有对SCL文件的编辑操作,这些操作在用户保存SCL文件时被写入到原始的SCL文件中。2根据权利要求1所述的大型SCL文件的快速处理方法,其特征在于所述的SCL缓存控制包括载入SCL文件、读取SCL文件和修改SCL文件,载入SCL文件的具体流程如下将原始XML格。
4、式的文件载入内存,生成SCL文件的索引,将XML文件封装到SCL文件中;读取SCL文件的具体流程如下读取SCL文件,首先判断是否存在缓存文件,如果存在,则将缓存和内存中的SCL文件合并读取,如果不存在缓存文件,则只需读取内存中的SCL文件内容;修改SCL文件的具体流程如下如果是第一次修改,则需要首先生成缓存文件,如不是第一次修改,则缓存文件已经存在,此时在缓存中查询是否存在待修改的节点,若存在,则直接修改缓存中的节点内容;若不存在,则在缓存文件中添加新的节点内容,保存修改后的节点内容。权利要求书CN101996251ACN101996256A1/2页3一种大型SCL文件的快速处理方法技术领域0。
5、001本发明涉及与智能电子设备有关的变电站内通信配置描述语言,具体地说是一种处理大型SCL文件的方法。背景技术0002SCL文件是采用变电站内通信配置描述语言SCL来编写的文件,而SCL是以XML做为元语言的。因此,对SCL文件的处理在底层的基本操作上与处理XML有着非常密切的联系。0003目前在MICROSOFTNET平台下访问并操作XML文件主要有两种模型流模型和DOM文档对象模型。流模型通过XMLTEXTREADER类来实现。该类提供XML文件读取的功能并可以验证文档是否格式良好。但其不足之处在于只能以只读、向前的方式访问文件,不能在文件中执行向后导航操作。DOM通过XMLDOCUMEN。
6、T实现。它允许编辑和更新XML文档,可以随机访问文档中的数据。但缺陷在于需要一次性加载整个文档到内存中,对于大型的文档,存在资源消耗高和效率低下等问题。0004SCL文件共有4种类型,其中从系统配置工具到智能电子设备配置工具的数据交换文件SCD文件包含了全部智能电子设备、通信配置和变电站描述等段落内容,其文件体积常达到几十兆且文件中包含数量极多的的XML节点。在对这类文件进行处理时,DOM的性能问题使得利用它来实现的SCL配置工具完全不适用于处理SCD文件。发明内容0005本发明所要解决的技术问题是克服上述现有技术存在的缺陷,提供了一种新的SCL文件处理方法,其以高效、可导航、可操作的方式来处。
7、理SCL文件。0006为此,本发明采用的技术方案为首先将SCL文件全部读入计算机内存,在读入文件的同时,对文件中所包含的节点信息进行分析,由于该分析并不把节点元素当作对象处理,分析的主要工作是找出文件中的节点元素存储其在文件中的相对位置以及节点中数据的信息,其目的是保证文件在读入后可导航。因此整个过程计算机资源消耗少,软件可以对预处理分析后的SCL文件进行方便地导航浏览和查询。0007在对变电站进行配置的过程中,设备的添加、更新、删除等操作涉及改变SCL文件的内容时,通过SCL缓存控制来实现。缓存控制在内存或磁盘上暂存所有对SCL文件的编辑操作,这些操作在用户保存SCL文件时被写入到原始的SC。
8、L文件中。0008本发明通过对SCL文件进行预处理和缓存控制,使得文件处理既具有流模型处理文件快速、资源开销小的优点,又拥有DOM方式可导航可编辑的优势,提升了对大型SCL文件的处理效率,为IEC61850标准在电力系统中的推广起了重要作用。0009下面结合说明书附图和具体实施方式对本发明作进一步说明。附图说明0010图1为本发明的架构图。说明书CN101996251ACN101996256A2/2页40011图24为本发明缓存控制的原理图。0012图5为本发明SCL文件的封装原理图及其与缓存之间的关系图。具体实施方式0013在对变电站进行配置的过程中,设备的添加、更新、删除等操作涉及改变SC。
9、L文件的内容时,本发明通过SCL缓存控制来实现如图1所示,具体的SCL缓存控制步骤如下00141如图2所示,将原始的XML格式的SCL文件载入内存,根据XML节点的信息生成SCL文件的索引,并将索引保存在内存中,定义新的SCL文件对象,将包含索引信息的XML文件封装到新的SCL文件中。00152当用户对SCL文件进行操作时,判断操作类型,针对读取和修改采用不同的操作方式。0016对于读取操作,首先判断是否存在缓存文件。如果存在,则将缓存和内存中的SCL文件合并读取。如果不存在缓存文件,则只需读取内存中的XML文件,如图3所示。0017对于修改操作,如果是第一次操作,则需要首先生成缓存文件。如不是第一次修改,则缓存文件已经存在。此时应在缓存中查询是否存在待修改的节点,若存在,则直接修改缓存中的节点内容;若不存在,则在缓存文件中添加新的节点内容,其中保存修改后的节点内容,如图4所示。说明书CN101996251ACN101996256A1/1页5图1图2图3图4图5说明书附图CN101996251A。