CN100416566C - 一种图片数据存储和读取方法 - Google Patents
一种图片数据存储和读取方法 Download PDFInfo
- Publication number
- CN100416566C CN100416566C CNB2005100890930A CN200510089093A CN100416566C CN 100416566 C CN100416566 C CN 100416566C CN B2005100890930 A CNB2005100890930 A CN B2005100890930A CN 200510089093 A CN200510089093 A CN 200510089093A CN 100416566 C CN100416566 C CN 100416566C
- Authority
- CN
- China
- Prior art keywords
- pel
- client
- primitive data
- record
- concordance list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种图片数据存储和读取方法,包括:A1、服务器端将图片分成若干个基本图元,并将每一个基本图元所对应的图元数据和图元标识下发给客户端;B1、客户端将收到的每一个基本图元的图元数据作为一条记录存储到本地,同时对每条记录生成一个记录标识;并将该记录标识和对应的图元标识存储到一个图元索引表中。当客户端收到服务器端发出的图元显示顺序指令时,执行下列步骤:A2、客户端根据指令中携带的图元标识查询所述图元索引表,获取各图元标识对应的记录标识;B2、根据所述记录获取本地存储的对应图元数据并按指定顺序进行显示。采用本发明方法能加快图片的显示速度。
Description
技术领域
本发明涉及通信领域,尤其涉及网络在线游戏时,客户端对服务器端下发的图片数据进行存储和读取的方法。
背景技术
现有技术中的图片数据,若需要从发送端下发到接收端时,可以采取将整个图片的全部像素值下发到接收端,接收端保存整个图片的全部数据信息并显示。这种下发方式,由于传送的数据量大,如果传送网(或传输线路)带宽有限,有可能造成下发失败或下发时延过长。对于网络在线游戏等需要即时显示出图像的应用场景,这种图像下发/显示方式,由于处理速度较慢,一般不采用。
现有网络游戏中,一般的做法是:将一张大型的图片分成多个基本图元,即图片可以由这些基本图元进行组合而成,例如,服务器端将一张天安门图片分成三个基本图元,假设为图元1、图元2和图元3,该张天安门图片按照图元1、2、3、1的排列方式组成,如图1所示。这样,服务器端向客户端下发该天安门图片时,将该图片所包含的图元1、图元2和图元3的数据信息,再分别加上图元标识(图元名称,用以区分各图元)下发给客户端,并向客户端下发携带图元标识的图元显示顺序指令;客户端存储各图元数据到本地的记录存储数据库中,并根据指定的图元显示顺序从数据库中查找到对应的图元数据后显示出所述图片。
上述方法中,客户端在进行图片显示时,需要在本地数据库中首先查找到图元1存储在数据库中的记录,获取图元1的全部数据信息并显示;然后再在本地数据库中查找到图元2的记录,获取图元2的数据信息并显示;重复上述查找过程,直到找到组成该图片的全部图元为止。这样,当一个图片包含有N个图元时,需要对整个数据库搜索N遍,才能组合出完整的图片,由此可见,在客户端,其图片的创建速度,随数据库记录的增加以及图片的复杂度(包含较多的基本图元)而降低,大大影响用户的业务感受。
发明内容
本发明提供一种图片数据存储和读取方法,用以解决现有技术中存在的客户端创建图片速度慢的问题。
本发明提供的图片数据存储方法,包括:
A1、服务器端将图片分成若干个基本图元,并将每一个基本图元所对应的图元数据和图元标识下发给客户端;
B1、客户端将收到的每一个基本图元的图元数据作为一条记录存储到本地,同时对每条记录生成一个记录标识;并将该记录标识和对应的图元标识存储到一个图元索引表中。
根据本发明的上述方法,客户端将收到的每一个基本图元的图元数据作为一条记录存储到本地图元数据库中或指定的文件系统中。
根据本发明的上述方法,所述图元索引表作为数据库的一条记录存储在数据库中;所述数据库为本地图元数据库或其它数据库。
根据本发明的上述方法,当客户端增加或删除所述图元数据记录时,对应修改所述图元索引表中的相应记录信息。
本发明另提供一种图片数据读取方法,包括:在客户端设置一个图元索引表,在所述图元索引表中存储服务器端下发的图元标识,以及相应图元数据在本地存储的记录标识;当客户端收到服务器端发出的图元显示顺序指令时,执行下列步骤:
A2、客户端根据指令中携带的图元标识查询所述图元索引表,获取各图元标识对应的记录标识;
B2、根据所述记录标识获取本地存储的对应图元数据并按指定顺序进行显示。
根据本发明的上述方法,所述图元数据存储在本地图元数据库中或指定的文件系统中。
根据本发明的上述方法,所述图元索引表作为数据库的一条记录存储在数据库中;所述数据库为本地图元数据库或其它数据库。
根据本发明的上述方法,当客户端增加或删除所述图元数据记录时,对应修改所述图元索引表中的相应记录信息。
根据本发明的上述方法,所述图元索引表还包括有图元数据使用次数或使用频率的附加属性信息。
所述图元数据使用次数或使用频率的具体计算方法为:
当客户端每次读取图元数据时,将该图元数据的使用次数加1;或者
将图元数据的使用次数除以计算时长,得到图元数据的使用频率。
根据本发明的上述方法,客户端将使用次数或使用频率大于设定阈值的图元数据存储到客户端内存中;当客户端收到服务器端发出的图元显示顺序指令时,先查询内存中是否有相应图元数据,若是,则直接从内存中获取相应图元数据并显示;若否,则执行所述步骤A2和步骤B2。
根据本发明的上述方法,客户端实时或周期性判断所存储的各图元数据的使用次数或使用频率,动态更新存储到内存中的图元数据。
本发明有益效果如下:
(1)本发明通过在客户端设置包含图元标识和记录标识的图元索引表,当客户端收到服务器端的图元显示顺序指令时,根据指令中携带的图元标识,查询该图元索引表,得到相应的图元数据在本地的存储记录标识,根据该记录标识迅速定位到图元在本地存储的相应记录,快速获取图元数据进行显示,有效提高图片显示速度。
(2)本发明还对客户端存储的图元数据,记录其使用次数或使用频率,将使用次数多或使用频率高的图元数据调入客户端内存中存储,当需要获取该图元数据时,直接从内存中获取,更进一步提高了响应速度。
(3)本发明方法还对保存在内存中的图元数据进行动态更新,使客户端能根据不同图元在不同时段的使用频率进行灵活设置,更加优化了业务的实现过程,提高了用户的业务感受。
附图说明
图1为现有技术中由基本图元组成图片的结构示意图;
图2为本发明方法中客户端存储图片数据流程图;
图3为本发明的图元索引表结构示意图;
图4为本发明方法客户端读取图元数据显示出图片的流程图;
图5为本发明方法中将使用次数多的图元数据动态存储到客户端内存的流程图。
具体实施方式
本发明提供的图片数据存储方法,具体流程步骤如图2所示,包括:
S11、服务器端将图片分成若干个基本图元,并将每一个基本图元所对应的图元数据和图元标识下发给客户端;
S12、客户端将收到的每一个基本图元的图元数据作为一条记录存储到本地图元数据库中(也可以存储到指定的文件系统中,本实施例以存储到本地图元数据库中为例加以描述),同时对每条记录生成一个记录标识;
S13、客户端将记录标识和对应的图元标识存储到一个图元索引表中。
上述图元索引表的具体结构如图3所示,包括若干条记录,每一条记录至少包括图元标识(可以作为图元索引表的关健字),例如:图元标识1、图元标识2、图元标识3等等;还包括各图元标识对应的属性值,例如:属性值1、属性值2、属性值3等等;与图元标识对应的属性值中至少包括有该图元标识对应的图元数据在本地图元数据库中的存储记录标识(recordID),还可以包括附加属性信息,如相应图元数据的使用次数或使用频率等。
若图元标识1为graph1、图元标识2为graph2、图元标识3为graph3,各图元标识对应的图元数据在本地图元数据库中存储的位置(即记录标识)分别为1000、1001、1002,各图元数据使用的次数分别为100、99、98,则在索引表中存储的内容如下表所示:
关键字(key) | 属性值(value) |
graph1 | (1000,100) |
graph2 | (1001,99) |
graph3 | (1002,98) |
上述图元索引表可以作为本地存储图元数据的数据库的一条记录(也可以作为其它数据库的记录存储),当打开数据库读取该记录时,解析生成该图元索引表。
当在本地图元数据库中插入数据(例如图元标识为graph1的图元数据)时,能得到该条记录在本地图元数据库中的记录ID(例如1000),则向图元索引表中增加相对应的记录,此条记录的key值就是该插入数据对应的图元标识(graph1),value为数据库记录标识(1000)。如果客户端统计了存储的图元数据的使用次数或使用频率,则可将相应的使用次数或使用频率作为该图元的附加属性信息存储到上述图元索引表中。当删除数据(如基本图元)时,根据图元标识首先查询图元索引表,找到对应的数据库记录标识;然后根据记录标识删除本地图元数据库中相应记录信息,同时删除图元索引表中的对应记录。
上述图元数据使用次数或使用频率的具体计算方法为:当客户端每次读取图元数据时,将该图元数据的使用次数加1;或者将图元数据的使用次数除以计算时长,得到图元数据的使用频率。
客户端还可以将使用次数或使用频率大于设定阈值的图元数据存储到客户端内存中,当需要使用该图元数据时直接从内存中获取并显示。
当客户端收到服务器端下发的图元显示顺序指令时,按图4所示流程显示出图片,具体步骤包括:
S21、服务器端下发一个图片所包含的图元显示顺序指令给客户端;
S22、客户端根据指令中携带的图元标识信息,顺序读取图元标识;并首先查询内存中是否存储有当前图元标识所对应的图元数据;若是,则转至步骤S25;否则,执行步骤S23;
S23、客户端查询存储的图元索引表,找到与当前图元标识对应的记录标识,继续步骤S24;
S24、根据找到的记录标识,从本地图元数据库中获取对应的图元数据并显示,同时将该图元的使用次数加“1”,修改图元索引表中记录的该图元的使用次数;执行步骤S26;
S25、客户端从内存中获取当前图元数据并显示,同时将该图元的使用次数加“1”,修改图元索引表中记录的该图元的使用次数;执行步骤S26;
S26、判断当前图片的全部图元数据是否获取完毕,若是,转至步骤S28;否则,执行步骤S27;
S27、读取指令中的下一个显示图元标识,转至步骤S22,重复上述流程步骤;
S28、结束当前图片的显示过程。
由于从内存中读取数据的速度要比从数据库中获取数据快,因此,可以根据客户端的存储能力,预先将使用频度较高的一部分图元数据保存到内存中,以提高图片的显示速度。
对于网络在线游戏类业务,由于各图片的使用频率在不同的时段是变化的,即在一个时段内,A图元的使用次数可能较高,而在下一个时段,B图元的使用次数较高,而A图元的使用次数可能降至很低;为了保证图片能保持较高的显示速度,充分利用内存资源,应动态更新存储到内存中的图元数据。该更新过程可以是实时的,也可以是周期性更新,具体更新流程如图5所示,包括如下具体步骤:
S31、客户端启动内存数据更新流程;
S32、客户端按序读取图元索引表中存储的各图元数据的使用次数(也可以是使用频率,仅以使用次数为例);
S33、客户端判断当前读取的当前图元数据的使用次数是否大于设定的阈值,若是,执行步骤S34;否则,转至步骤S35;
S34、将该图元数据保存到内存中;保留数据库中的相应记录;转至步骤S36;
S35、若当前图元数据原来已存储到内存中,则从内存中直接删除;若当前图元数据仅存储在数据库中,则保持不变;执行步骤S36;
S36、判断图元索引表中存储的全部记录是否已读取完毕(即遍历一次),若是,则执行步骤S38;否则,执行步骤S37;
S37、读取图元索引表中的下一个记录(即下一个图元标识所对应的图元数据的使用次数),转至步骤S33,重复上述流程;
S38、结束本轮内存数据更新流程。
上述内存数据更新流程也可以采用如下方法:
客户端按序读取图元索引表中存储的各图元数据的使用次数(或使用频率),并将其和内存中存储的各图元的使用次数(或使用频率)进行比较,如果本图元的使用次数(或使用频率)高,则将其加入到内存中。为了控制内存中存储的图元数量,当有新的图元需要加入内存时,可以选择删除内存中相对使用次数(或使用频率)偏低的图元。
通过上述具体实施流程的描述可知,本发明通过在客户端设置包含图元标识和记录标识的图元索引表,当客户端收到服务器端的图元显示顺序指令时,根据指令中携带的图元标识,先查询内存中是否存储有相应的图元数据,若有,则调用内存中的图元数据,迅速显示出图片;否则,查询图元索引表,得到相应的图元数据在本地数据库中的存储记录标识,根据该记录标识迅速定位到数据库中的相应记录,快速获取图元数据进行显示,有效提高图片显示速度。
另外,本发明还对保存在内存中的图元数据进行动态更新,将使用次数或使用频率大于预设阈值的图元数据保存在内存中;对于已保存到内存中的图元数据,若本轮检测出其当前时段的使用次数或使用频率已小于所设阈值,则及时从内存中删除,以空出相应内存资源存储当前时段使用频率高的图元数据。因此,客户端能根据不同图元在不同时段的使用频率进行灵活设置,提高了用户的业务感受。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1. 一种图片数据存储方法,包括:
A1、服务器端将图片分成若干个基本图元,并将每一个基本图元所对应的图元数据和图元标识下发给客户端;
B1、客户端将收到的每一个基本图元的图元数据作为一条记录存储到本地,同时对每条记录生成一个记录标识;并将该记录标识和对应的图元标识存储到一个图元索引表中。
2. 如权利要求1所述的方法,其特征在于,客户端将收到的每一个基本图元的图元数据作为一条记录存储到本地图元数据库中或指定的文件系统中。
3. 如权利要求2所述的方法,其特征在于,所述图元索引表作为数据库的一条记录存储在数据库中;所述数据库为本地图元数据库或其它数据库。
4. 如权利要求1所述的方法,其特征在于,当客户端增加或删除所述图元数据记录时,对应修改所述图元索引表中的相应记录信息。
5. 一种图片数据读取方法,包括:在客户端设置一个图元索引表,在所述图元索引表中存储服务器端下发的图元标识,以及相应图元数据在本地存储的记录标识;当客户端收到服务器端发出的图元显示顺序指令时,执行下列步骤:
A2、客户端根据指令中携带的图元标识查询所述图元索引表,获取各图元标识对应的记录标识;
B2、根据所述记录标识获取本地存储的对应图元数据并按指定顺序进行显示。
6. 如权利要求5所述的方法,其特征在于,所述图元数据存储在本地图元数据库中或指定的文件系统中。
7. 如权利要求6所述的方法,其特征在于,所述图元索引表作为数据库的一条记录存储在数据库中;所述数据库为本地图元数据库或其它数据库。
8. 如权利要求5所述的方法,其特征在于,当客户端增加或删除所述图元数据记录时,对应修改所述图元索引表中的相应记录信息。
9. 如权利要求5所述的方法,其特征在于,所述图元索引表还包括有图元数据使用次数或使用频率的附加属性信息。
10. 如权利要求9所述的方法,其特征在于,所述图元数据使用次数或使用频率的具体计算方法为:
当客户端每次读取图元数据时,将该图元数据的使用次数加1;或者
将图元数据的使用次数除以计算时长,得到图元数据的使用频率。
11. 如权利要求10所述的方法,其特征在于,客户端将使用次数或使用频率大于设定阈值的图元数据存储到客户端内存中;当客户端收到服务器端发出的图元显示顺序指令时,先查询内存中是否有相应图元数据,若是,则直接从内存中获取相应图元数据并显示;若否,则执行所述步骤A2和步骤B2。
12. 如权利要求11所述的方法,其特征在于,客户端实时或周期性判断所存储的各图元数据的使用次数或使用频率,动态更新存储到内存中的图元数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100890930A CN100416566C (zh) | 2005-08-05 | 2005-08-05 | 一种图片数据存储和读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100890930A CN100416566C (zh) | 2005-08-05 | 2005-08-05 | 一种图片数据存储和读取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1851692A CN1851692A (zh) | 2006-10-25 |
CN100416566C true CN100416566C (zh) | 2008-09-03 |
Family
ID=37133171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100890930A Active CN100416566C (zh) | 2005-08-05 | 2005-08-05 | 一种图片数据存储和读取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100416566C (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090259623A1 (en) * | 2008-04-11 | 2009-10-15 | Adobe Systems Incorporated | Systems and Methods for Associating Metadata with Media |
US8654134B2 (en) | 2008-12-08 | 2014-02-18 | Microsoft Corporation | Command remoting |
CN101980325B (zh) * | 2010-09-20 | 2012-08-22 | 北京腾瑞万里科技有限公司 | 地图图幅的读取方法及装置 |
WO2012159315A1 (zh) * | 2011-07-05 | 2012-11-29 | 华为技术有限公司 | 显示图片的方法、装置和系统 |
CN103164452B (zh) * | 2011-12-15 | 2016-04-13 | 深圳市腾讯计算机系统有限公司 | 图片存储和读取的方法、装置及系统 |
CN103457973B (zh) * | 2012-06-01 | 2016-04-27 | 深圳市腾讯计算机系统有限公司 | 一种图片上传方法、系统、图片上传客户端及网络服务器 |
CN103852654A (zh) * | 2012-11-30 | 2014-06-11 | 国家电网公司 | 电能质量数据可视化展示方法及装置 |
CN103093413B (zh) * | 2013-01-14 | 2015-08-19 | 北京地拓科技发展有限公司 | 一种遥感影像数据写入及读取的方法和装置 |
CN111694813A (zh) * | 2020-05-08 | 2020-09-22 | 北京明略软件系统有限公司 | 一种数据源管理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001086511A2 (en) * | 2000-05-11 | 2001-11-15 | Lightsurf Technologies, Inc. | System and method to provide access to photographic images and attributes for multiple disparate client devices |
CN1518699A (zh) * | 2002-03-25 | 2004-08-04 | ���ṫ˾ | 信息图像利用系统、信息图像管理装置、信息图像管理方法、用户信息图像、程序、和记录介质 |
US20040215659A1 (en) * | 2001-08-02 | 2004-10-28 | Singfield Christian Robert Mau | Network image server |
-
2005
- 2005-08-05 CN CNB2005100890930A patent/CN100416566C/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001086511A2 (en) * | 2000-05-11 | 2001-11-15 | Lightsurf Technologies, Inc. | System and method to provide access to photographic images and attributes for multiple disparate client devices |
US20040215659A1 (en) * | 2001-08-02 | 2004-10-28 | Singfield Christian Robert Mau | Network image server |
CN1518699A (zh) * | 2002-03-25 | 2004-08-04 | ���ṫ˾ | 信息图像利用系统、信息图像管理装置、信息图像管理方法、用户信息图像、程序、和记录介质 |
Also Published As
Publication number | Publication date |
---|---|
CN1851692A (zh) | 2006-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100416566C (zh) | 一种图片数据存储和读取方法 | |
CN102609488B (zh) | 客户端及其数据查询方法、服务端和数据查询系统 | |
CN101162441B (zh) | 数据的存取装置和方法 | |
CN103885887B (zh) | 用户数据存储方法、读取方法及系统 | |
CN101105773A (zh) | 一种利用缓存实现数据存储的方法和装置 | |
CN105373541A (zh) | 数据库的数据操作请求的处理方法和系统 | |
CN103856516A (zh) | 数据存储、读取方法及数据存储、读取装置 | |
CN100378663C (zh) | 将应用程序动态下载到用户识别模块的方法、系统及模块 | |
CN108363772A (zh) | 一种基于缓存的签到数据存储方法及装置 | |
CN104281717A (zh) | 一种建立海量id映射关系的方法 | |
CN101673217B (zh) | 一种实现远端程序调用的方法和系统 | |
CN1996305A (zh) | 一种数据存储及读取方法及装置以及数据传输系统 | |
CN111178965B (zh) | 一种资源投放方法及服务器 | |
CN101826077B (zh) | 关系联系人记录获取方法及装置 | |
CN112506370B (zh) | 一种基于触控屏实时保存记录方法、设备及存储介质 | |
CN112685329B (zh) | 用于处理数据的方法及相关装置 | |
CN104391947A (zh) | 海量gis数据实时处理方法及系统 | |
CN111752941A (zh) | 一种数据存储、访问方法、装置、服务器及存储介质 | |
CN108228624A (zh) | 数据获取及更新方法、片单服务系统及片单系统 | |
CN108205559A (zh) | 一种数据管理方法及其设备 | |
CN101431429B (zh) | 一种设备中物理实体信息管理方法及设备与设备管理端 | |
CN113420191B (zh) | 数据存储方法和装置、数据查询方法和装置、数据结构、电子设备及计算机可读存储介质 | |
CN113407770A (zh) | 基于redis的云回放索引服务方法及系统 | |
CN113704190A (zh) | 一种数据写入方法以及装置 | |
CN101808134B (zh) | 一种动态内容分发业务数据显示的控制方法及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |