一种实用的嵌入式Web服务器设计
通过以上过程的处理,即可实现对访问权限的控制与管理。
2.3 页面文档管理及生成的功能实现
由于配置环境的需要,设计页面较多,如果将所有页面均存储在Flash上,文件读写的问题将更为突出。为此,本文设计了一个如图5所示的网页页面文件管理结构来对页面文件进行管理。
下面介绍具体处理过程。
首先,对所有页面无论是静态还是动态页面,均建立一个对应的模板文件,并将该模板文件的内容以全局静态字符串的形式直接写在程序中。在系统初始化时对各模板内容的大小进行统计,并按下式对各文件的最大容量进行粗略的估算:
mS=sizeof(pT)×1.2
其中:mS为估算的页面内容最大尺寸,sizeof(pT)则为该页面对应模板的实际大小(以上两者均以字节为单位)。
按上式估算出页面的最大尺寸后,为保证对页面分配内存时空间的连续性,根据所有页面的最大尺寸和,一次性分配一个较大的内存空间,并将该空间按各个页面所对应的最大尺寸依次与该页面对应的管理结构内的文件内容指针相关联。这样,每次因配置的修改导致页面内容发生变化时,仅需对该指针所指向的空间内容进行修改即可,而仅在保存配置数据时,通过配置文件更新函数将其存储在Flash中。这样既避免了为修改页面文件内容而申请内存的操作,又避免了为存储页面内容而频繁进行的Flash读写操作,从而提高了该EWS的效率。
评论